CN108200482B - 一种跨平台高清音视频播放方法、系统及客户端 - Google Patents
一种跨平台高清音视频播放方法、系统及客户端 Download PDFInfo
- Publication number
- CN108200482B CN108200482B CN201810040541.5A CN201810040541A CN108200482B CN 108200482 B CN108200482 B CN 108200482B CN 201810040541 A CN201810040541 A CN 201810040541A CN 108200482 B CN108200482 B CN 108200482B
- Authority
- CN
- China
- Prior art keywords
- audio
- video data
- client
- video
- webrtc
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000004891 communication Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000009877 rendering Methods 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 5
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 12
- 230000018109 developmental process Effects 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000033772 system development Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8173—End-user applications, e.g. Web browser, game
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44012—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8193—Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例公开了一种跨平台高清音视频播放方法、系统及客户端。本发明在不同平台的客户端上通过cocos2d‑X建立项目,将WebRTC开源代码编译生成对客户端平台类型对应的动态库,再将该动态库加载至该项目的工程文件上,然后对WebRTC动态库的接口进行封装。客户端在获取到流媒体服务器上的WebRTC进行编码后的音视频数据后,通过该封装后的接口对音频数据直接解码并播放,同时通过该接口对视频数据进行解码,再通过coco2d‑X的上层应用对解码后的视频数据进行渲染。本发明采用cocos2d‑X开发框架实现了不同平台客户端的同一功能界面,将coco2d‑X技术框架和WebRTC开源库集成开发,有效的解决了不同平台音视频实时编解码、传输、播放问题。
Description
技术领域
本发明涉及可视化大墙显示领域,尤其涉及一种跨平台高清音视频播放方法及系统。
背景技术
现有可视化大墙显示控制系统,在不同平台移动端预览显示音视频信号源,需熟悉不同的平台开发环境及编程语言,同一个功能需建立不同的工程,实现维护不同的代码。
当前现有的系统是通过流媒体服务对视频数据流进行解码,再将一帧帧画面传送给客户端进行显示,然而这种方式会导致帧率降低,画面不流畅。且由于客户端涉及到android、iOS、Windows等不同的平台,若是不同平台自己各做一套视频解码,开发时间较长,维护麻烦,成本高,所以当前的技术以降低视频观看质量的方式解决以上问题,但同时低观看质量的视频也无法满足客户的高需求,降低了用户体验性。
发明内容
本发明实施例提供了一种跨平台高清音视频播放方法、系统及客户端,能够在不同平台的客户端实现音视频高度可视化,增强用户体验,且进一步提高可视化大墙显示控制系统的工作效率及系统易用性,且提高系统开发效率及维护成本。
本发明实施例提供了一种跨平台高清音视频播放方法,包括:
S1:客户端通过Cocos2d-X建立项目,并通过WebRTC开源代码编译生成与所述客户端的平台类型对应的WebRTC动态库,再在所述项目的工程文件上加载所述WebRTC动态库;
S2:在所述项目中,所述客户端对所述WebRTC动态库的接口进行封装;
S3:所述客户端向流媒体服务器发送音视频请求,使得所述流媒体服务器向与所述音视频请求对应的音视频设备获取音视频数据;
S4:所述客户端获取到所述流媒体服务器通过WebRTC进行编码后的所述音视频数据,编码后的所述音视频数据包括编码后的音频数据和编码后的视频数据;
S5:所述客户端通过封装后的所述接口对编码后的所述音频数据进行解码并播放,同时通过封装后的所述接口对编码后的所述视频数据进行解码,再通过Cocos2d-X的上层应用对解码后的所述视频数据进行渲染显示。
优选地,步骤S5具体包括:
S41:所述客户端通过封装后的所述接口对编码后的所述音频数据进行解码并播放;
S42:所述客户端通过封装后的所述接口对编码后的视频数据进行解码,并通过预置回调函数获取解码后的所述视频数据,再通过所述Cocos2d-X的上层应用对所述解码后的视频数据进行渲染显示。
其中,步骤S41与步骤S42同时进行。
优选地,所述解码后的视频数据为YUV格式。
优选地,步骤S42具体包括:
所述客户端通过封装后的所述接口对编码后的视频数据进行解码,并通过预置回调函数获取解码后的视频数据,再将所述解码后的所述视频数据从YUV格式转换为RGB格式,然后通过所述Cocos2d-X的上层应用对转换格式后的所述视频数据进行渲染显示。
优选地,本发明实施例还提供了一种客户端,包括
加载单元,用于通过Cocos2d-X建立项目,并通过WebRTC开源代码编译生成与所述客户端的平台类型对应的WebRTC动态库,再在所述项目的工程文件上加载所述WebRTC动态库;
封装单元,用于在所述项目中,对所述WebRTC动态库的接口进行封装;
请求单元,用于向流媒体服务器发送音视频请求,使得所述流媒体服务器向与所述音视频请求对应的音视频设备获取音视频数据;
获取单元,用于获取到所述流媒体服务器通过WebRTC进行编码后的所述音视频数据,编码后的所述音视频数据包括编码后的音频数据和编码后的视频数据;
解码单元,用于通过封装后的所述接口对编码后的所述音频数据进行解码并播放,同时通过封装后的所述接口对编码后的所述视频数据进行解码,再通过Cocos2d-X的上层应用对解码后的所述视频数据进行渲染显示。
优选地,解码单元包括:
音频解码单元,用于通过封装后的所述接口对编码后的所述音频数据进行解码并播放;
视频解码单元,用于通过封装后的所述接口对编码后的视频数据进行解码,并通过预置回调函数获取解码后的所述视频数据,再通过所述Cocos2d-X的上层应用对所述解码后的视频数据进行渲染显示。
其中,所述音频解码单元和所述视频解码单元同时触发。
优选地,所述解码后的视频数据为YUV格式。
优选地,所述视频解码单元还用于通过封装后的所述接口对编码后的视频数据进行解码,并通过预置回调函数获取解码后的视频数据,再将所述解码后的所述视频数据从YUV格式转换为RGB格式,然后通过所述Cocos2d-X的上层应用对转换格式后的所述视频数据进行渲染显示。
优选地,本发明还提供了一种跨平台高清音视频播放系统,包括:流媒体服务器、音视频设备和如以上所述的客户端;
所述流媒体服务器和所述客户端通信连接;
所述流媒体服务器和所述音视频设备通信连接。
优选地,本发明提供的一种跨平台高清音视频播放系统还包括:主服务器;
所述主服务器和所述流媒体服务器通信连接;
所述主服务器和所述客户端通信连接;
所述主服务器用于接收到所述客户端发送的音视频请求,并将所述音视频请求发送至所述流媒体服务器。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明提供了一种跨平台高清音视频播放方法、系统及客户端,该方法包括:客户端通过Cocos2d-X建立项目,并通过WebRTC开源代码编译生成与客户端的平台类型对应的WebRTC动态库,再在该项目的工程文件上加载WebRTC动态库;在该项目中,客户端对WebRTC动态库的接口进行封装;客户端向流媒体服务器发送音视频请求,使得流媒体服务器向与音视频请求对应的音视频设备获取音视频数据;客户端获取到流媒体服务器通过WebRTC进行编码后的音视频数据,编码后的音视频数据包括编码后的音频数据和编码后的视频数据;客户端通过封装后的接口对编码后的音频数据进行解码并播放,同时通过封装后的接口对编码后的视频数据进行解码,再通过Cocos2d-X的上层应用对解码后的视频数据进行渲染显示。本发明采用Cocos2d-X开发框架实现了不同平台客户端的同一功能界面,将Cocos2d-X技术框架和WebRTC开源库集成开发,有效的解决了不同平台音视频实时编解码、传输、播放问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明提供的一种跨平台高清音视频播放方法的一个实施例的流程示意图;
图2为本发明提供的一种客户端的一个实施例的结构示意图;
图3为本发明提供的一种跨平台高清音视频播放系统的一个实施例的结构示意图。
具体实施方式
本发明实施例提供了一种跨平台高清音视频播放方法、系统及客户端,能够在不同平台的客户端实现音视频高度可视化,增强用户体验,且进一步提高可视化大墙显示控制系统的工作效率及系统易用性,且提高系统开发效率及维护成本。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明提供的一种跨平台高清音视频播放方法的一个实施例,包括:
101、客户端通过Cocos2d-X建立项目,并通过WebRTC开源代码编译生成与客户端的平台类型对应的WebRTC动态库,再在项目的工程文件上加载WebRTC动态库;
Cocos2d-x是一个开源的移动2D游戏框架,Cocos2d-x项目可以运行在iOS,android,黑莓Blackberry等操作系统中,它支持mac\windows\linux等操作系统界面,开发者编写的源代码很容易在桌面操作系统中编辑和调试。
WebRTC是一个实时视频语音对讲的开源库,里面包含包括音视频的采集、编解码、网络传输、显示等功能。WebRTC在不同平台可以编译生成不同的平台动态库,可以在相应平台下使用。所以不同平台下的接入使用不同的方式,是平台相关的。
在本实施例中,客户端的平台不做具体限制,可以为android,也可以为iOS,也可以为Windows等等。可以理解的是,客户端上安装有Cocos2d-X和WebRTC。
客户端通过Cocos2d-X建立相应的项目,然后通过WebRTC开源代码编译生成与客户端的平台类型对应的WebRTC动态库,如客户端若为android平台则生成符合JNI规范的.so文件,若为iOS平台则生成.framework文件,若为Windows平台则生成.dll文件等,然后在该项目的工程文件上加载该WebRTC动态库。需要说明的是,项目的工程文件也是与客户端的平台类型相对应的。
102、在项目中,客户端对WebRTC动态库的接口进行封装;
客户端在Cocos2d-X项目中,对WebRTC动态库的接口进行封装,以实现向外暴露跨平台的统一接口,且使得客户端在编码过程中能够尽量屏蔽平台相关性。需要说明的是,若客户端为JAVA平台通过JNI编程技术封装引入接口,若为iOS按照正常的.framework的动态库使用方法,若为windows则是DLL正常使用方法,然后在cocos2d-x应用层采用统一的接口进行封装,封装之后在客户端通过C++编辑使用WebRTC接口时,就不必关注底层是怎么实现的,也不必关注平台类型。
103、客户端向流媒体服务器发送音视频请求,使得流媒体服务器向与音视频请求对应的音视频设备获取音视频数据;
在客户端上的准备完成后,客户端向流媒体服务器发送音视频请求,流媒体服务器在接收到请求后,主动与客户端建立WebRTC连接,并向与音视频请求对应的音视频设备获取音视频数据。
104、客户端获取到流媒体服务器通过WebRTC进行编码后的音视频数据,编码后的音视频数据包括编码后的音频数据和编码后的视频数据;
流媒体服务在向音视频设备获取到音视频数据后,通过流媒体服务上的WebRTC对音视频数据进行编码,WebRTC并将该编码后的数据发送至客户端。
105、客户端通过封装后的接口对编码后的音频数据进行解码并播放;
106、客户端通过封装后的接口对编码后的视频数据进行解码,并通过预置回调函数获取解码后的视频数据,再将解码后的视频数据从YUV格式转换为RGB格式,然后通过Cocos2d-X的上层应用对转换格式后的视频数据进行渲染显示。
在本实施例中,步骤105和步骤106同时进行。
客户端获取到音视频数据后,需要对其进行解码播放,本发明将音频数据和视频数据分开同时处理。音频数据可以通过WebRTC提供的且封装后的接口进行解码并播放,视频数据也可以通过WebRTC提供的且封装后的接口进行解码,但是WebRTC在不同平台下的视频播放渲染接口需要传入平台相关的参数,在Cocos2d-X框架下很难做到,因此无法做到直接调用WebRTC的接口进行视频播放控制。且在解码后的视频数据为YUV格式,本发明通过WebRTC上的预置回调函数的接口,该函数接口可以为AddRenderer(),向该接口输入回调函数地址后,可以将解码后的视频数据调回来,然后将数据从YUV格式转化成Cocos2d-X能够渲染的格式(RGB),最后通过Cocos2d-X的上层应用对视频数据完成渲染显示。
本发明在不同平台的客户端上通过Cocos2d-X建立项目,将WebRTC开源代码编译生成对客户端平台类型对应的动态库,再将该动态库加载至该项目的工程文件上,然后对WebRTC动态库的接口进行封装。客户端在获取到流媒体服务器上的WebRTC进行编码后的音视频数据后,通过该封装后的接口对音频数据直接解码并播放,同时通过该接口对视频数据进行解码,再通过Cocos2d-X的上层应用对解码后的视频数据进行渲染。本发明采用Cocos2d-X开发框架实现了不同平台客户端的同一功能界面,将Cocos2d-X技术框架和WebRTC开源库集成开发,有效的解决了不同平台音视频实时编解码、传输、播放问题。
以上是对本发明提供的一种跨平台高清音视频播放方法进行的详细说明,以下对本发明提供的一种客户端进行说明,请参阅图2,本发明提供的一种客户端的一个实施例,包括:
加载单元201,用于通过Cocos2d-X建立项目,并通过WebRTC开源代码编译生成与客户端的平台类型对应的WebRTC动态库,再在项目的工程文件上加载WebRTC动态库;
封装单元202,用于在项目中,对WebRTC动态库的接口进行封装;
请求单元203,用于向流媒体服务器发送音视频请求,使得流媒体服务器向与音视频请求对应的音视频设备获取音视频数据;
获取单元204,用于获取到流媒体服务器通过WebRTC进行编码后的音视频数据,编码后的音视频数据包括编码后的音频数据和编码后的视频数据;
解码单元205,用于通过封装后的接口对编码后的音频数据进行解码并播放,同时通过封装后的接口对编码后的视频数据进行解码,再通过Cocos2d-X的上层应用对解码后的视频数据进行渲染显示。
更进一步地,解码单元205包括:
音频解码单元2051,用于通过封装后的接口对编码后的音频数据进行解码并播放;
视频解码单元2052,用于通过封装后的接口对编码后的视频数据进行解码,并通过预置回调函数获取解码后的视频数据,再通过Cocos2d-X的上层应用对解码后的视频数据进行渲染显示。
其中,音频解码单元2051和视频解码单元2052同时触发。
更进一步地,解码后的视频数据为YUV格式。
更进一步地,视频解码单元2052还用于通过封装后的接口对编码后的视频数据进行解码,并通过预置回调函数获取解码后的视频数据,再将解码后的视频数据从YUV格式转换为RGB格式,然后通过Cocos2d-X的上层应用对转换格式后的视频数据进行渲染显示。
以上是对本发明提供的一种客户端的结构进行的详细说明,以下对本发明提供的一种跨平台高清音视频播放系统,请参阅图3,本发明提供的一种跨平台高清音视频播放系统的一个实施例包括:流媒体服务器301、音视频设备302和如以上所述的客户端303;
流媒体服务器301和客户端303通信连接;
流媒体服务器301和音视频设备302通信连接。
更进一步地,本发明提供的一种跨平台高清音视频播放系统还包括:主服务器304;
主服务器304和流媒体服务器301通信连接;
主服务器304和客户端303通信连接;
主服务器304用于接收到客户端303发送的音视频请求,并将音视频请求发送至流媒体服务器301。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种跨平台高清音视频播放方法,其特征在于,包括:
S1:客户端通过Cocos2d-X建立项目,并通过WebRTC开源代码编译生成与所述客户端的平台类型对应的WebRTC动态库,再在所述项目的工程文件上加载所述WebRTC动态库,所述Cocos2d-X为一种开源的移动2D游戏框架,所述WebRTC动态库为实时视频语音对讲的开源库;
S2:在所述项目中,所述客户端对所述WebRTC动态库的接口进行封装;
S3:所述客户端向流媒体服务器发送音视频请求,使得所述流媒体服务器向与所述音视频请求对应的音视频设备获取音视频数据;
S4:所述客户端获取到所述流媒体服务器通过WebRTC进行编码后的所述音视频数据,编码后的所述音视频数据包括编码后的音频数据和编码后的视频数据;
S5:所述客户端通过封装后的所述接口对编码后的所述音频数据进行解码并播放,同时通过封装后的所述接口对编码后的所述视频数据进行解码,再通过Cocos2d-X的上层应用对解码后的所述视频数据进行渲染显示。
2.根据权利要求1所述的跨平台高清音视频播放方法,其特征在于,步骤S5具体包括:
S41:所述客户端通过封装后的所述接口对编码后的所述音频数据进行解码并播放;
S42:所述客户端通过封装后的所述接口对编码后的视频数据进行解码,并通过预置回调函数获取解码后的所述视频数据,再通过所述Cocos2d-X的上层应用对所述解码后的视频数据进行渲染显示;
其中,步骤S41与步骤S42同时进行。
3.根据权利要求2所述的跨平台高清音视频播放方法,其特征在于,所述解码后的视频数据为YUV格式。
4.根据权利要求3所述的跨平台高清音视频播放方法,其特征在于,步骤S42具体包括:
所述客户端通过封装后的所述接口对编码后的视频数据进行解码,并通过预置回调函数获取解码后的视频数据,再将所述解码后的所述视频数据从YUV格式转换为RGB格式,然后通过所述Cocos2d-X的上层应用对转换格式后的所述视频数据进行渲染显示。
5.一种客户端,其特征在于,包括
加载单元,用于通过Cocos2d-X建立项目,并通过WebRTC开源代码编译生成与所述客户端的平台类型对应的WebRTC动态库,再在所述项目的工程文件上加载所述WebRTC动态库,所述Cocos2d-X为一种开源的移动2D游戏框架,所述WebRTC动态库为实时视频语音对讲的开源库;
封装单元,用于在所述项目中,对所述WebRTC动态库的接口进行封装;
请求单元,用于向流媒体服务器发送音视频请求,使得所述流媒体服务器向与所述音视频请求对应的音视频设备获取音视频数据;
获取单元,用于获取到所述流媒体服务器通过WebRTC进行编码后的所述音视频数据,编码后的所述音视频数据包括编码后的音频数据和编码后的视频数据;
解码单元,用于通过封装后的所述接口对编码后的所述音频数据进行解码并播放,同时通过封装后的所述接口对编码后的所述视频数据进行解码,再通过Cocos2d-X的上层应用对解码后的所述视频数据进行渲染显示。
6.根据权利要求5所述的客户端,其特征在于,解码单元包括:
音频解码单元,用于通过封装后的所述接口对编码后的所述音频数据进行解码并播放;
视频解码单元,用于通过封装后的所述接口对编码后的视频数据进行解码,并通过预置回调函数获取解码后的所述视频数据,再通过所述Cocos2d-X的上层应用对所述解码后的视频数据进行渲染显示;
其中,所述音频解码单元和所述视频解码单元同时触发。
7.根据权利要求6所述的客户端,其特征在于,所述解码后的视频数据为YUV格式。
8.根据权利要求7所述的客户端,其特征在于,所述视频解码单元还用于通过封装后的所述接口对编码后的视频数据进行解码,并通过预置回调函数获取解码后的视频数据,再将所述解码后的所述视频数据从YUV格式转换为RGB格式,然后通过所述Cocos2d-X的上层应用对转换格式后的所述视频数据进行渲染显示。
9.一种跨平台高清音视频播放系统,其特征在于,包括:流媒体服务器、音视频设备和如权利要求5至8任意一项所述的客户端;
所述流媒体服务器和所述客户端通信连接;
所述流媒体服务器和所述音视频设备通信连接。
10.根据权利要求9所述的跨平台高清音视频播放系统,其特征在于,还包括:主服务器;
所述主服务器和所述流媒体服务器通信连接;
所述主服务器和所述客户端通信连接;
所述主服务器用于接收到所述客户端发送的音视频请求,并将所述音视频请求发送至所述流媒体服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810040541.5A CN108200482B (zh) | 2018-01-16 | 2018-01-16 | 一种跨平台高清音视频播放方法、系统及客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810040541.5A CN108200482B (zh) | 2018-01-16 | 2018-01-16 | 一种跨平台高清音视频播放方法、系统及客户端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108200482A CN108200482A (zh) | 2018-06-22 |
CN108200482B true CN108200482B (zh) | 2020-07-21 |
Family
ID=62589243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810040541.5A Active CN108200482B (zh) | 2018-01-16 | 2018-01-16 | 一种跨平台高清音视频播放方法、系统及客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108200482B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131891B (zh) * | 2018-11-01 | 2023-01-24 | 阿里巴巴集团控股有限公司 | 一种音视频播放方法、装置、播放设备及系统 |
CN112399229B (zh) * | 2019-08-19 | 2023-03-14 | 北京嗨动视觉科技有限公司 | 视频流播放方法、装置及系统和存储介质 |
CN111988308A (zh) * | 2020-08-18 | 2020-11-24 | 深圳中兴网信科技有限公司 | 视频监控装置、视频监控装置的实现方法和可读存储介质 |
CN115460183A (zh) * | 2021-06-07 | 2022-12-09 | 中移物联网有限公司 | 基于浏览器的流媒体数据播放方法、装置及相关设备 |
CN113742668A (zh) * | 2021-08-17 | 2021-12-03 | 深圳Tcl新技术有限公司 | 信息获取方法、装置、计算机设备和计算可读存储介质 |
CN114928595B (zh) * | 2022-04-19 | 2024-04-02 | 深圳凡泰极客科技有限责任公司 | 一种基于小程序平台实现WebRTC功能的系统 |
CN117560544B (zh) * | 2023-11-13 | 2024-08-20 | 书行科技(北京)有限公司 | 播放处理方法、系统、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905885A (zh) * | 2014-03-25 | 2014-07-02 | 广州华多网络科技有限公司 | 视频直播方法及装置 |
CN104244093A (zh) * | 2014-09-03 | 2014-12-24 | 深圳市同洲电子股份有限公司 | 一种图形界面显示方法及播放终端 |
CN104793917A (zh) * | 2015-02-10 | 2015-07-22 | 西南民族大学 | 一种实时获取Cocos2d-x游戏播放声音的方法 |
CN106778301A (zh) * | 2016-12-05 | 2017-05-31 | 上海时年信息科技有限公司 | 基于cocos2d‑x的可靠的跨平台数据存储方法及系统 |
KR20170097388A (ko) * | 2016-02-18 | 2017-08-28 | 한국기술교육대학교 산학협력단 | 아두이노 및 크로스 플랫폼을 이용한 스마트 홈 시스템 |
-
2018
- 2018-01-16 CN CN201810040541.5A patent/CN108200482B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905885A (zh) * | 2014-03-25 | 2014-07-02 | 广州华多网络科技有限公司 | 视频直播方法及装置 |
CN104244093A (zh) * | 2014-09-03 | 2014-12-24 | 深圳市同洲电子股份有限公司 | 一种图形界面显示方法及播放终端 |
CN104793917A (zh) * | 2015-02-10 | 2015-07-22 | 西南民族大学 | 一种实时获取Cocos2d-x游戏播放声音的方法 |
KR20170097388A (ko) * | 2016-02-18 | 2017-08-28 | 한국기술교육대학교 산학협력단 | 아두이노 및 크로스 플랫폼을 이용한 스마트 홈 시스템 |
CN106778301A (zh) * | 2016-12-05 | 2017-05-31 | 上海时年信息科技有限公司 | 基于cocos2d‑x的可靠的跨平台数据存储方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108200482A (zh) | 2018-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108200482B (zh) | 一种跨平台高清音视频播放方法、系统及客户端 | |
CN109327728B (zh) | 一种一对多同屏方法、装置和系统、同屏设备及存储介质 | |
EP3261351B1 (en) | Multimedia redirection method, device and system | |
CN110198492B (zh) | 一种视频的水印添加方法、装置、设备及存储介质 | |
US10976986B2 (en) | System and method for forwarding an application user interface | |
CN112533059B (zh) | 图像渲染方法、装置、电子设备以及存储介质 | |
CN108111859B (zh) | 基于JetsonTX1平台的H.264视频编解码方法 | |
CN114554277B (zh) | 多媒体的处理方法、装置、服务器及计算机可读存储介质 | |
CN114339382A (zh) | 视频播放方法、装置、设备及计算机存储介质 | |
CN112954457A (zh) | 视频播放显示方法、装置和系统 | |
CN113938470A (zh) | 一种浏览器播放rtsp数据源的方法、装置以及流媒体服务器 | |
CN114302176A (zh) | 视频播放方法及装置 | |
CN111970573A (zh) | 云游戏方法和系统 | |
CN110891195B (zh) | 花屏图像的生成方法、装置、设备和存储介质 | |
CN116450149A (zh) | 一种硬件解码方法、设备及存储介质 | |
CN114173157B (zh) | 视频流传输方法及装置、电子设备、存储介质 | |
CN107071521B (zh) | 视频处理装置及其输入输出视频信号远程监控方法 | |
CN114979541A (zh) | 一种视频显示系统 | |
CN113938705B (zh) | 用于视频编解码的方法、装置、服务器、终端设备及系统 | |
CN117065357A (zh) | 媒体数据处理方法、装置、计算机设备和存储介质 | |
CN113825016A (zh) | 视频渲染方法、装置、设备、存储介质及计算机程序产品 | |
CN111669541A (zh) | 预监画面显示方法及显示系统 | |
CN111147928A (zh) | 视频处理方法、服务器、终端及系统 | |
CN113055714B (zh) | 视频信息处理方法、装置、设备及存储介质 | |
US20230370620A1 (en) | Server and control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |