- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在Livemedia的基础上开发自己的流媒体客户端 V 0.01
桂堂东
xiaoguizi@
2004-10
???????????????????????????????????????????????????????????????????????
?
?
友情申明:
本文档适合已经从事流媒体传输工作或者对网络传输协议(特别是RTSP/RTP/SDP)了解的xdjm查看,并且本文档处于最原始阶段,将在近期进行完善,希望大家给出意见和建议
?
如有转载,请注明出处。
Copyright@2004
?
?
?
?
?
一、背景 3
二、Livemedia框架介绍 4
1.总体框架 4
2.客户端框架 4
2.1 客户端openRTSP流程 4
2.2增加一种新的媒体 9
2.2.1增加媒体的format 9
2.2.2 新媒体需要考虑的问题 10
2.3类详细说明 13
2.3.1 BasicUsageEnvironment, UsageEnvironment 13
2.3.2 groupsock 15
2.3.3 livemedia 15
三、一些总结 16
A. Buffer 管理 16
B. How to control the receive loop 19
C. PAUSESEEK 19
D. 释放资源问题 20
?
一、背景
如今流媒体无处不在,而主流流媒体服务器为Realworks、Windows Media Server、Apple Darwin server, 而客户端程序,即包括会话建立、接收以及解码播放,则百花齐放,如何利用一种开源的代码实现自己的流媒体客户端,同时可以支持新的媒体格式呢?这是本文重点所在。
公司接触一个项目,要求能够按照3GPP的标准,实现RTSP/RTP协议以及对RTP包进行解析(独特格式),解码以及播放,因为时间比较紧,因此考虑在一种比较稳定并全面的开放源码标准基础上进行二次开发,主要是对新媒体的支持、bug-fix以及架构的调整。
?
?
?
二、Livemedia框架介绍
详细的帮助文档见 \livemedia
1.总体框架
Live的网站上有doxgen产生的帮助文档以及各个类之间的相互关系,这里不再螯述,不过这里要提醒的是,live的库代码可以同时供服务器和客户端使用,因此如果只是开发单个程序或者需要把服务器和客户端的程序分割清楚的话,最好先将代码剥离,这里可以参考live的参考例子openRTSP以及TestOnDemandServer
2.客户端框架
?
?
2.1 客户端openRTSP流程
这里给出了openRTSP的流程,同时最后给出了接收packet循环中的操作顺序,最后将会叙述奖励客户端需要建立些什么。
????????? “ || “ present that this item is depend on the input execute parameter
?
1.??? Socket environment initial.
?
2.??? Parse the input parameters.
?
3.??? CreateClient. Get class RTSPClient construct (return class medium and some vars)
3.1 For the class Medium
3.1.1 // First generate a name for the new medium: and put into the result buffer
3.1.2 // Then add it to our table: (It’s a hash table store the medium session, should has a MAX store value, in other words, the client should handle limited medium session)
3.2 RTSPClient variables initial and construct RTSP “User-Agent”
?
4.??? Send RTSP “options“ and get OPTIONS from server.
4.1 Create Socket connection
4.2 Send OPTIONS string
4.3 Get response from the server (If response code is 200 and it’s supported public method|OPTIONS)
您可能关注的文档
最近下载
- 2024年琼海市菜篮子市场开发有限责任公司招聘真题 .pdf VIP
- 2025海南琼海市菜篮子市场开发有限责任公司招聘10人(第1号)备考练习题库及答案解析.docx VIP
- 2025海南琼海市菜篮子市场开发有限责任公司招聘10人(第1号)笔试备考题库及答案解析.docx VIP
- 2025海南琼海市菜篮子市场开发有限责任公司招聘10人(第1号)笔试参考题库附答案解析.docx VIP
- GB∕T 39758-2021 无障碍设计 盲文在标志、设备和器具上的应用.pdf
- 2025海南琼海市菜篮子市场开发有限责任公司招聘10人(第1号)笔试模拟试题及答案解析.docx VIP
- 法哲学原理第二讲导论-公开课件.ppt VIP
- 法哲学原理课件.pptx
- 轻型卒中临床诊疗中国专家共识(2024版).pptx VIP
- 广告语言的语用分析.docx VIP
文档评论(0)