网站首页
手机版

视频RTMP推流实践(rtmp推流obs)

更新时间:2024-08-28 09:02:12作者:佚名

视频RTMP推流实践(rtmp推流obs)

对应RTMP推流,业界有很多开源方案。如使用FFMPEG推流,librtmp(rtmp-dump),gstream推流。由于ffmpeg和gstreamer比较庞大,仅仅用来推流,有大炮打蚊子之嫌。针对客户端特别是瘦客户端,使用librtmp(rtmp-dump)方案更加精简,更加高效。

本方案基本思路:

RTMP视频推流流程

1. 下载并编译librtmp。

下载地址:
http://rtmpdump.mplayerhq.hu/download/

编译后产生一个librtmp.so 库

2. 调用librtmp,封装一个视频层Wrapper_RtmpLib.cpp,该类定义如下:

1classWrapper_RtmpLib 2 3{ 4 5public: 6 7Wrapper_RtmpLib(char*url); 8 9~Wrapper_RtmpLib();1011intOpen();1213intSendData(char*data,intdataLength,unsignedinttimeStamp,intdebug=-1);1415intIsConnect();1617intClose();1819private:2021intInitSockets();2223voidCleanupSockets();2425intpushSPSPPS(char*sps,intspsLen,char*pps,intppsLen,intm_stream_id,unsignedinttimeStamp);2627intpushVideoData(char*data,intdataLen,boolkeyFrame,intm_stream_id,unsignedinttimeStamp);2829intGetStartPrixLen(char*Pack,intoffest);3031char*rtmpUrl=NULL;3233RTMP*m_pRtmp=NULL;3435NALU*CopyNALU(NALU*src);3637voidFreeNALU(NALU*nalu);3839};

3. Wrapper_RtmpLib对外提供RTMP推流接口。

基本使用步骤:

1. 定义一个Wrapper_RtmpLib对象test

2. Test.open(),与服务器建立rtmp信令相关连接

3. int SendData(char * data,int dataLength, unsigned int timeStamp,int debug = -1);发送RTMP数据

注意data,必须是一个完整的NAL单元。所以应用程序调该接口前必须解析出NAL单元。

下面是一个h264裸文件推送RTMP过程。

基本思路如下:

读文件—-解析NAL单元—利用 SendData发送一个完成的NAL单元完成推流

编译main.cpp Wrapper_RtmpLib.cpp 并链接librtmp.so生成可执行文件h2642rtmp.

编译生成可执行文件

运行可执行程序推流

./h264tortmp avc.h264 rtmp://192.168.1.226:8085/live/1830562240700540100 25

使用该方案注意:

1. SendData 必须是一个完整的NAL单元。如果是文件需要解析或网络流必须解析出NAL单元

2. 时间戳采用间隔时间。即时间戳按每帧时间间隔递增,可能因为网络抖动或者1000/帧率不是帧率会存在累计误差。该demo因为不存在音视频同步,时间戳影响不大。

3.如果是云主机,在云主机内不能推公网IP,而要推内网IP 192.168.1.226,客户端访问需要外网IP。

客户端播放效果如下:

RTMP流web端播放效果

本文标签: [db:关键词]  

为您推荐

视频RTMP推流实践(rtmp推流obs)

对应RTMP推流,业界有很多开源方案。如使用FFMPEG推流,librtmp(rtmp-dump),gstream推流。由于ffmpeg和gstreamer比较庞大,仅仅用来推流,有大炮打蚊子之嫌。针

2024-08-28 09:02

没网安装网卡驱动教程(没网怎么安装网卡驱动程序)

大家是不是很好奇为什么装机人员不管去哪里安装操作系统、不管是联网的还是单机的只要一个U盘就搞定了,其实小编上学时也为这个问题困扰了很久,直到后来弄懂了才恍然大悟。今天小编就给大家分享一下在没有网络的情

2024-08-28 09:02

十大刷赞网站排名

小编之前发布了一个名片赞软件,是利用的互赞,今天带来的软件不用互赞,直接软件刷的,提交就行了。感觉有些延迟,刚开始到的快,后来等了几分钟才到。大家可以使用安卓模拟器破解手机限制,但是一个QQ一个星期只

2024-08-28 09:02

重庆分时电价时段划分是真的吗 重庆电费分时段收费标准

4月6日上午,重庆市发展改革委发布《关于召开重庆市居民分时电价听证会的公告》,此次将拿出两套方案进行听证,居民可自愿选择是否执行。

2024-08-28 08:25

2023年重庆市购车补贴对象 重庆购车补贴政策2021

自然人车主于2023年3月20日0时至2023年6月30日24时期间,在重庆市辖区内的汽车销售企业购买了新乘用车(含新能源车和燃油车),并在重庆市辖区内依法履行纳税或申报义务、完善上户手续的,可以领取购车补贴。

2024-08-28 04:14

我国三大入侵物种 我国主要入侵物种

1、赤腹松鼠。赤腹松鼠的繁殖能力极强,繁育的速度远远超过被抓住的速度。赤腹松鼠的大量繁殖让四川省境内的很多的树木和树皮都被拔过和吃过,对于境内很多区域的自然生态造成了一定的影响。后来政府还出资悬赏捉拿它们,四块钱一只的身

2024-08-28 02:11