Ответы:
Примечание: ffmbc/ ffmpegбудет ссылаться на инструменты, а FFmbc / FFmpeg будет ссылаться на сами проекты и / или на всю совокупность инструментов и библиотек.
Есть синтаксические различия, включая:
ffmbcиспользует старый, запутанный -newaudioвариант, в то время как ffmpegможно просто использовать -map.
ffmbcне поддерживает -codecили -c, поэтому вместо этого все типы потоков должны быть явно определены, если вы не хотите полагаться на значения по умолчанию. Например -vcodec copy -acodec copy -scodec copyпротив просто -c copy.
Наверное, гораздо больше, о чем я не думал. Не стесняйтесь редактировать ответ и добавлять больше.
ffmbcавтоматически переместит некоторые данные после кодирования в MOV, MP4 и т. д., пока ffmpegтребуется -movflags +faststartопция.
ffmbcне поддерживает, -filter_complexпоэтому фильтрация отличается. Например, используя оверлейный видеофильтр:
ffmbc: -i video.mp4 -vf "movie='overlay.png' [movie]; [in][movie] overlay [out]"ffmpeg: -i video.mp4 -i image.png -filter_complex "[0:v][1:v]overlay"FFmbc поддерживает больше форматов вещания.
FFmpeg имеет больше возможностей и фильтров.
FFmbc упал ffplayи ffserver.
FFmbc - это GPL, а FFmpeg - это в основном LGPL, что затрудняет перенос функций из FFmbc в FFmpeg.
FFmbc - это в основном проект бывшего разработчика FFmpeg с небольшим вкладом других. FFmpeg имеет много разработчиков и участников.
FFmpeg часто объединяет вещи из Libav, в то время как FFmbc игнорирует Libav. Libav иногда выбирает вишню из FFmpeg, но игнорирует большинство вещей из FFmpeg (Libav часто шутит, чтобы иметь « синдром NIH »).
Одно отличие как минимум:
-target xdcamhd422
поддерживается FFmbc, но не FFmpeg.
Очень полезно в профессиональной среде вещания.
-targetопция позволяет указать несколько параметров одновременно. Значение -targetпараметра должно быть одним из поддерживаемых FFm **. В случае xdcamhd422значения оно указывает используемый видеокодек ( mpeg2video), размер кадра (1920 x 1080) и другие параметры, чтобы выходной файл соответствовал стандарту XDCam HD.