一种视频资源解码方法及装置制造方法及图纸

技术编号:16822948 阅读:14 留言:0更新日期:2017-12-16 17:55
本发明专利技术公开了一种视频资源解码方法及装置,该方法包括:在通过处于RPC通信连接的主控进程与原解码进程协同对同一目标视频资源进行解码并播放的过程中,监测主控进程与原解码进程之间的RPC通信连接是否断开;如果监测到主控进程与所述原解码进程之间的RPC通信连接已断开,创建新的解码进程并建立新的解码进程与主控进程之间的RPC通信连接;通过新的解码进程与主控进程协同对目标视频资源继续解码并播放。从而本发明专利技术解决了解码进程意外结束或崩溃导致播放器主程序视频播放停止的技术问题。

A method and device for video resource decoding

The invention discloses a device and a video decoding method, the method includes: through in the main process of RPC communication connection with the original collaborative decoding process on the same target video resources for decoding and playing in the process of RPC communication between the monitoring master control process and decoding process of the connection is disconnected; if RPC communication between the monitoring to the main control process and the original decoding process are disconnected, the RPC communication between the decoding process and the establishment of new to create a new decoding process with the master process connection; collaborative decoding of video resources to target and play through the decoding process and the new master control process. The invention solves the technical problem that the decoding process unexpectedly ends or collapses and leads to the video playback stop of the main program of the player.

【技术实现步骤摘要】
一种视频资源解码方法及装置
本专利技术涉及视频解码领域,尤其涉及一种视频资源解码方法及装置。
技术介绍
现有技术中都是采用在一个进程中进行音视频解码,然后将解码后音视频进行播放。这种方案比较简单、快速。但是如果要实现播放器多开(播放器多开就是在一个播放器中能够同时打开多个视频资源,比如:视频文件或者网络视频流)。随着多开视频的个数越来越多,那么该进程需要的系统资源,如CPU占用、内存消耗也就会越来越多。达到该进程的性能瓶颈时会使播放效果越来越差,画面越来越卡顿,甚至会造成播放器的崩溃。为了防止这种情况,则由一个独立的进程来解码视频流,以避免了画面效果差和卡顿的问题。但是,如果解码进程意外结束或崩溃,播放器主程序的视频播放就会停止而无法恢复。
技术实现思路
本专利技术实施例通过提供一种视频资源解码方法及装置,解决了解码进程意外结束或崩溃导致播放器主程序视频播放停止的技术问题。第一方面,本专利技术实施例提供一种视频资源解码方法,包括:在通过处于RPC远程过程调用通信连接的主控进程与原解码进程协同对同一目标视频资源进行解码并播放的过程中,监测所述主控进程与所述原解码进程之间的RPC通信连接是否断开;如果监测到所述主控进程与所述原解码进程之间的RPC通信连接已断开,创建新的解码进程并建立所述新的解码进程与所述主控进程之间的RPC通信连接;通过所述新的解码进程与所述主控进程协同对所述目标视频资源继续解码并播放。可选的,在通过处于RPC远程过程调用通信连接的主控进程与原解码进程协同对同一目标视频资源进行解码并播放之前,所述方法还包括:获得针对所述目标视频资源的播放请求时,通过所述主控进程创建所述原解码进程,并建立所述主控进程与所述原解码进程之间的RPC通信连接;通过所述主控进程注册针对所述主控进程与所述原解码进程之间的RPC通信连接的目标回调函数;在所述主控进程与所述原解码进程之间的RPC通信连接打开时,使所述主控进程进入所述目标回调函数。可选的,所述监测所述主控进程与所述原解码进程之间的RPC通信连接是否断开,包括:在所述主控进程与所述原解码进程之间的RPC通信连接的内部进行检测用于支持所述主控进程与所述原解码进程之间RPC通信连接的命名管道是否断开;如果断开,对所述目标回调函数的状态参数设置为零;通过处于所述目标回调函数中的所述主控进程判断所述目标回调函数的状态参数当前是否为零;如果为零,确定所述主控进程与所述原解码进程之间的RPC通信连接已断开。可选的,所述创建新的解码进程并建立所述新的解码进程与所述主控进程之间的RPC通信连接,包括:分配用于所述新的解码进程与所述主控进程之间连接的RPC连接地址;通过所述主控进程发送用于通知所述控制进程创建所述新的解码进程的通知消息;如果所述控制进程的错误处理模块接收到所述通知消息,通过所述控制进程创建所述新的解码进程;通过所述主控进程将用于所述新的解码进程与所述主控进程之间连接的RPC连接地址传递给所述新的解码进程,以使得所述新的解码进程通过用于所述新的解码进程与所述主控进程之间连接的RPC连接地址连接到所述主控进程。可选的,通过处于RPC远程过程调用通信连接的主控进程与原解码进程协同对同一目标视频资源进行解码并播放,包括:通过所述原解码进程对所述目标视频资源进行打开操作;如果所述原解码进程对所述目标视频资源打开成功,则通过所述解码进程对打开成功后的所述目标视频资源解码;所述目标视频资源的解码后视频图像通过所述主控进程进行绘制,所述目标视频资源的解码后音频通过所述原解码进程进行播放。可选的,所述通过所述新的解码进程与所述主控进程协同对所述目标视频资源继续解码并播放,包括:通过所述主控进程向所述新的解码进程发送所述目标视频资源的当前解码进度和存储位置标识;由所述新的解码进程根据所述存储位置标识获取所述目标视频资源,并从目标视频资源的当前解码进度继续对所述目标视频资源解码;将通过所述新的解码进程对所述目标视频资源继续解码得到的解码后视频图像写入由所述原解码进程所创建的系统共享内存中;通过所述主控进程响应于来自所述新的解码进程的图像绘制命令,以从所述原解码进程所创建的系统共享内存中读取所述目标视频资源的后续解码后视频图像;所述目标视频资源的后续解码后视频图像通过所述主控进程进行绘制,并由所述新的解码进程同步对所述目标视频资源的后续解码后音频进行播放。可选的,由所述新的解码进程同步对所述目标视频资源的后续解码后音频进行播放的过程中,包括:所述新的解码进程在对所述目标视频资源的解码后音频进行播放的过程中,记录所述目标视频资源的当前帧解码后音频播放时的音频时间戳;获取所述新的解码进程从所述文件解码服务模块中获得所述目标视频资源的当前帧解码后视频图像时的视频时间戳;判断所述视频时间戳是否小于等于所述音频时间戳;如果是,从所述原解码进程所创建的系统共享内存中删除所述当前帧解码后视频图像。第二方面,本专利技术实施例提供一种视频资源解码装置,包括:连接监测单元,用于在通过处于RPC远程过程调用通信连接的主控进程与原解码进程协同对同一目标视频资源进行解码并播放的过程中,监测所述主控进程与所述原解码进程之间的RPC通信连接是否断开;进程恢复单元,用于如果监测到所述主控进程与所述原解码进程之间的RPC通信连接已断开,创建新的解码进程并建立所述新的解码进程与所述主控进程之间的RPC通信连接;继续播放单元,用于通过所述新的解码进程与所述主控进程协同对所述目标视频资源继续解码并播放。可选的,所述装置还包括:进程创建单元,用于获得针对所述目标视频资源的播放请求时,通过所述主控进程创建所述原解码进程,并建立所述主控进程与所述原解码进程之间的RPC通信连接;注册单元,用于通过所述主控进程注册针对所述主控进程与所述原解码进程之间的RPC通信连接的目标回调函数;进入单元,用于在所述主控进程与所述原解码进程之间的RPC通信连接打开时,使所述主控进程进入所述目标回调函数。可选的,所述连接监测单元,具体用于:在所述主控进程与所述原解码进程之间的RPC通信连接的内部进行检测用于支持所述主控进程与所述原解码进程之间RPC通信连接的命名管道是否断开;如果断开,对所述目标回调函数的状态参数设置为零;通过处于所述目标回调函数中的所述主控进程判断所述目标回调函数的状态参数当前是否为零;如果为零,确定所述主控进程与所述原解码进程之间的RPC通信连接已断开。可选的,所述进程恢复单元,具体用于:分配用于所述新的解码进程与所述主控进程之间连接的RPC连接地址;通过所述主控进程发送用于通知所述控制进程创建所述新的解码进程的通知消息;如果所述控制进程的错误处理模块接收到所述通知消息,通过所述控制进程创建所述新的解码进程;通过所述主控进程将用于所述新的解码进程与所述主控进程之间连接的RPC连接地址传递给所述新的解码进程,以使得所述新的解码进程通过用于所述新的解码进程与所述主控进程之间连接的RPC连接地址连接到所述主控进程。可选的,所述装置还包括第一协同播放单元,用于:通过所述原解码进程对所述目标视频资源进行打开操作;如果所述原解码进程对所述目标视频资源打开成功,则通过所述解码进程对打开成功后的所述目标视频资源解码;所述目标视频资源的解码后视频图像通本文档来自技高网...
一种视频资源解码方法及装置

【技术保护点】
一种视频资源解码方法,其特征在于,包括:在通过处于RPC远程过程调用通信连接的主控进程与原解码进程协同对同一目标视频资源进行解码并播放的过程中,监测所述主控进程与所述原解码进程之间的RPC通信连接是否断开;如果监测到所述主控进程与所述原解码进程之间的RPC通信连接已断开,创建新的解码进程并建立所述新的解码进程与所述主控进程之间的RPC通信连接;通过所述新的解码进程与所述主控进程协同对所述目标视频资源继续解码并播放。

【技术特征摘要】
1.一种视频资源解码方法,其特征在于,包括:在通过处于RPC远程过程调用通信连接的主控进程与原解码进程协同对同一目标视频资源进行解码并播放的过程中,监测所述主控进程与所述原解码进程之间的RPC通信连接是否断开;如果监测到所述主控进程与所述原解码进程之间的RPC通信连接已断开,创建新的解码进程并建立所述新的解码进程与所述主控进程之间的RPC通信连接;通过所述新的解码进程与所述主控进程协同对所述目标视频资源继续解码并播放。2.如权利要求1所述的视频资源解码方法,其特征在于,在通过处于RPC远程过程调用通信连接的主控进程与原解码进程协同对同一目标视频资源进行解码并播放之前,所述方法还包括:获得针对所述目标视频资源的播放请求时,通过所述主控进程创建所述原解码进程,并建立所述主控进程与所述原解码进程之间的RPC通信连接;通过所述主控进程注册针对所述主控进程与所述原解码进程之间的RPC通信连接的目标回调函数;在所述主控进程与所述原解码进程之间的RPC通信连接打开时,使所述主控进程进入所述目标回调函数。3.如权利要求2所述的视频资源解码方法,其特征在于,所述监测所述主控进程与所述原解码进程之间的RPC通信连接是否断开,包括:在所述主控进程与所述原解码进程之间的RPC通信连接的内部进行检测用于支持所述主控进程与所述原解码进程之间RPC通信连接的命名管道是否断开;如果断开,对所述目标回调函数的状态参数设置为零;通过处于所述目标回调函数中的所述主控进程判断所述目标回调函数的状态参数当前是否为零;如果为零,确定所述主控进程与所述原解码进程之间的RPC通信连接已断开。4.如权利要求3所述的视频资源解码方法,其特征在于,所述创建新的解码进程并建立所述新的解码进程与所述主控进程之间的RPC通信连接,包括:分配用于所述新的解码进程与所述主控进程之间连接的RPC连接地址;通过所述主控进程发送用于通知所述控制进程创建所述新的解码进程的通知消息;如果所述控制进程的错误处理模块接收到所述通知消息,通过所述控制进程创建所述新的解码进程;通过所述主控进程将用于所述新的解码进程与所述主控进程之间连接的RPC连接地址传递给所述新的解码进程,以使得所述新的解码进程通过用于所述新的解码进程与所述主控进程之间连接的RPC连接地址连接到所述主控进程。5.如权利要求2所述的视频资源解码方法,其特征在于,通过处于RPC远程过程调用通信连接的主控进程与原解码进程协同对同一目标视频资源进行解码并播放,包括:通过所述原解码进程对所述目标视频资源进行打开操作;...

【专利技术属性】
技术研发人员:杨亮张文明陈少杰
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1