Используя ffmpeg для кодирования от yuv до m4v с кодером MPEG-4

Я пытаюсь закодировать сырые данные yuv файл к m4v следующим образом:

ffmpeg -s cif -r 30 -b 64000 -bt 3200 -g 30 -i akiyo_cif.yuv -vcodec mpeg4 a02.m4v

Но это не работало, и я получил эту ошибку от консольного вывода:

версия ffmpeg 2.4.3-1ubuntu1~trusty6 Copyright (c) 2000-2014 разработчики FFmpeg, созданные 22 ноября 2014 17:07:19 с gcc 4.8 (4.8.2-19ubuntu1 Ubuntu) конфигурация: - префикс =/usr - экстраверсия = '1ubuntu1~trusty6' - суффикс сборки =-ffmpeg - toolchain=hardened - дополнительный-cflags = - дополнительный-cxxflags = - libdir =/usr/lib/x86_64-linux-gnu - shlibdir =/usr/lib/x86_64-linux-gnu - incdir =/usr/include/x86_64-linux-gnu - включает-gpl - включают - совместно использованный - запрещенный разделенный - включает-avresample - включают-avisynth - включают-fontconfig - включают-gnutls - включают-ladspa - включают-libass - включают-libbluray - включают-libbs2b - включают-libcaca - включают-libcdio - включают-libflite - включают-libfreetype - включают-libfribidi - включают-libgme - включают-libgsm - включают-libmodplug - включают-libmp3lame - включают-libopenjpeg - включают-libopus - включают-libpulse - включают-librtmp - включают-libschroedinger - включают-libshine - включают-libspeex - включают-libssh - включают-libtheora - включают-libtwolame - включают-libvorbis - включают-libvpx - включают-libwavpack - включают-libwebp - включают-opengl - включают-x11grab - включают-libxvid - включают-libx265 - включают-libdc1394 - включают-libiec61883 - включают-libzvbi - включают-libzmq - включают-frei0r - включают-libx264 - включают-libsoxr - включают-openal - включают-libopencv

libavutil 54. 7.100 / 54. 7 100 libavcodec 56. 1.100 / 56. 1 100 libavformat 56. 4.101 / 56. 4,101 libavdevice 56. 0.100 / 56. 0.100 libavfilter 5. 1.100 / 5. 1 100 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 0.100 / 3. 0.100 libswresample 1. 1.100 / 1. 1 100 libpostproc 53. 0.100 / 53. 0.100

Опция b (видео скорость передачи (используйте-b:v)), не может быть применен для ввода файла akiyo_cif.yuv - Вы пытаетесь применить входную опцию к выходному файлу или наоборот. Переместите эту опцию перед файлом, которому она принадлежит.

Ошибочные опции парсинга для входного файла akiyo_cif.yuv

Ошибка, открывающая входные файлы: Недействительный аргумент

akiyo_cif.yuv файл может быть foud здесь:

http://trace.eas.asu.edu/yuv/akiyo/akiyo_cif.7z

Может любой помогать мне с этим, я действительно должен заставить его работать.

2
задан 28 July 2016 в 15:44

1 ответ

Вы поместили Ваш скорость передачи опция в неправильном месте, как ошибка говорит Вам:

Option b (video bitrate (please use -b:v)) cannot be applied to input file 
akiyo_cif.yuv -- you are trying to apply an input option to an output file 
or vice versa. Move this option before the file it belongs to.

Запоминание, что опции FFmpeg всегда используют этот поток:

ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

следующий скорректированный синтаксис применяет исправленную опцию скорости передачи к выходной файл , а не входной файл :

ffmpeg -s cif -r 30 -i akiyo_cif.yuv -c:v mpeg4 -b:v 64k -bt 32k -g 30 a02.m4v

качество выходного файла не весь настолько большое, поскольку Вы указали довольно низкую скорость передачи, но это может, конечно, быть скорректировано. Что-то как следующее лучшее качественное видео кодирует взгляды настроек, большие в моей системе:

ffmpeg -s cif -r 30 -i akiyo_cif.yuv -c:v mpeg4 -q:v 5 a02.m4v

, Но возможно у Вас есть очень определенная потребность в Вашем выходном видео, которому это не удовлетворит...

2
ответ дан 2 December 2019 в 03:45

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

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