没有合适的资源?快使用搜索试试~ 我知道了~
首页基于Gstreamer框架的smooth streaming协议的插件开发
在实际开发过程中,我采用一种循序渐进的设计方法在Linux平台下实现基于GStreamer框架的smooth streaming通信协议的插件开发:首先,实现基本的网络通信协议开发;然后,实现smooth streaming协议通信;最后,分别实现基于GStreamer的smooth streaming的source元件和sink插件的设计开发。通过在海思数字机顶盒平台上测试,最终能够实现基于smooth streaming通信协议,通过GStreamer框架实现边下载媒体数据、边解析媒体数据,并且能够无失真地完整播放视频。
资源详情
资源评论
资源推荐
基于 GStreamer 的
Smooth Streaming
插件开发
基于 GStreamer 的 Smooth Streaming 插件开发
目录
第一章 绪论...............................................................................................1
1.1 课题研究的意义........................................................................1
1.2 国内外研究现状与趋势...............................................................2
1.3 课题研究的主要内容..................................................................3
第二章 相关背景知识...............................................................................4
2.1 GStreamer 媒体框架概述..........................................................4
2.1.1 GStreamer 媒体框架基本概念..........................................4
2.1.2 GStreamer 的工作原理....................................................5
2.1.3 GStreamer 框架中的关键技术..........................................6
2.2 H.264 视频编解码技术..............................................................9
2.2.1 H.264 视频编解码技术简介...............................................9
2.2.2 H.264 的分层结构.........................................................11
2.3 AAC 音频编解码技术...............................................................12
2.3.1 AAC 音频编码基本概念...................................................12
2.3.2 AAC 系统的框架............................................................12
2.3.3 AAC 音频文件格式的种类................................................13
2.4 流媒体服务器.........................................................................15
第三章 流媒体传输协议.........................................................................16
3.1 RTP/RTCP 传输协议................................................................16
3.1.1 RTP 协议的基本概念.......................................................16
3.1.2 RTP 协议的数据报头格式................................................17
3.1.3 RTCP 协议....................................................................18
3.1.4 RTCP 数据包格式...........................................................19
3.2 HLS 传输协议.........................................................................20
3.2.1 HLS 协议组网结构.........................................................21
3.2.2 HLS 协议的直播编码器...................................................21
I
基于 GStreamer 的 Smooth Streaming 插件开发
3.2.3 HLS 分段生成策略及 m3u8 索引文件...............................22
3.3 Smooth Streaming 传输协议..................................................23
3.3.1 Smooth Streaming 传输协议的概念...............................23
3.3.2 Smooth Streaming 协议的通信机制...............................23
3.3.3 Smooth Streaming 协议的数据结构...............................26
第四章 基于 GStreamer 的 Smooth Streaming 协议的插件开发...........29
4.1 socket 通信协议设计实现........................................................29
4.1.1 socket 的概念...............................................................29
4.1.2 socket 的分类...............................................................29
4.1.3 socket 的设计过程........................................................30
4.1.4 非阻塞 socket 的设计过程..............................................30
4.2 HTTP 通信协议设计实现..........................................................31
4.2.1 HTTP 相关概念..............................................................31
4.2.2 HTTP 通信协议的特点....................................................32
4.2.3 HTTP 的 URL 格式分析...................................................32
4.2.4 HTTP 通信协议设计.......................................................33
4.3 环形缓存设计.........................................................................35
4.3.1 环形缓存的基本结构.......................................................35
4.3.2 环形缓存的工作原理.......................................................36
4.3.3 环形缓存的设计过程.......................................................36
4.4 Smooth Streaming 通信协议设计实现.....................................37
4.4.1 Smooth Streaming 通信协议设计流程............................37
4.4.2 Smooth Streaming 通信协议设计过程............................38
4.5 基于 GStreamer 的 Smooth Streaming 协议的插件设计............40
4.5.1 Smooth Streaming 协议的 source 元件设计...................41
4.5.2 Smooth Streaming 协议的 sink 元件设计.......................44
4.5.3 Avplayer 底层接口........................................................46
第五章 测试结果.....................................................................................47
5.1 测试实例设计.........................................................................47
II
基于 GStreamer 的 Smooth Streaming 插件开发
5.2 实际设计问题点解决方法..........................................................48
5.2.1 Avplayer 初始化失败.....................................................48
5.2.2 实现手动智能切换码率....................................................49
5.3 测试结果仿真图......................................................................50
第六章 总结.............................................................................................54
参考文献..................................................................................................55
III
基于 GStreamer 的 Smooth Streaming 插件开发
第一章 绪论
1.1 课题研究的意义
Internet在过去短短的十几年时间里经历了飞跃的发展,无论是在学习、
工作还是生活中我们越来越多的利用互联网获取和传输信息。互联网在最初兴
起时,由于条件和技术的限制,只是处理一些简单的文本数据,现在随着网络
技术和多媒体技术的不断发展以及网络技术和多媒体技术结合应用的不断深入,
在互联网上传播图形、图像、音频、视频已经越来越广泛了。
自从1991年由托瓦兹提出Linux的内核原型后,以应用为中心、计算机技
术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积和功耗
严格要求的微型嵌入式系统已经被广泛地应用在各个行业领域中。但是嵌入式
系统在多媒体方面的应用远远落后于其他操作系统,主要体现在以下几个方面:
1.没有一套完整的、可用的库。对于那些想在应用程序中嵌入视频剪辑的
Linux 开发人员来说,他们必须要用粗略的 hacks来运行外部的视频播放器,因
为没有一套可用的库提供给开发人员来创建可定制的播放器。
2.缺乏统一的媒体库接口。在Linux系统中并没有一套有效的机制可以提供
对于音频和视频数据过滤和效果处理,更没有制定在视频或音频数据中添加滤波
器或特殊效果的任何规定。因此,针对不同的媒体格式文件,Linux开发人员
需要定制不同的媒体库接口,这样给开发工作带来极大的困扰。
3.没有统一的插件管理机制。典型的播放器对于不同的媒体类型会有不同
的插件,两个媒体播放器会实现各自不同的插件机制,所以编解码器不能方便的
交换。每一个典型的媒体播放器的管理插件系统是具有其特定应用程序的需求。
而Linux缺少统一的插件机制,这样会严重阻碍了二进制编解码器的发展,因为没
有一家公司希望将代码移植到不同的插件机制。
4.用户体验差。正是由于上述问题的原因,使得应用程序开发人员将相当多
1
剩余58页未读,继续阅读
hancunai0017
- 粉丝: 110
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 数据结构1800题含完整答案详解.doc
- 医疗企业薪酬系统设计与管理方案.pptx
- 界面与表面技术界面理论与表面技术要点PPT学习教案.pptx
- Java集合排序及java集合类详解(Collection、List、Map、Set)讲解.pdf
- 网页浏览器的开发 (2).pdf
- 路由器原理与设计讲稿6-交换网络.pptx
- 火电厂锅炉过热汽温控制系统设计.doc
- 企业识别CIS系统手册[收集].pdf
- 物业管理基础知识.pptx
- 第4章财务预测.pptx
- 《集成电路工艺设计及器件特性分析》——实验教学计算机仿真系.pptx
- 局域网内共享文件提示没有访问权限的问题借鉴.pdf
- 第5章网络营销策略.pptx
- 固井质量测井原理PPT教案.pptx
- 毕业实习总结6篇.doc
- UGNX建模基础篇草图模块PPT学习教案.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1