Title基于GStreamer的手机流媒体播放器的优化和顺序下载源模块的设计与实现
Authors王坤
Affiliation北京大学
KeywordsGStreamer
手机流媒体播放器
顺序下载源
播放软件
嵌入式Linux
Issue Date2008
Citation北京大学.
Abstract本文是某著名手机公司开发的基于GStreamer的流媒体播放器的组成部分。流媒体是指用户通过网络或者特定数字信道边下载边播放多媒体数据的一种工作方式。随着网络技术的发展,各种支持流媒体的播放器应运而生。由于Linux操作系统上的播放软件与其他操作系统的播放软件有着一定的差距,而GStreamer的出现能有效的缩小这些差距。因此基于GStreamer开发流媒体播放器具有一定的意义。 本文使用GStreamer在嵌入式Linux上实现了流媒体播放器。其中播放器引擎主要分为源、剖析器、解码器和输出四个模块。支持的播放模式有本地播放、顺序下载播放、输入流播放(FIFO)、FastTrack下载播放、DLNA播放和RTSP流播放。首先,为了提高此播放器的性能,本文对播放器进行了优化。优化所采用的主要方法是对没有用到的GStreamer的模块进行裁剪和改善库文件之间的链接方式。例如把调试/跟踪子系统功能、执行时间的检查功能和测试工具等模块裁剪掉,把音频输出、视频输出和剖析器所依赖的部分库的动态连接方式改成了静态连接方式,使用预先连接方式等方式进行优化。然后,为了使播放器支持顺序下载播放模式,本文设计并实现了顺序下载源模块。顺序下载源与本地源的功能最大的不同就是顺序下载源支持边下载边播放的播放模式。当顺序下载源读到不完整的数据的时候会有延时的功能。并且本文通过对read()函数的优化,使顺序下载源模块的性能有所提高。由于开发初期缺乏测试环境,本文设计实现了一个顺序下载模拟器,用来对顺序下载源模块进行功能测试。 性能测试的结果表明,优化后GStreamerCore的库文件减少了大约0.48MB,加载库文件以及状态转换的时间,冷启动约减少了300ms左右,热启动减少了50ms左右。通过对顺序下载源模块功能测试的结果表明,播放器在顺序下载模式下支持需求中要求的操作:播放、停止、暂停和seek等操作,并且当下载速率大于播放速率的时候,播放的声音和图像均流畅。
URIhttp://hdl.handle.net/20.500.11897/357373
Appears in Collections:学位论文

Files in This Work
There are no files associated with this item.

Web of Science®



Checked on Last Week

百度学术™



Checked on Current Time




License: See PKU IR operational policies.