我有一个关于libx264流输出的问题。我的场景是,Iam从摄像头捕获视频,用x264编码,然后将数据流传输到flash,多路复用为FLV。对于多路复用,我使用的是libx264 budle中包含的output/flv_bitstream.h。我对muxer所做的唯一修改是通过套接字传输数据,而不是fwrite() im usig send()。编码库工作正常。如果我保存输出(即使是多路复用的),vlc播放器能够播放它。但是,当通过socket进行数据传输时,vlc和flash不能协同工作。奇怪的是,如果我通过套接字向vlc播放器发送数据,它会等待传输结束,然后从缓冲区播放视频。但我需要的是播放直播流。
我也尝试读取flv文件,并将其发送到闪存标签的vlc的标签,它是工作正常。
有什么建议吗?
发布于 2012-03-25 04:24:18
实现一个简单的http服务器,并使用以下命令响应传入的请求:
"HTTP/1.0 200正常\r\n“
“语法:无缓存\r\n”
"Content-Type: video/x-flv\r\n“
"\r\n“
每一个后面都应该是原始的FLV位流。
这应该允许使用例如的内容的实时消费。VLC,flowplayer,...
此外,请考虑使用'url_open_dyn_buf'/'url_close_dyn_buf‘而不是'fwrite',请参阅ffserver以获取参考。
索芬的纳达夫
https://stackoverflow.com/questions/9333377
复制相似问题