Я пытаюсь закодировать сырые данные 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
Может любой помогать мне с этим, я действительно должен заставить его работать.
Вы поместили Ваш скорость передачи опция в неправильном месте, как ошибка говорит Вам:
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
, Но возможно у Вас есть очень определенная потребность в Вашем выходном видео, которому это не удовлетворит...