1.RTMP推流方案总结
RTMP推流方案总结
RTMP协议简介,源码其全称为Real Time Messaging Protocol,解析是源码由Adobe Systems公司为Flash播放器与服务器之间音频、视频和数据传输开发的解析html聊天源码私有协议。RTMP协议像一个容器,源码用于装载AMF格式的解析数据或FLV中的视/音频数据,一个连接可通过不同的源码通道传输多路网络流,通道中的解析包遵循固定大小的传输规则。更多协议细节请参考《rtmp specification 1.0》。源码
RTMP服务器的解析选择有多种开源方案,如Nginx的源码电子病历vb源码rtmp插件,用于实时流推送,解析具体实现可参考另一篇博客。源码SRS(Simple RTMP Server)是解析一款国人开发的优秀开源流媒体服务器软件,使用C++开发,源码适用于直播、android源码适配书录播、视频客服等场景,提供丰富的接入方案和流变换功能,GitHub源码链接为:github.com/ossrs/srs。
crtmpserver是指标公式源码语言一款由C++语言编写的开源RTMP流媒体服务器,功能相对简单,与Flash Player的兼容性较差,但代码结构良好,适用于学习RTMP协议和服务器端编程。GitHub源码链接为:github.com/shiretu/crtm...。网站源码安装地址
livego是基于Go语言的RTMP直播服务器,Go语言为服务器性能而生,开发效率高于C/C++。GitHub源码链接为:github.com/gwuhaolin/liv...
基于Go的livego服务器解决了语言级别上的并发问题。node-rtsp-rtmp-server是使用Node.js实现的RTMP服务器,GitHub源码链接为:github.com/iizukanao/nod...
测试时,推荐使用大牛直播提供的推流工具,也可以使用FFmpeg进行推流。
RTMP推流器的选择同样多样,librtmp软件包含一个基本的客户端:rtmpdump,以及提供RTMP协议支持的库。FFmpeg也能实现RTMP推流,内部集成了librtmp,官方给出了muxing.c源代码示例。srs-librtmp是srs提供的一个RTMP库,可以推送H数据,但在Windows环境下存在兼容性问题。
音视频开发相关教程与资料可免费订阅QQ群:,领取学习资源。