基于Gstreamer框架的smoothstreaming协议的插件开发

基于Gstreamer框架的smoothstreaming协议的插件开发

ID:45782898

大小:932.68 KB

页数:57页

时间:2019-11-17

基于Gstreamer框架的smoothstreaming协议的插件开发_第1页
基于Gstreamer框架的smoothstreaming协议的插件开发_第2页
基于Gstreamer框架的smoothstreaming协议的插件开发_第3页
基于Gstreamer框架的smoothstreaming协议的插件开发_第4页
基于Gstreamer框架的smoothstreaming协议的插件开发_第5页
资源描述:

《基于Gstreamer框架的smoothstreaming协议的插件开发》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于GStreamer的SmoothStreaming插件开发目录第一章绪论11」课题研究的意义11.2国内外研究现状与趋势21.3课题研究的主要内容3第二章相关背景知识42.1GStreamer媒体框架概述42.1.1GStreamer媒体框架基本概念42.1.2GStreamer的工作原理42.1.3GStreamer框架中的关键技术52.2H.264视频编解码技术92.2.1H.264视频编解码技术简介92.2.2H.264的分层结构102.3AAC音频编解码技术112.3.1AAC音频编码基本概念111

2、.3.1AAC系统的框架121.3.2AAC音频文件格式的种类122.4流媒体服务器14第三章流媒体传输协议153.1RTP/RTCP传输协议153.1.1RTP协议的基本概念163.1.2RTP协议的数据报头格式173.1.3RTCP协议183.1.4RTCP数据包格式183.2HLS传输协议193.2.1HLS协议组网结构203.2.2HLS协议实的直播编码器20323HLS分段生成策略及m3u8索引文件213.3SmoothStreaming传输协议223.3.1SmoothStreaming传输协议的概

3、念223.3.2SmoothStreaming协议的通信机制223.3.3SmoothStreaming协议的数据结构25第四章基于GStreamer的SmoothStreaming协议的插件开发274.1socket通信协议设计实现274.1.1socket的概念274.1.2socket的分类274.1.1socket的设计过程284.1.4非阻塞socket的设计过程284.1HTTP通信协议设计实现294.2.1HTTP相关概念294.2.2HTTP通信协议的特点294.2.3HTTP的URL格式分析3

4、04.2.4HTTP通信协议设计304.3环形缓存设计32431环形缓存的基本结构334.3.2环形缓存的工作原理33433环形缓存的设计过程344.4SmoothStreaming通信协议设计实现354.4.1SmoothStreaming通信协议设计流程354.4.2SmoothStreaming通信协议设计过程364.5基于GStreamer的SmoothStreaming协议的插件设计384.5.1SmoothStreaming协议的source元件设计394.5.2SmoothStreaming协议的

5、sink元件设计414.5.3Avplayer底层接口43第五章测试结果445.1测试实例设计445.2实际设计问题点解决方法455.2.1Avplayer初始化失败455.2.2实现手动智能切换码率465.3测试结果仿真图47第六章总结50参考文献51第一章绪论1.1课题研究的意义Internet在过去短短的十几年时间里经历了飞跃的发展,无论是在学习、工作还是牛活中我们越来越多的利用互联网获取和传输信息。互联网在最初兴起时,由于条件和技术的限制,只是处理一些简单的文本数据,现在随着网络技术和多媒体技术的不断发

6、展以及网络技术和多媒体技术结合应用的不断深入,在互联网上传播图形、图像、咅频、视频已经越来越广泛了。自从1991年由托瓦兹提出Linux的内核原型后,以应用为中心、计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成木、体积和功耗严格要求的微型嵌入式系统已经被广泛地应用在各个行业领域中。但是嵌入式系统在多媒体方而的应用远远落后于其他操作系统,主要体现在以下几个方而:1.没有一套完整的、可用的库。对于那些想在应用程序屮嵌入视频剪辑的Linux开发人员来说,他们必须要用粗略的hacks来运行外部的视频播放

7、器,因为没有一套可用的库提供给开发人员来创建可定制的播放器。2•缺乏统一的媒体库接口。在Linux系统中并没有一套有效的机制可以提供对于音频和视频数据过滤和效果处理,更没有制定在视频或音频数据中添加滤波器或特殊效果的任何规定。因此,针对不同的媒体格式文件,Linux开发人员需要定制不同的媒体库接口,这样给开发工作带来极大的困扰。3.没有统一的插件管理机制。典型的播放器对于不同的媒体类型会有不同的插件,两个媒体播放器会实现各自不同的插件机制,所以编解码器不能方便的交换。每一个典型的媒体播放器的管理插件系统是具有其

8、特定应用程序的需求。而Linux缺少统一的插件机制,这样会严重阻碍了二进制编解码器的发展,因为没有一家公司希望将代码移植到不同的插件机制。4•用户体验差。正是由于上述问题的原因,使得应用程序开发人员将相当多的时间花在如何处理后端、插件机制等等问题上,从而耽误了大部分的项目时间,这样就常常导致后端和用户界而都只完成了一半,于是就导致了拙为的用户感。在当今的高科技时代屮,用户体验的好坏决定

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。