我对libx264的流输出有疑问。我的情况是Iam从网络摄像头捕获视频,用x264编码,然后将数据流传输到Flash,并混合为FLV。对于混合,Im使用libx264 budle中包含的output / flv_bitstream.h。我所做的muxer的唯一修改是,它代替了fwrite()而不是usig send()来通过套接字传输数据...编码库运行良好。如果我保存输出(即使是多路复用的),则vlc Player可以播放它。但是,当通过套接字进行数据传输时,vlc和闪存无法配合使用。奇怪的是,如果我通过套接字向vlc播放器发送数据,它会一直等到传输结束,然后再从缓冲区播放视频。但是我需要播放直播。

我还尝试读取flv文件并将其按标签发送到Flash标签的vlc,并且运行正常。

有什么建议吗?

有帮助吗?

解决方案

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

另外,请考虑使用“ url_open_dyn_buf” /“ url_close_dyn_buf”而不是“ fwrite”,请参阅ffserver以获得参考。

纳达夫在索菲(Sophin)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top