VLC libx264流复用为FLV
VLC libx264 streaming muxed as FLV
我有一个关于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
相关文章:
- 用C++中的一个变量定义一个常量
- 用c++从输入文件中读取另一行
- 用C++20 fmt限制结果的总大小
- 使用 avcodec_decode_subtitle2 (FFmpeg) 提取(解复用)字幕
- 使用 Select 多路复用未命名的管道和其他文件描述符
- FFMPEG:具有不同持续时间的多路复用流
- 不推荐使用 AVStream.codec.time_base 作为复用器的时基提示.改为设置AVStream.time_
- 输入复用的c++设计模式
- 搜索具有多路复用的C/C 网络库
- C++IO/多路复用TCP服务器和POSIX线程
- C++I/O多路复用服务器过早关闭连接
- 用c++打印的多路复用值错误
- VLC libx264流复用为FLV
- 使用select()、read()、write()进行I/O多路复用
- 每个会话连接或通过一个连接复用多个会话
- 如何使用boost::statechart在固定数量的线程上复用许多异步状态机
- 用BLAS将实矩阵与复向量相乘
- Arduino代码优化的多路复用LED矩阵
- 在C++聚合类中实现调用多路复用的优雅方法
- 通过套接字复用数据