




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、RTSP协议转换 RTMP 直播协议RTSP协议也是广泛使用的直播 / 点播流媒体协议, 最近实现了一个 RTSP协议转换 RTMP 直播协议的程序,为的是可以接收远端设备或服务器的多路RTSP直播数据,实时转换为 RTMP直播协议,推送到 FMS、Red5、wowza server 等 RTMP服务器,以实现 flash 观看 RTSP直播源的需求。程序同时也具备从FLV文件获取输入数据并转换RTMP直播。实现的思路分享如下。要点分析首先,程序的主要目的,是从多路 RTSP输入源中提取 AAC编码的音频和 H.264编码视频数据,并生成RTMP数据包,然后组装RTMP 推送协议,并发往RTM
2、P服务器。在发送的过程中, 要求可以从 RTSP数据源切换到具有相同h.264 和 aac编码的 FLV文件中,并不影响RTMP直播。因此,本程序的关键点有以下部分:1.RTSP直播流的读取2.H.264 和 AAC编码数据的分析、处理3.FLV文件数据的提取及与RTSP直接的切换和衔接4.RTMP数据包封装5.RTMP推送协议有了关键点,就可以一项一项的去分析。设计思路根据上面分析的要点,首先要选择RTSP直播协议的读取。我们不需要从零做起,网络上有很多和 RTSP相关的开源项目可以使用或借鉴, 我选择了 Live555。Live555 是一个跨平台的流媒体解决方案,主要支持RTSP协议,好
3、像也支持SIP(这个也是我马上研究的重点,之后会写文章研究SIP 相关的技术实现) 。Live555 实现了 RTSP包括服务器 -客户端的整套结构,是很知名的一个开源项目。网上有很多关于Live555 学习和使用的文章,我就不具体介绍了。H.264 和 AAC数据的分析处理,这个对于从没做过相关项目开发的人来说,应该是一个难点,主要是相关概念的理解。好在我一直在做这块,也比较好弄。第 4 和第 5 点,可以参照文章“ RTMP协议发送 H.264 编码及 AAC编码的音视频(),实现摄像头直播”的技术方法,来加以实现。因此,主要需要处理的就是 RTSP直播流数据的获取,以及对其中 H.264
4、 和 AAC编码数据的处理。于是可以画出大体结构如下:RtmpThread 的主要工作就是发送音频数据流的解码信息头和视频数据流的解码信息头,并不断从DataBufferQueue 中取出数据,封装为RTMP Packet,发送 出 去 。 流程 如 下 列 代 码 所 示 :( process_buf_queue_, 即 是 上 图 中 的DataBufferQueue)逻辑与实现1. 程序框架和模块说明2. 主要接口RtspCapture 是我的程序里管理RTSP直播数据流和分析处理的类,接口很重要,基本上这个设计就可以。他所使用的live555 变量,这里ourRTSPClient实际就是RTSPClient的简单继承3.RtspCapture 调用 live555 的主要流程A. 首先,在 RtspCapture构造函数初始化B. 在 StartRtsp 函数中,创建 RtspClient,并发送 describe命令,开始获取sdp。回调函数就是continueAfterDESCRIBE。在这里创建MediaSession,之后再发送setup 命令,等,这些都可以在live555 的例子以及网上的说明中看到。C. 还有一个关键点,就是要在自己的线程循环中,调用live555 environment 的事件循环,就像这样4. 对 rtsp 回调 h264 数据的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60092-376:2025 EN Electrical installations in ships - Part 376: Cables for control and instrumentation circuits 150/250 V (300 V)
- 2025年消防员职业资格考试试卷及答案
- 2025年休闲体育管理考试试题及答案
- 2025年创意写作与批评考试题及答案
- 2025年疾病控制与预防专业考试试题及答案的模拟题
- 2025年金融市场分析考试试卷及答案
- 三个愿望测试题及答案
- 一造考试真题及答案
- 一级数学试题及答案
- 甘肃省兰州市第四片区2024-2025学年高一下学期期中考试数学试卷(解析)
- 互联网深海鱼的结合辣鱼酷商业计划书
- 四川省中小流域暴雨洪水计算表格(尾矿库洪水计算)
- 工艺管道安装质量控制
- 教育部中等职业学校教学大纲
- 定位抢救在危重患者抢救中的应用
- (职业技能考试题库)起重机械指挥知识点练习题库、安装起重工技能理论知识点题库
- 奥赛经典奥林匹克数学中的几何问题
- 《古兰》中文译文版
- 高中英语完形填空试题(有答案和解析)
- GB/Z 19579-2012卓越绩效评价准则实施指南
- GB/T 4744-2013纺织品防水性能的检测和评价静水压法
评论
0/150
提交评论