ffmpeg resize & ldquo; не удалось найти параметры кодека & rdquo;

Я новичок в 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

Есть идеи, чего не хватает?

6
задан 11 March 2013 в 23:09

2 ответа

Вводящая в заблуждение ситуация

В первую очередь, так называемый "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
6
ответ дан 11 March 2013 в 23:09

Что мне помогло, так это измени формат преобразования изображения с 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 ..
0
ответ дан 11 March 2013 в 23:09

Другие вопросы по тегам:

Похожие вопросы: