Я получаю «Нераспознанный вариант b:v » при попытке конвертировать видео. Я использую FFmpeg версию SVN-r26402.

Вот мой журнал ошибок:

Raw Conversion Log
Started on 2014-06-29 00:02:02 - 2014 Jun 29 

Checking File .... 
File : /home//public_html/files/conversion_queue/1403982097308ac.mov 
File Exists : Yes 

Preparing file...
format : mov,mp4,m4a,3gp,3g2,mj2 
duration : 8.2 
size : 11501692 
bitrate : 10958 
video_width : 1920 
video_height : 1080 
video_wh_ratio : 1.77777777778 
video_codec : h264 
video_rate : 30.1219512195 
video_bitrate : 10695 
video_color : N/A 
audio_codec : aac 
audio_bitrate : 255 
audio_rate : 44100 
audio_channels : stereo 
path : /home//public_html/files/conversion_queue/1403982097308ac.mov 

Converting Video 
Conversion Command : /usr/local/bin/ffmpeg -i /home//public_html/files/conversion_queue/1403982097308ac.mov -f mp4 -vcodec flv -r 25 -b:v 300000 -s 854x480 -aspect 1.77777777778 -padcolor 000000 -padtop 0 -padbottom 0 -padleft 0 -padright 0 -acodec libmp3lame -ab 128000 -ar 22050 /home/sillysto/public_html/files/videos/1403982097308ac-sd.mp4 2> /home/sillysto/public_html/files/temp/1403982122311e9.tmp 

Детали конверсии

FFmpeg version SVN-r26402, Copyright (c) 2000-2011 the FFmpeg developers
built on Jun 25 2014 09:39:25 with gcc 4.4.7 20120313 (Red Hat 4.4.7-4)
configuration: 
libavutil 50.36. 0 / 50.36. 0
libavcore 0.16. 1 / 0.16. 1
libavcodec 52.108. 0 / 52.108. 0
libavformat 52.93. 0 / 52.93. 0
libavdevice 52. 2. 3 / 52. 2. 3
libavfilter 1.74. 0 / 1.74. 0
libswscale 0.12. 0 / 0.12. 0

Seems stream 0 codec frame rate differs from container frame rate: 1200.00 (1200/1) -> 30.00 (30/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home//public_html/files/conversion_queue/1403982097308ac.mov':
Metadata:
major_brand : qt 
minor_version : 0
compatible_brands: qt 
creation_time : 2014-06-15 15:36:26
Duration: 00:00:08.28, start: 0.000000, bitrate: 11099 kb/s
Stream #0.0(und): Video: h264, yuv420p, 1920x1080, 10908 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc
Metadata:
creation_time : 2014-06-15 15:36:26
Stream #0.1(und): Audio: aac, 44100 Hz, stereo, s16, 258 kb/s
Metadata:
creation_time : 2014-06-15 15:36:26
Unrecognized option 'b:v'
Failed to stat file /home//public_html/files/videos/1403982097308ac-sd.mp4!
Failed to stat file /home//public_html/files/videos/1403982097308ac-sd.mp4!


Unknown file details - Unable to get output video details using FFMPEG 


Time Took : 0.0831 seconds 

conversion_status : failed 

1 ответ1

3

Ваша версия ffmpeg устарела. У вас есть два варианта:

Новые версии распознают b:v как опцию.


Кроме того, вы должны обновить свою команду. Это старый:

ffmpeg -i input.mp4 -f mp4 -vcodec flv -r 25 -b:v 300000 \
-s 854x480 -aspect 1.77777777778 \
-padcolor 000000 -padtop 0 -padbottom 0 -padleft 0 -padright 0 \
-acodec libmp3lame -ab 128000 -ar 22050 output.mp4

Во-первых, вам не нужен -f mp4 . Я также не уверен, действительно ли вы хотите FLV в качестве видеокодека. Это довольно неэффективно. Вы, вероятно, хотите видео MPEG-4 Part II или MPEG-4 AVC. Последний обеспечивает лучшее качество и в настоящее время совместим с HTML5 и большинством устройств. Аудио MP3 также может быть заменено на аудио AAC.

Мы выбираем -c:v libx264 для кодера x264 и используем коэффициент постоянной скорости, чтобы установить качество. 23 по умолчанию, а нормальные значения находятся в диапазоне от 18 до 28. Чем меньше, тем лучше качество. Вы также можете установить постоянный битрейт, например, используя -b:v 500k . Руководство по кодированию x264 дает вам более подробную информацию.

Кроме того, опции -pad* были удалены, и вы должны использовать pad фильтр. Опция -aspect мне не нужна.

ffmpeg -i input.mp4 -c:v libx264 -r 25 -crf 23 \
-s 854x480 \
-vf "pad=width=1920:height=1080:x=0:y=0:color=black" \
-c:a aac -strict experimental -b:a 192k -ar 22050 output.mp4

Если вам нужна совместимость с устройствами, которые не обладают большой вычислительной мощностью, добавьте -profile:v baseline в качестве опции.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .