VLC libx264流复用为FLV

VLC libx264 streaming muxed as FLV

本文关键字:FLV 复用 libx264 VLC      更新时间:2023-10-16

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

我还试着读取flv文件,并将其逐个标签发送到flash的vlc,它运行良好。

有什么建议吗?

实现一个简单的http服务器,并通过以下方式响应传入请求:
"HTTP/1.0 200正常\r\n"
"Pragma:没有缓存\r\n"
"内容类型:视频/x-flv\r\n"
"\r\n"
每一个后面都应该跟有原始FLV比特流
这应该能够使用VLC、流播放器等实时消费内容

此外,请考虑使用"url_open_dyn_buf"/"url_close_dyn_buf"而不是"fwrite",请参阅ffserver以获取参考

Nadav在Sophin