Какой формат мультимедийного контейнера наиболее подходит для хранения / потоковой передачи несжатого аудио + видео?

1406
Vi.

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

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

Я пытался 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.

3
Я бы выяснил, почему AVI не работает хорошо. Это всегда был мой выбор для несжатого видео. ubiquibacon 10 лет назад 0
Например, 1. как сохранить несжатый звук в AVI? 2. Подходит ли AVI для каналов (для перехода в другую программу без сохранения)? Vi. 10 лет назад 0
Вы можете легко хранить несжатый звук в AVI, по крайней мере, PCM определенно не должен быть проблемой. Куда именно вы хотите паять? slhck 10 лет назад 0
Похоже, pcm_u16be - не лучший способ, pcms16le работает лучше ... Vi. 10 лет назад 0

1 ответ на вопрос

1
ubiquibacon

I didn't realize when you said "one process to another" that the video didn't already exist on disc. With that being said it would probably be best to use some variant of the .ts format. I have never tried to stream any video directly from one process to another without the video first existing on disc, but I have wrote a .ts file to disc and while the file is still being written to disc read it via another process. There is probably a way around the disc write, but I don't know what it is.

Я не уверен, что транспортные потоки MPEG-2 допускают любой кодек, даже в частных потоках. Вы пробовали это с сырым видео / аудио? slhck 10 лет назад 1
Я имел дело с моим HDHomeRunPrime, который сохраняет видео в формате `.ts`. У моего коллеги есть HDHomeRun (не Prime), который также сохраняется в формате `.ts`. Он сделал несколько программ PVR для взаимодействия со своим устройством и смарт-телевизорами, и он сказал мне, что потоки, сохраненные HDHomeRun, были сырыми. Я могу попытаться подтвердить это позже сегодня вечером в моей системе. ubiquibacon 10 лет назад 0
Файлы, написанные с помощью `ffmpeg -i ... -vcodec rawvideo -acodec pcm_s16le -f mpegts -y a.ts`, не читаются даже самим ffmpeg (также mplayer, vlc и gstreamer). Vi. 10 лет назад 0

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