抓rtmp推流地址_IPC 移动端或web端接入方案的RTMP实践

本文介绍了如何处理IPC设备的RTP码流,通过直接解析H264帧数据封装RTMP或利用FFmpeg推流到RTMP服务器。讨论了开源RTMP服务器SRS的配置与使用,并提供了ffmpeg推流示例,以及客户端的Web和移动端RTMP播放方案。
摘要由CSDN通过智能技术生成

IPC出来的码流都是RTP码流,可能是裸的H264,也可能是PS流。如果要推流的话,有2种方案可以选择

1.直接解析出h264帧数据,然后封装成RTMP协议进行推流。

2.利用ffmpeg实现,ffmpeg拉流通过av_read_frame得到h264帧,然后将264帧封装成RTMP的tag进行推流。

前者实现有一定工作量,需要自己解析264,封装成RTMP包。该方案代码自研,可控可扩展,稳定有保障。而后者利用ffmpeg实现起来快,但IPC码流不规范,特别是PS流,各厂家并不一定严格按PS协议封装,可能加有自己的私有字段,以至于fmpeg处理兼容性有问题,造成代码风险不可控,除非对ffmpeg有非常熟练的驾驭能力,能进行二次开发,否则不建议使用ffmpeg来对PS流解封和封装,本文在此仅仅用ffmpeg推流来测试RTMP服务器,后续会正式方案会用上代码实现该功能。

对于RTMP服务器,业界商用的FMS,稳定可控不用多说,但需要付费。对于中小企业望而却步。好在开源方案有crtmpd,gstreammer,nginx-rtmp-moudle,srs等方案,前二者比较简单,适合在嵌入式场景使用,后二者适应高并发的服务器场景,而SRS采用协程模式,单进程支持9000路并发,nginx-rtmp单进程支持3000路,但支持多进程扩展,至于二者优劣很难评说。基于SRS文档资料比较齐全,上手容易,笔者选择SRS为选型方案。

SRS下载地址:https://github.com/ossrs/srs,编译和部署非常简单。进入trunk目录,编译命令ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值