Как VLC и ffmpeg работают вместе?

Я скомпилировал VLC из исходного кода, и он работает хорошо. Когда я делаю "./VLC" VLC запускается. Я также скомпилировал ffmpeg из исходного кода, и он тоже работает хорошо. Когда я делаю "ffmpeg-if toto.flv mp3-vn-acodec copy new_toto.mp3", создается файл с именем "new_toto.mp3". Что я не могу понять, так это то, как VLC и ffmpeg работают вместе? Какая часть кода VLC использует код ffmpeg?

Есть ли команда ffmpeg для воспроизведения (чтения) видео?

Ответ 1

VLC не вставляет FFmpeg в качестве своего рода подчиненного двоичного кода, используемого внутри, как вы могли предположить. Вместо этого, как FFmpeg, так и VLC используют libavcodec, библиотеку, которая реализует то, что ffmpeg предоставляет через интерфейс командной строки. Таким образом, FFmpeg поддерживает VLC, предоставляя библиотеку libavcodec одним из основных компонентов, на которых VLC построен как игровое приложение.

Ответ 2

Есть ли команда ffmpeg для воспроизведения (чтения) видео?

ffplay video.mp4

ffplay, однако, очень урезанный просмотрщик видео, в основном подходящий только для отладки видео, а не для ежедневного использования.

ffplay может быть более точным, чем VLC, для некоторых необычных форматов, например, он может обрабатывать видео с очень низким FPS, когда VLC 2.2.4 не может: Как изменить размер изображения с помощью fsmpeg sws_scale()?

Протестировано в Ubuntu 16.04, ffmpeg 2.8 с минимальным процедурно сгенерированным видео из: Как изменить размер изображения с помощью swf_scale() из ffmpeg?