3

Я хочу передавать несжатый звук + видео от одного процесса к другому.

Это означает, что он должен быть упакован в какой-то контейнер. Какой из них лучше всего подходит для этой задачи?

Я попытался ffmpeg -i ... -vcodec rawvideo -acodec pcm_s16le -f ... -y test , но в большинстве случаев он не проходит. Получающиеся в результате файлы Matroska воспроизводятся только при условии ffmpeg (не с mplayer), а AVI плохо воспроизводится из pipe.

Обновление:

Похоже

ffmpeg -i ...  -vcodec rawvideo -acodec pcm_s16le -f avi  -y - | mplayer -cache 200000 -noconsolecontrols -

работает более-менее стабильно. -f matroska также работает для gstreamer/ffplay, но не для mplayer/vlc.

1 ответ1

1

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

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