CN102033780A - 一种提高播放器程序稳定性和扩展性的方法 - Google Patents
一种提高播放器程序稳定性和扩展性的方法 Download PDFInfo
- Publication number
- CN102033780A CN102033780A CN2010106047037A CN201010604703A CN102033780A CN 102033780 A CN102033780 A CN 102033780A CN 2010106047037 A CN2010106047037 A CN 2010106047037A CN 201010604703 A CN201010604703 A CN 201010604703A CN 102033780 A CN102033780 A CN 102033780A
- Authority
- CN
- China
- Prior art keywords
- decodes
- plays
- decoding
- player
- user interactions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种提高播放器程序稳定性和扩展性的方法,属于计算机多媒体播放领域。本方法为:1)播放器设置一个以上具有解码播放功能的解码播放进程和一用户交互进程;2)用户交互进程与一解码播放进程建立数据连接,并将其接收的操作请求发送给该解码播放进程;3)该解码播放进程根据操作请求解码相应的音视频文件并执行操作请求;4)用户交互进程周期性向该解码播放进程发送心跳数据,如果在设定时间内未收到心跳数据的响应信息,则终止该解码播放进程并启动另一所述解码播放进程;5)用户交互进程与新启动的该解码播放进程建立数据连接,继续执行操作请求。本发明大大提高了用户界面的稳定、改善了用户体验,同时用户界面可扩展性强。
Description
技术领域
本发明属于计算机多媒体播放领域,涉及到一种可以提高播放器稳定性和扩展性的方法。
背景技术
目前市场流行的播放器有很多,可以播放多种格式的音视频文件,包括avi、rmvb、asf、MP3、mpeg等,并且可以通过第三方插件兼容更多格式的音视频文件。但是这些播放器都存在一个问题:如果第三方公司提供的插件不能保证其稳定,如果插件程序崩溃或者死锁将会导致播放器异常退出或者没有响应,这将严重影响用户的使用体验,不利于提升产品口碑。本发明可以保证无论第三方组件是崩溃还是死锁,播放器都能顺利的播放和响应用户操作。
另外,市面上很多播放器只是把音视频解码的部分设计成单独的程序模块,如果要开发新播放器界面,需要重新开发播放控制等功能。采用本发明后,只需要重新开发用户界面即可,核心的解码模块和播放控制模块不需要重新开发就可以被复用,播放器可以很灵活的扩展成其他各种应用。
发明内容
本发明针对采用不稳定的第三方组件而导致播放器异常的问题,提出了一种提高播放器稳定性的办法。在大幅度提高了播放器的稳定性的同时,还能增加了播放器程序的扩展性。
本发明的技术方案为:
一种提高播放器程序稳定性和扩展性的方法,其步骤为:
1)播放器设置一个以上具有解码播放功能的解码播放进程和一用户交互进程;所述用户交互进程包括一响应用户操作请求的用户操作界面;
2)所述用户交互进程与一所述解码播放进程建立数据连接,并将其接收的操作请求发送给该解码播放进程;
3)该解码播放进程根据操作请求解码相应的音视频文件并执行操作请求;
4)所述用户交互进程周期性地向该解码播放进程发送心跳数据,如果在设定时间内未收到心跳数据的响应信息,则终止该解码播放进程、关闭数据连接,并启动另一所述解码播放进程;
5)所述用户交互进程与新启动的该解码播放进程建立数据连接,继续执行操作请求。
进一步的,建立所述数据连接的方法包括:SOCKET进程通信方法、或管道进程通信方法、或共享内存进程通信方法。
进一步的,所述操作请求的内容包括:播放的文件名、播放窗口、用户自定义参数。
进一步的,所述用户操作界面的操作命令包括:播放、暂停、停止、消音、截图、快进、进度定位。
进一步的,所述解码播放进程首先解码并识别播放的文件是否可以播放,如果不可以播放则返回错误信息给所述用户交互进程。
进一步的,所述解码播放进程响应所述用户交互进程的请求,返回播放进度、播放时长、文件类型、编码格式信息给所述用户交互进程。
进一步的,所述文件类型包括:音频或视频。
进一步的,所述用户交互进程周期性地向该解码播放进程发送心跳数据的心跳命令为播放进度查询命令。
进一步的,所述用户操作界面为转码器界面、或Internet Explorer播放控件界面、或打开文件时预览窗口界面。
本发明的主要技术内容如下:
1)把解码播放模块和与用户交互的模块分别在两个进程中实现。解码播放进程在本文档中命名为“Player进程”,与用户交互的进程在本文档中命名为“UI进程”,UI进程有用户界面,负责响应用户的操作,Player进程负责解码播放,没有用户界面。
2)用户操作UI进程的界面,UI进程随之向Player进程发送各种命令数据以响应用户的操作,Player进程响应UI进程的请求返回相应的数据。
3)在系统运行过程中,UI进程实时的检测Player进程是否崩溃或者没有响应,如果检测到其没有响应和已经崩溃,则终止Player进程,再重新启动一个Player进程,继续播放。
4)Player进程负责程序核心的解码播放功能,没有用户界面,只要遵循与Player进程的通讯协议,UI进程可以灵活的扩展成各种其他形式,比如转码器、InternetExplorer播放控件、打开文件时预览窗口等,提高播放器的扩展性。
本发明的有益效果是:
以往播放器界面和解码播放模块同在一个进程,这样只要解码模块崩溃,播放界面就会发生异常。采用本发明的方法后,无论解码播放组件稳定性如何都可以保证用户界面的稳定,改善用户的体验。另外由于Player进程已经封装了解码播放的功能,只要遵循与Player进程的通讯协议,用户界面可以灵活的扩展成其他形态,比如转码器、Internet Explorer播放控件、打开文件时预览窗口等,提高了Player进程的复用率,扩展了播放器的应用领域。
附图说明
图1为本发明多媒体播放器结构示意图;
图2为本发明方法流程图;
图3为本发明多媒体播放器可扩展性示意图。
具体实施方式
结合附图,进一步阐述本发明的实施方案:
本发明的结构示意图如图1所示,方法流程如图2所示,
1)把解码播放模块设计在Player进程里,UI进程只有用户界面,响应用户的操作,Player进程没有界面,负责解码播放。
2)播放器程序启动时只有UI进程。当用户要求播放文件的时候,UI进程启动Player进程,并与UI进程建立数据连接。这里的数据连接可以采用SOCKET、管道、共享内存等进程通讯机制。
3)UI进程根据用户的操作,把要播放的文件名、播放窗口以及用户自定义参数等信息传递给Player进程。
4)Player进程根据播放文件名读取文件内容,并根据用户自定义参数最后传递信息给UI进程,告诉UI进程,该文件是否可以播放。
5)UI进程向Player进程发送数据,询问播放时长、是音频还是视频、编码格式的信息,Player进程返回给UI进程相关的数据。
6)UI进程发送数据给Player进程,控制其播放、暂停、停止、消音、截图、快进、进度定位等动作,并不断的询问播放的进度。
7)在播放过程中UI进程不断的向Player进程发送心跳数据(这里也可以用查询进度命令兼做心跳命令),如果心跳数据在一段时间内没有响应,则终止Player进程,关闭数据连接,重新启动一个Player进程,建立数据连接,继续播放。
8)Player进程不做改动,只要保持与UI进程相互之间的通讯协议不变,UI进程可以改造成其他各种形式,比如浏览器控件、转码器、打开文件时预览窗口等。
本发明多媒体播放器可扩展性强,扩展示意图如图3所示。
Claims (9)
1.一种提高播放器程序稳定性和扩展性的方法,其步骤为:
1)播放器设置一个以上具有解码播放功能的解码播放进程和一用户交互进程;所述用户交互进程包括一响应用户操作请求的用户操作界面;
2)所述用户交互进程与一所述解码播放进程建立数据连接,并将其接收的操作请求发送给该解码播放进程;
3)该解码播放进程根据操作请求解码相应的音视频文件并执行操作请求;
4)所述用户交互进程周期性地向该解码播放进程发送心跳数据,如果在设定时间内未收到心跳数据的响应信息,则终止该解码播放进程、关闭数据连接,并启动另一所述解码播放进程;
5)所述用户交互进程与新启动的该解码播放进程建立数据连接,继续执行操作请求。
2.如权利要求1所述的方法,其特征在于建立所述数据连接的方法包括:SOCKET进程通信方法,或管道进程通信方法,或共享内存进程通信方法。
3.如权利要求1或2所述的方法,其特征在于所述操作请求的内容包括:播放的文件名、播放窗口、用户自定义参数。
4.如权利要求3所述的方法,其特征在于所述用户操作界面的操作命令包括:播放、暂停、停止、消音、截图、快进、进度定位。
5.如权利要求3所述的方法,其特征在于所述解码播放进程首先解码并识别播放的文件是否可以播放,如果不可以播放则返回错误信息给所述用户交互进程。
6.如权利要求1所述的方法,其特征在于所述解码播放进程响应所述用户交互进程的请求,返回播放进度、播放时长、文件类型、编码格式信息给所述用户交互进程。
7.如权利要求6所述的方法,其特征在于所述文件类型包括:音频或视频。
8.如权利要求1所述的方法,其特征在于所述用户交互进程周期性地向该解码播放进程发送心跳数据的心跳命令为播放进度查询命令。
9.如权利要求1所述的方法,其特征在于所述用户操作界面为转码器界面,或InternetExplorer播放控件界面,或打开文件时预览窗口界面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106047037A CN102033780A (zh) | 2010-12-23 | 2010-12-23 | 一种提高播放器程序稳定性和扩展性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106047037A CN102033780A (zh) | 2010-12-23 | 2010-12-23 | 一种提高播放器程序稳定性和扩展性的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102033780A true CN102033780A (zh) | 2011-04-27 |
Family
ID=43886714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010106047037A Pending CN102033780A (zh) | 2010-12-23 | 2010-12-23 | 一种提高播放器程序稳定性和扩展性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102033780A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323900A (zh) * | 2011-08-31 | 2012-01-18 | 国家计算机网络与信息安全管理中心 | 一种众核环境下基于动态感知的系统容错机制 |
CN102801961A (zh) * | 2012-08-21 | 2012-11-28 | 北京捷成世纪科技股份有限公司 | 一种基于多进程的音视频数据处理方法及系统 |
CN103546817A (zh) * | 2013-10-25 | 2014-01-29 | 乐视网信息技术(北京)股份有限公司 | 一种基于全视频的数据加载方法及电子设备 |
CN103809953A (zh) * | 2012-11-14 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 多媒体播放监测方法及系统 |
CN104932881A (zh) * | 2015-06-01 | 2015-09-23 | 深圳市金蝶友商电子商务服务有限公司 | 双引擎的实现方法和系统 |
CN105163203A (zh) * | 2015-07-20 | 2015-12-16 | 天脉聚源(北京)科技有限公司 | 播放视频文件的方法和装置 |
CN105187953A (zh) * | 2015-07-17 | 2015-12-23 | 天脉聚源(北京)科技有限公司 | 播放文件的方法和装置 |
CN105512329A (zh) * | 2015-12-24 | 2016-04-20 | 上海携程商务有限公司 | 基于go语言的动态切图系统 |
CN105740030A (zh) * | 2016-03-03 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 应用中的音效处理方法和装置 |
CN106341691A (zh) * | 2016-08-10 | 2017-01-18 | 东方网力科技股份有限公司 | 基于大数据的数据处理方法及装置 |
CN107920281A (zh) * | 2016-10-08 | 2018-04-17 | 北京小唱科技有限公司 | 一种网络直播视频加载方法和终端 |
CN108786113A (zh) * | 2018-05-25 | 2018-11-13 | 腾讯科技(成都)有限公司 | 数据播放方法和装置、存储介质及电子装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101122869A (zh) * | 2007-09-20 | 2008-02-13 | 中兴通讯股份有限公司 | 一种用于多核多线程处理器的单线程复位方法 |
CN101207808A (zh) * | 2007-12-06 | 2008-06-25 | 四川长虹电器股份有限公司 | 基于网络的嵌入式分布下载播放方法及系统 |
-
2010
- 2010-12-23 CN CN2010106047037A patent/CN102033780A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101122869A (zh) * | 2007-09-20 | 2008-02-13 | 中兴通讯股份有限公司 | 一种用于多核多线程处理器的单线程复位方法 |
CN101207808A (zh) * | 2007-12-06 | 2008-06-25 | 四川长虹电器股份有限公司 | 基于网络的嵌入式分布下载播放方法及系统 |
Non-Patent Citations (3)
Title |
---|
《中国优秀硕士学位论文全文数据库》 20080915 张文渊 远程网络播控系统的设计与实现 , 第9期 * |
张文渊: "远程网络播控系统的设计与实现", 《中国优秀硕士学位论文全文数据库》 * |
豆丁网: "ccplayer初步设计", 《HTTP://WWW.DOCIN.COM/P-14109234.HTML》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323900A (zh) * | 2011-08-31 | 2012-01-18 | 国家计算机网络与信息安全管理中心 | 一种众核环境下基于动态感知的系统容错机制 |
CN102801961B (zh) * | 2012-08-21 | 2016-06-15 | 北京捷成世纪科技股份有限公司 | 一种基于多进程的音视频数据处理方法及系统 |
CN102801961A (zh) * | 2012-08-21 | 2012-11-28 | 北京捷成世纪科技股份有限公司 | 一种基于多进程的音视频数据处理方法及系统 |
CN103809953A (zh) * | 2012-11-14 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 多媒体播放监测方法及系统 |
CN103809953B (zh) * | 2012-11-14 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 多媒体播放监测方法及系统 |
CN103546817A (zh) * | 2013-10-25 | 2014-01-29 | 乐视网信息技术(北京)股份有限公司 | 一种基于全视频的数据加载方法及电子设备 |
CN104932881A (zh) * | 2015-06-01 | 2015-09-23 | 深圳市金蝶友商电子商务服务有限公司 | 双引擎的实现方法和系统 |
CN105187953A (zh) * | 2015-07-17 | 2015-12-23 | 天脉聚源(北京)科技有限公司 | 播放文件的方法和装置 |
CN105163203B (zh) * | 2015-07-20 | 2018-07-20 | 天脉聚源(北京)科技有限公司 | 播放视频文件的方法和装置 |
CN105163203A (zh) * | 2015-07-20 | 2015-12-16 | 天脉聚源(北京)科技有限公司 | 播放视频文件的方法和装置 |
CN105512329A (zh) * | 2015-12-24 | 2016-04-20 | 上海携程商务有限公司 | 基于go语言的动态切图系统 |
CN105740030A (zh) * | 2016-03-03 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 应用中的音效处理方法和装置 |
CN106341691A (zh) * | 2016-08-10 | 2017-01-18 | 东方网力科技股份有限公司 | 基于大数据的数据处理方法及装置 |
CN106341691B (zh) * | 2016-08-10 | 2019-10-22 | 东方网力科技股份有限公司 | 基于大数据的数据处理方法及装置 |
CN107920281A (zh) * | 2016-10-08 | 2018-04-17 | 北京小唱科技有限公司 | 一种网络直播视频加载方法和终端 |
CN108786113A (zh) * | 2018-05-25 | 2018-11-13 | 腾讯科技(成都)有限公司 | 数据播放方法和装置、存储介质及电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102033780A (zh) | 一种提高播放器程序稳定性和扩展性的方法 | |
EP1531601B1 (en) | Method for discontinuous transmission, in sections, of data in a network of distributed stations | |
JP5774789B2 (ja) | ワイヤレスディスプレイシステム内のマルチキャスト | |
US20080310496A1 (en) | Real-Time Key Frame Generation | |
US20100317443A1 (en) | Distributed Network Game System | |
WO2017125021A1 (zh) | 一种实现机顶盒云化的方法、装置和系统 | |
US20100223407A1 (en) | Media source device with digital format conversion and methods for use therewith | |
KR101531165B1 (ko) | 클라이언트의 특성을 고려한 사용자 인터페이스를 제공, 수신하는 방법 및 장치 | |
EP2822274A1 (en) | Method for converting online media data or playing video and apparatus thereof | |
JP5932047B2 (ja) | ワイヤレスディスプレイデバイスのための最小認識モード | |
US20080195746A1 (en) | Live content streaming using file-centric media protocols | |
CN102421033A (zh) | 一种在移动终端上实现电视节目共享的方法 | |
CN100568956C (zh) | 一种流媒体快速播放的方法 | |
CN101389020A (zh) | 一种扩展流媒体播放设备解码能力的方法 | |
CN102577245B (zh) | 使用外部网络连接的ue控制本地网络ue上的外部网络媒体 | |
WO2010019013A3 (en) | Method and apparatus for playing back scene using universal plug and play | |
EP1793532A3 (en) | Utilising DVD content in a network | |
CN104904226A (zh) | 多媒体文件仿真装置 | |
CN104683823A (zh) | 一种多屏联动音视频同步系统 | |
JP6016809B2 (ja) | コンテンツ提供方法及びコンテンツ提供システム | |
CN102404632A (zh) | 智能电视的信息推送方法及应用 | |
CN102572583B (zh) | 一种多媒体播放系统及播放方法 | |
CN101252454B (zh) | 一种客户端视频播放系统及其方法 | |
CN101964902A (zh) | 网络视频流的播放方法及连接设备 | |
CN101622873B (zh) | 由服务器播送音频和视频数据序列的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110427 |