基于Gstreamer框架的smooth streaming协议的插件开发 - 图文

2020-04-16 12:21

基于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的工作原理 ...................................................... 4 2.1.3 GStreamer框架中的关键技术 .......................................... 5 2.2 H.264视频编解码技术 ............................................................... 9

2.2.1 H.264视频编解码技术简介.............................................. 9 2.2.2 H.264的分层结构 ............................................................ 10 2.3 AAC音频编解码技术 ............................................................... 11

2.3.1 AAC音频编码基本概念 ................................................. 11 2.3.2 AAC系统的框架 ............................................................. 12 2.3.3 AAC音频文件格式的种类 ............................................. 12 2.4 流媒体服务器 ........................................................................... 14 第三章 流媒体传输协议 ........................................................................ 15

3.1 RTP/RTCP传输协议 ................................................................. 15

3.1.1 RTP协议的基本概念 ...................................................... 16

I

基于GStreamer的Smooth Streaming插件开发

3.1.2 RTP协议的数据报头格式 .............................................. 17 3.1.3 RTCP协议 ........................................................................ 18 3.1.4 RTCP数据包格式 ............................................................ 18 3.2 HLS传输协议 ............................................................................ 19

3.2.1 HLS协议组网结构 .......................................................... 20 3.2.2 HLS协议实的直播编码器 .............................................. 20 3.2.3 HLS分段生成策略及m3u8索引文件 ........................... 21 3.3 Smooth Streaming传输协议...................................................... 22

3.3.1 Smooth Streaming传输协议的概念 ............................... 22 3.3.2 Smooth Streaming协议的通信机制 ............................... 22 3.3.3 Smooth Streaming协议的数据结构 ............................... 25

第四章 基于GStreamer的Smooth Streaming协议的插件开发 ......... 27

4.1 socket通信协议设计实现 ......................................................... 27

4.1.1 socket的概念 ................................................................... 27 4.1.2 socket的分类 ................................................................... 27 4.1.3 socket的设计过程 ........................................................... 28 4.1.4 非阻塞socket的设计过程 ............................................. 28 4.2 HTTP通信协议设计实现 ......................................................... 29

4.2.1 HTTP相关概念................................................................ 29 4.2.2 HTTP通信协议的特点 ................................................... 29 4.2.3 HTTP的URL格式分析 ................................................. 30 4.2.4 HTTP通信协议设计 ....................................................... 30

II

基于GStreamer的Smooth Streaming插件开发

4.3 环形缓存设计 ........................................................................... 32

4.3.1 环形缓存的基本结构 ..................................................... 33 4.3.2 环形缓存的工作原理 ..................................................... 33 4.3.3 环形缓存的设计过程 ..................................................... 34 4.4 Smooth Streaming通信协议设计实现 ..................................... 35

4.4.1 Smooth Streaming通信协议设计流程 ........................... 35 4.4.2 Smooth Streaming通信协议设计过程 ........................... 36 4.5 基于GStreamer的Smooth Streaming协议的插件设计 ........ 38

4.5.1 Smooth Streaming协议的source元件设计 ................... 39 4.5.2 Smooth Streaming协议的sink元件设计 ....................... 41 4.5.3 Avplayer底层接口 ........................................................... 43

第五章 测试结果 .................................................................................... 44

5.1 测试实例设计 ........................................................................... 44 5.2 实际设计问题点解决方法 ....................................................... 45

5.2.1 Avplayer初始化失败 ....................................................... 45 5.2.2 实现手动智能切换码率 ................................................. 46 5.3 测试结果仿真图 ....................................................................... 47 第六章 总结............................................................................................. 50 参考文献 ................................................................................................... 51

III

基于GStreamer的Smooth Streaming插件开发

第一章 绪论

1.1 课题研究的意义

Internet在过去短短的十几年时间里经历了飞跃的发展,无论是在学习、工作还是生活中我们越来越多的利用互联网获取和传输信息。互联网在最初兴起时,由于条件和技术的限制,只是处理一些简单的文本数据,现在随着网络技术和多媒体技术的不断发展以及网络技术和多媒体技术结合应用的不断深入,在互联网上传播图形、图像、音频、视频已经越来越广泛了。

自从1991年由托瓦兹提出Linux的内核原型后,以应用为中心、计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积和功耗严格要求的微型嵌入式系统已经被广泛地应用在各个行业领域中。但是嵌入式系统在多媒体方面的应用远远落后于其他操作系统,主要体现在以下几个方面:

1.没有一套完整的、可用的库。对于那些想在应用程序中嵌入视频剪辑的 Linux 开发人员来说,他们必须要用粗略的 hacks来运行外部的视频播放器,因为没有一套可用的库提供给开发人员来创建可定制的播放器。

2.缺乏统一的媒体库接口。在Linux系统中并没有一套有效的机制可以提供对于音频和视频数据过滤和效果处理,更没有制定在视频或音频数据中添加滤波器或特殊效果的任何规定。因此,针对不同的媒体格式文件,Linux开发人员需要定制不同的媒体库接口,这样给开发工作带来极大的困扰。

3.没有统一的插件管理机制。典型的播放器对于不同的媒体类型会有不同的插件,两个媒体播放器会实现各自不同的插件机制,所以编解码器不能方便的交换。每一个典型的媒体播放器的管理插件系统是具有其特定应用程序的需求。而Linux缺少统一的插件机制,这样会严重阻碍了二进制编解码器的发展,因为没有一家公司希望将代码移植到不同的插件机制。

4.用户体验差。正是由于上述问题的原因,使得应用程序开发人员将相当多的时间花在如何处理后端、插件机制等等问题上,从而耽误了大部分的项目时间,这样就常常导致后端和用户界面都只完成了一半,于是就导致了拙劣的用户感。

在当今的高科技时代中,用户体验的好坏决定了该产品的发展前途,这也是

1


基于Gstreamer框架的smooth streaming协议的插件开发 - 图文.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:GPS复习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: