2012-02-17 4 views
0

У меня вопрос о потоковой передаче libx264. Мой сценарий заключается в том, что Iam захватывает видео с веб-камеры, кодирует с помощью x264, а затем передает данные во Flash, мультиплексируется как FLV. Для мультиплексирования Im использует вывод/flv_bitstream.h, включенный в libx264 budle. Единственная модификация muxer, которую я создал, заключается в том, что вместо fwrite() im usig send() для передачи данных через сокет ... Библиотека кодирования работает нормально. Если я сохраню вывод (даже мультиплексированный), проигрыватель vlc сможет его воспроизвести. Но когда он переходит к передаче данных через сокет, vlc и flash не взаимодействуют. Странный тигр заключается в том, что если Im отправляет данные в vlc player через гнездо, он ждет окончания передачи и затем воспроизводит видео из буфера. Но мне нужно играть в прямом эфире.VLC libx264 потоковое мультиплексирование как FLV

Я также попытался прочитать файл flv и отправить его во флеш-тег по тегам, и он отлично работает.

Любые предложения?

+0

Пожалуйста, задайте конкретный вопрос, связанный с программированием. –

ответ

0

Реализовать простой сервер HTTP и отвечать на входящие запросы с:
"HTTP/1.0 200 OK \ г \ п"
"Pragma: нет кэша \ г \ п"
«Content-Type: видео/x-flv \ r \ n "
" \ r \ n "
Каждое из них должно сопровождаться сырым потоком бит FLV.
Это должно обеспечивать живое потребление содержимого, используя, например. VLC, flowplayer, ...

Также рассмотрите использование 'url_open_dyn_buf'/'url_close_dyn_buf', а не 'fwrite', см. Ffserver для справки.

Nadav at Sophin

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