0

我对 libx264 的流输出有疑问。我的场景是,我从网络摄像头捕获视频,使用 x264 编码,然后将数据流式传输到闪存,作为 FLV 复用。对于复用,我使用了 libx264 包中包含的 output/flv_bitstream.h。我对 muxer 所做的唯一修改是使用 fwrite() 代替 fwrite() im usig send() 来通过套接字传输数据......编码库工作正常。如果我保存输出(甚至混合),vlc 播放器就可以播放它。但是,当它通过套接字进行数据传输时,vlc 和 flash 不合作。奇怪的是,如果我通过套接字向 vlc 播放器发送数据,它会等到传输结束,然后从缓冲区播放视频。但我需要的是播放直播。

我还尝试读取flv文件并将其逐个标签发送到flash标签的vlc,它工作正常。

有什么建议么?

4

1 回答 1

0

实现一个简单的 http 服务器并使用以下命令响应传入请求:
“HTTP/1.0 200 OK\r\n”
“Pragma: no-cache\r\n”
“Content-Type: video/x-flv\r\n”
“ \r\n"
每一个都应该跟原始 FLV 比特流。
这应该能够使用例如实时消费内容。VLC, flowplayer, ...

另外,请考虑使用 'url_open_dyn_buf'/'url_close_dyn_buf' 而不是 'fwrite',请参阅 ffserver 以供参考。

索芬的纳达夫

于 2012-03-24T20:24:17.900 回答