2012-04-12 4 views
3

Я смущен и немного застрял в этом вопросе. Все, что я могу найти в Google, - это основное использование программного обеспечения для транскодирования, которое не связано с вопросом.Учитывая поток x264 и поток vgbis ogg, как создать мультиплексированный поток, который может читать mplayer/VLC?

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

Мой вопрос, следовательно, я знаю, как кодировать материал из необработанных видеокадров на x264 (см. Также How does one encode a series of images into H264 using the x264 C API?). Я знаю, как кодировать необработанные звуковые образцы в ogg/vorbis. Теперь, как мне поместить один и один вместе для VLC?

ответ

3

x264 не является потоковым форматом. Это часть программного обеспечения. Это программное обеспечение кодирует видео в формате H.264. AFAIK, он не мультиплексирует видео + аудио в файлы файлов MP4 или AVI. Посмотрите в ffmpeg/libav для полного набора. Существуют и другие программы для мультиплексирования видео и аудиопотоков.

Вот эксперимент я выполнил:

youtube-dl "http://www.youtube.com/watch?v=0Bmhjf0rKe8" 
avconv -i 0Bmhjf0rKe8.flv -vn -c:a libvorbis -b:a 64k 0Bmhjf0rKe8.ogg 
avconv -i 0Bmhjf0rKe8.flv -c:v copy -bsf:v h264_mp4toannexb -an 0Bmhjf0rKe8.h264 
avconv -i 0Bmhjf0rKe8.h264 -i 0Bmhjf0rKe8.ogg -c copy 0Bmhjf0rKe8.mkv 
mplayer 0Bmhjf0rKe8.mkv 
avconv -i 0Bmhjf0rKe8.flv -i 0Bmhjf0rKe8.ogg -c copy -map 0:0 -map 1:0 0Bmhjf0rKe8.mp4 
mplayer 0Bmhjf0rKe8.mp4 

Вы должны быть в состоянии сделать это программно с помощью libav.

+0

Нет, точно. Он возвращает поток кадров H.264 (iirc). Компонент Ogg/vorbis возвращает полномасштабный поток Ogg. Как это сделать? – dascandy

+1

Мукс в какой контейнер? Контейнер IFAIK Ogg не поддерживает H.264. Контейнер MP4 поддерживает звук Vorbis. ffmpeg/libav должен mux MP4 отлично. Люди, которые публикуют материалы, защищенные авторскими правами в Интернете, и Google (webm) предпочитают контейнер Matroska. Я бы посмотрел на http://www.bunkus.org/videotools/mkvtoolnix/, хотя, возможно, ffmpeg/libav тоже это сделал. –

+0

Ну, ogg не поддерживает H.264. В принципе, мне все равно, какой контейнер он до тех пор, пока VLC его поддерживает. Любой другой, поддерживающий его, является отличным бонусом. AVI ужасно старый, но все будет хорошо, но поддерживается более широко, чем MKV. Те примеры, которые вы указали, по-видимому, очень полезны, но я рассмотрю его. Благодаря! – dascandy

 Смежные вопросы

  • Нет связанных вопросов^_^