Я новичок в Ubuntu и нуждаюсь в вашей помощи: (32bit Ubuntu 12.10) Моя команда:
ffmpeg -i ../output_images/particles%04d.png -r 30 -b 30000k final_movie.avi
правильно работает для моих изображений 800x800 * .png, но не с 512x512 * .png. Там я получаю следующее сообщение:
[image2 @ 0x938a100] Could not find codec parameters (Video: png, 512x512)
На кампусных машинах это работает для обоих с одинаковым кодом. Я попытался выполнить команду изменения размера:
for p in *.tga; do convert -resize 800x800 $p $p; done
С этим добавленным, это работает, но у меня есть и 800x800-фильм в конце.
Я уже установил следующие пакеты:
Glut:
sudo apt-get install freeglut3-dev
ffmpeg:
sudo apt-get install ffmpeg
Был " команда curl не найдена "ошибка. Я исправил это с помощью:
sudo apt-get install curl
Был еще один «convert: команда не найдена», и я исправил это с помощью:
sudo apt-get install imagemagick
Есть идеи, чего не хватает?
В первую очередь, так называемый "ffmpeg" из репозитория Ubuntu не действительно ffmpeg из проекта FFmpeg, но поддельной версии от ветвления. Это - запутывающая ситуация. См.:
Во-вторых, эта фальшивка "ffmpeg" (и avconv) ужасно ошибочна. Разработка FFmpeg очень активна, и использование последней версии реального ffmpeg, скорее всего, решит этот вопрос.
ffmpeg
У Вас есть несколько опций:
У каждого есть их преимущества и недостатки, как описано выше.
Просто необходимо загрузить архив, извлечь его и выполнить двоичный файл. Никакая компиляция или установка не необходимы:
wget http://ffmpeg.gusari.org/static/32bit/ffmpeg.static.32bit.2013-06-19.tar.gz
tar xzvf ffmpeg.static.32bit.2013-03-19.tar.gz
Теперь можно использовать его. Можно или перейти к каталогу, содержащему ffmpeg
, и выполненный (замечают предыдущее ./
):
./ffmpeg -i input ... output
... или предоставьте полный путь ему как в:
/home/andy/ffmpeg/ffmpeg -i input ... output
$PATH
Если Вы хотите реальный ffmpeg каждый раз, когда Вы используете ffmpeg
команда, не имея необходимость использовать ./
или необходимость предоставить полный путь двоичному файлу, затем поместите ffmpeg двоичный файл в bin
каталог в Вашем доме:
mkdir ~/bin
mv ffmpeg ~/bin
hash -r
Теперь можно просто работать ffmpeg
и Вы будете готовы закодировать материал. Если Вы хотите использовать другой каталог кроме ~/bin
, затем необходимо будет добавить каталог к Вашему $PATH
как показано в том, Как добавить каталог к моему пути?
Теперь использование ffmpeg
команда должна показать что-то как (отметьте "фразу" разработчиков FFmpeg):
$ ffmpeg
ffmpeg version N-54152-g730e07f Copyright (c) 2000-2013 the FFmpeg developers
Если это покажет следующее затем, то Вы будете знать, что прокляты, и поддельная версия все еще используется (отметьте "фразу" разработчиков Libav):
$ ffmpeg
ffmpeg version 0.8.5-6:0.8.5-0ubuntu0.12.10.1, Copyright (c) 2000-2012 the Libav developers
Что мне помогло, так это измени формат преобразования изображения с png на jpeg. Итак, makemovie.sh должен выглядеть так:
#!/bin/bash
cd output_images
for F in $(ls *.tga);
do
convert -quality 100 $F ${F%.tga}.jpg;
#convert -quality 100 $F ${F%.tga}.png;
rm $F;
echo done with converting $F;
done
cd ..
THISPATH=$(pwd)
export PATH=$PATH:${THISPATH}/ffmpeg/ffmpeg-install/bin/
echo Making the movie now...
cd final_movie
rm final_movie.avi
ffmpeg -i ../output_images/particles%04d.jpg -r 30 -b 30000k final_movie.avi
cd ..