WO2018121014A1 - Video play control method and apparatus and terminal device - Google Patents

Video play control method and apparatus and terminal device Download PDF

Info

Publication number
WO2018121014A1
WO2018121014A1 PCT/CN2017/107311 CN2017107311W WO2018121014A1 WO 2018121014 A1 WO2018121014 A1 WO 2018121014A1 CN 2017107311 W CN2017107311 W CN 2017107311W WO 2018121014 A1 WO2018121014 A1 WO 2018121014A1
Authority
WO
WIPO (PCT)
Prior art keywords
interface
rendering
decoding
hardware
video stream
Prior art date
Application number
PCT/CN2017/107311
Other languages
French (fr)
Chinese (zh)
Inventor
吴昊
徐光兴
Original Assignee
广州虎牙信息科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 广州虎牙信息科技有限公司 filed Critical 广州虎牙信息科技有限公司
Publication of WO2018121014A1 publication Critical patent/WO2018121014A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo

Definitions

  • the present invention relates to the field of multimedia technologies, and in particular, to a video playback control method, apparatus, and terminal device.
  • a primary object of the present invention is to provide a video playback control method and apparatus
  • Another object of the present invention is to provide a terminal device that implements the video playing method.
  • the present invention provides a video playback control method, including the following steps:
  • Determining a decoding condition provided by the terminal selecting an adapted decoding interface to decode the video stream, and when the decoding condition includes a hardware decoding interface and a software decoding interface, preferentially calling the hard The decoding interface decodes, otherwise the software decoding interface is called for decoding;
  • Determining a rendering condition provided by the terminal selecting a matching graphic rendering interface to draw the decoded video stream and outputting the output to the user interface display, and preferentially calling the hardware when the rendering condition includes a hardware rendering interface and a software rendering interface
  • the rendering interface is rendered, otherwise the software rendering interface is called for rendering.
  • the method further includes:
  • the operating system is a WINDOWS system.
  • the operating system of the terminal is a WINDOWS7 version or a WINDOWS7 or higher version, it is determined that the terminal meets the prerequisites for providing hardware decoding and hardware rendering, otherwise the software decoding interface is called to decode the video stream. Then, the software rendering interface is called to draw the decoded video stream and output it to the user interface display.
  • the step of determining the decoding condition provided by the terminal, and selecting the adapted decoding interface to decode the video stream specifically includes:
  • the decoder type including an Nvidia hardware decoder, an Intel hardware decoder, and an AMD hardware decoder;
  • the hardware decoding interface of the Nvidia hardware decoder is called to decode the video stream
  • the hardware decoding interface of the Intel hardware decoder is called to decode the video stream
  • the hardware decoding interface of the AMD hardware decoder is called to decode the video stream.
  • the hardware rendering interface is a DirectX 11 graphics rendering interface.
  • the DirectX 11 graphics rendering interface is called to convert the decoded video stream into a YUV 420 format and loaded into the DirectX 11 format. In the texture, the video stream is then drawn using the DirectX 11 device and output to the user interface.
  • the DirectX 11 graphics rendering interface is called to convert the decoded video stream into an RGBA format and loaded in the video memory, and then the video stream is drawn by the DirectX 11 device and output to the user interface.
  • determining whether the video stream is a VR view Frequency if it is, then use 3D graphics rendering, otherwise, use 2D graphics rendering.
  • the subsequent steps of the method are performed when the control instruction of the user is received.
  • the present invention provides a video playback control apparatus, including:
  • Read module used to obtain a video stream between live broadcasts from a server
  • a decoding module configured to determine a decoding condition provided by the terminal, and select an adapted decoding interface to decode the video stream.
  • the decoding condition includes a hardware decoding interface and a software decoding interface
  • the hardware decoding interface is preferentially invoked. Decoding, otherwise calling the software decoding interface for decoding;
  • the rendering module is configured to determine a rendering condition provided by the terminal, and select a matching graphic rendering interface to draw the decoded video stream and output the result to the user interface display.
  • the rendering condition includes a hardware rendering interface and a software rendering interface
  • the hardware rendering interface is preferentially invoked for rendering, otherwise the software rendering interface is invoked for rendering.
  • the present invention further provides a terminal device for implementing the method of the above first aspect, comprising: a video decoder, a video rendering engine, a central processing unit, a graphics processor, a memory, and a touch sensitive display.
  • the present invention has the following advantages:
  • the present invention can effectively standardize the encoding format of the live video stream for the video live broadcast platform.
  • the live decoding video stream is preferably decoded and rendered by hardware decoding and hardware rendering. It can ensure the smoothness of high-quality live video stream playback, especially for VR video stream, hardware decoding and hardware rendering can effectively reduce the CPU usage of the terminal, and solve the problem of video playback caused by software coding and GDI rendering. ;
  • the live broadcast platform can effectively standardize the encoding format of the live video stream, the video stream encoding format can be effectively prevented from satisfying the condition of supporting hardware decoding, and the video stream is provided with hardware decoding to provide more convenient conditions.
  • FIG. 1 is a schematic flow chart of an embodiment of a video playback control method according to the present invention.
  • FIG. 2 is a schematic flow chart of an embodiment of determining a type of a terminal decoder according to the present invention
  • FIG. 3 is a schematic diagram of an embodiment of playing a live video stream according to the present invention.
  • FIG. 4 is a schematic diagram of an embodiment of a video playback control apparatus according to the present invention.
  • terminal and terminal device used herein include both a wireless signal receiver device, a device having only a wireless signal receiver without a transmitting capability, and a receiving and transmitting hardware.
  • Such devices may include cellular or other communication devices having a single line display or a multi-line display or a cellular or other communication device without a multi-line display; PCS (Personal Communications Service), which may combine voice, data processing, facsimile and / or data communications capabilities; PDA (personal digital Assistant, personal digital assistants), which may include network access to a radio frequency receiver, a pager, Internet / web browser, notepad, calendar and / or GPS (Global Positioning System (Global Positioning System) receiver; conventional laptop and/or palmtop computer or other device having a conventional laptop and/or palmtop computer or other device that includes and/or includes a radio frequency receiver.
  • GPS Global Positioning System
  • terminal may be portable, transportable, installed in a vehicle (aviation, sea and/or land), or adapted and/or configured to operate locally, and/or Run in any other location on the Earth and/or space in a distributed form.
  • the "terminal” and “terminal device” used herein may also be a communication terminal, an internet terminal, a music/video playing terminal, and may be, for example, a PDA, a MID (Mobile Internet Device), and/or have a music/video playback.
  • Functional mobile phones can also be smart TVs, set-top boxes and other devices.
  • the remote network device used herein includes, but is not limited to, a computer, a network host, a single network server, a plurality of network server sets, or a cloud composed of multiple servers.
  • the cloud is composed of a large number of computers or network servers based on Cloud Computing, which is a kind of distributed computing, a super virtual computer composed of a group of loosely coupled computers.
  • the communication between the remote network device, the terminal device and the WNS server can be implemented by any communication method, including but not limited to, mobile communication based on 3GPP, LTE, WIMAX, TCP/IP, UDP protocol. Computer network communication and short-range wireless transmission based on Bluetooth and infrared transmission standards.
  • the implementation of the method of the present invention depends on a certain functional module or plug-in in the mobile terminal operating system, specifically executable code built in the corresponding application of the mobile terminal or a separately executable application independent of any application. It can be executed in a specific application and can run in a variety of compatible applications.
  • the specific implementation form of the functional module or the plug-in is not specifically limited to the present invention.
  • the live broadcast room includes the following meanings: 1 a virtual space (or virtual room) created based on the webcast platform.
  • the live broadcast room is generally created by the anchor client and connected to multiple viewing clients, that is, live broadcast.
  • the anchor and the plurality of viewers are included in the room, and the viewing client located in the virtual space can watch the live content of the anchor client, and the user of the anchor client and the user who views the client, the user who views the client, and the user who views the client.
  • 2 an instant messaging platform that aggregates users together in groups, such as a video conferencing system, where users log in to the client to enter the group, and the user is in the group.
  • the group exists as a member of the group.
  • the same group contains multiple group members.
  • the user can join or leave the group arbitrarily. Within the group, various interactions such as text, voice, and video can be performed.
  • FIG. 1 is a schematic flowchart of an embodiment of a video playback control method according to the present invention, including the following steps:
  • Step S100 Obtain a video stream between the live broadcasts from the server.
  • the live broadcast process is as follows: the watcher sends a video live broadcast request to watch a live broadcast -> after receiving the request, the server returns the play address (usually a multicast URL) of the live broadcast to the viewer -> the watcher The address is added to the corresponding multicast group-> and then the video stream (stream data) of the live broadcast is obtained from the server. After the terminal obtains the video stream, before converting the video stream into an image output and displaying it on the terminal user interface, the video stream needs to be decoded, rendered, and the like.
  • the encoded format of the video stream is an H.264 or H.265 encoding format
  • the live broadcast platform can effectively control the encoding format of the live video stream, thereby providing more convenient conditions for hardware decoding of the video stream.
  • Step S200 determining a decoding condition provided by the terminal, selecting an adapted decoding interface to decode the video stream, and when the decoding condition includes a hardware decoding interface and a software decoding interface, preferentially calling the hardware decoding interface to perform decoding, Otherwise, the software decoding interface is called for decoding.
  • Step S300 determining a rendering condition provided by the terminal, selecting a matching graphic rendering interface to draw the decoded video stream and outputting the output to the user interface display, and when the rendering condition includes a hardware rendering interface and a software rendering interface, preferentially calling The hardware rendering interface performs rendering, otherwise the software rendering interface is invoked for rendering.
  • the method further includes the steps of:
  • the operating system is a WINDOWS system. Since Microsoft has configured a hardware acceleration interface for the underlying system in WINDOWS7 and above of the WINDOWS system, the operating system below WINDOWS7 cannot meet the conditions of hardware decoding and hardware rendering, so in this embodiment
  • the operating system of the terminal is WINDOWS7 version or WINDOWS7 or higher, it is determined that the terminal meets the preconditions for providing hardware decoding and hardware rendering. Otherwise, the software decoding interface is called to soft decode the video stream, and then the WINDOWS GDI is called to decode. The subsequent video stream is drawn and output to the user interface display.
  • the embodiment further includes the following steps:
  • the decoder types include NVIDIA hardware decoder, INTEL hardware decoder, AMD hardware decoder, and hardware decoding technology is mainly provided by NVIDIA/INTEL/AMD.
  • Nvidia's graphics card introduces PureVideo technology and PureVideo in hardware decoding.
  • HD technology Intel's graphics card introduced Intel Clear Video technology in hardware decoding
  • AMD's graphics card introduced AMD Avivo technology and AMD Avivo HD technology in hardware decoding.
  • the graphics cards that support PureVideo technology are: GeForce6 series graphics cards, GeForce7 series graphics cards; graphics cards supporting PureVideo HD (first generation) technology: GeForce6 series graphics cards, GeForce7 series graphics cards, GeForce6150 integrated graphics; support PureVideo HD (second generation)
  • the technical graphics cards are: GeForce8 series.
  • Graphics cards that support AMD Avaio technology include the ATi X1300/X1600/X1800/X1900 series, the ATi HD2000/HD3000/HD4000 series, and the AMD HD5000/HD6000 series.
  • Graphics cards that support AMD Avaio HD technology are: ATI HD2400/HD2600 series.
  • FIG. 2 is a flowchart of determining a decoder type supported by a terminal according to the embodiment, specifically,
  • the hardware decoding interface of the Nvidia hardware decoder is called to decode the video stream
  • the hardware decoding interface of the Intel hardware decoder is called to decode the video stream
  • the hardware decoding interface of the AMD hardware decoder is called to decode the video stream.
  • Encoding formats such as H.264 or H.265 format
  • encapsulation formats provide more convenient conditions for hardware decoding of video streams.
  • the decoded video stream needs to be rendered. In this case, it is also required to determine a rendering condition provided by the terminal.
  • the rendering condition includes a hardware rendering interface and a software rendering interface
  • the first call is performed.
  • the hardware rendering interface is rendered, otherwise the software rendering interface is invoked for rendering.
  • the hardware rendering interface is a DirectX graphics rendering interface, and Microsoft Corporation integrates DirectX11 into Windows 7.
  • the DirectX 11 graphics rendering interface is called to convert the decoded video stream into a YUV 420 format and loaded into a texture created by DirectX 11 (a picture saved in the video memory).
  • the video stream is then drawn and output to the user interface display using the DirectX 11 device, which can save CPU usage to the utmost extent.
  • the DirectX 11 graphics rendering interface is called to convert the decoded video stream into an RGBA format and loaded in the video memory, and then the video stream is drawn and output by using the DirectX 11 device. Displayed to the user interface.
  • the video stream is rendered by the DirectX 11 graphics rendering interface, it is determined whether the video stream is a VR video, and if so, the 3D graphics rendering is performed; otherwise, the 2D graphics rendering is performed.
  • the DirectX 11 includes a Direct 3D and a Direct Draw interface.
  • the 3D graphics rendering is performed by calling a Direct 3D interface.
  • the 2D graphics rendering is performed by calling a Direct Draw.
  • the VR (Virtual Reality) video is also called a panoramic video.
  • VR video stream is a high-resolution, high-rate, high-frame-rate live video stream. If software decoding and GDI rendering are used, it will occupy too many terminals.
  • CPU resources, causing video picture jamming, and using hardware decoding and / or hardware rendering can effectively release the end The pressure of the CPU ensures the smoothness of high-quality video playback.
  • the function of turning on hardware decoding and/or hardware rendering includes the following manners:
  • An implementation manner is: when the terminal uses the software decoding and the GDI to render the output video stream, and after detecting that the CPU usage of the terminal is higher than a preset threshold, the video stream is hardware decoded and/or according to the method of the present invention.
  • Hardware rendering to reduce the CPU usage of the terminal, reduce the dropped frame of the video stream, improve the smoothness of video playback, and thus enhance the user experience.
  • the second implementation manner is that, after the terminal acquires the video stream, according to the decoding condition and the rendering condition provided by the terminal, if the hardware decoding and hardware rendering conditions are met, the hardware decoding and hardware rendering of the video stream are automatically turned on.
  • FIG. 3 is a schematic diagram of an embodiment of playing a live video stream according to the present invention. The user can click on the button pointed to by the arrow in FIG. 3 to enable hardware decoding and hardware rendering of the video stream.
  • FIG. 4 is a schematic diagram of an embodiment of a video playback control apparatus according to the present invention, including:
  • the reading module 100 is configured to acquire a video stream between the live broadcasts from the server.
  • the live broadcast process is as follows: the watcher sends a video live broadcast request to watch a live broadcast -> after receiving the request, the server returns the play address (usually a multicast URL) of the live broadcast to the viewer -> the watcher The address is added to the corresponding multicast group-> and then the video stream (stream data) of the live broadcast is obtained from the server.
  • the reading module 100 obtains the video stream, before converting the video stream into an image output and displaying it on the terminal user interface, the video stream needs to be decoded, rendered, and the like.
  • the decoding module 200 is configured to determine a decoding condition provided by the terminal, select an adapted decoding interface to decode the video stream, and preferentially invoke the hardware decoding interface when the decoding condition includes a hardware decoding interface and a software decoding interface. Decoding is performed, otherwise the software decoding interface is called for decoding.
  • the rendering module 300 is configured to determine a rendering condition provided by the terminal, and select a matching graphic rendering interface to draw the decoded video stream and output the output to the user interface, when the rendering condition includes a hard
  • the rendering interface and the software rendering interface are used, the hardware rendering interface is preferentially called for rendering, otherwise the software rendering interface is called for rendering.
  • the decoding module 200 calls the software decoding interface to perform soft decoding on the video stream.
  • the rendering module 300 then calls WINDOWS GDI to draw and output the decoded video stream to the user interface display.
  • the decoder type including an NVIDIA hardware decoder, an INTEL hardware decoder, and an AMD hardware decoder;
  • the decoding module 200 calls the hardware decoding interface of the Nvidia hardware decoder to decode the video stream;
  • the decoding module 200 calls the hardware decoding interface of the Intel hardware decoder to decode the video stream;
  • the decoding module 200 calls the hardware decoding interface of the AMD hardware decoder to decode the video stream.
  • the rendering module 300 After decoding the video stream, it is also required to determine a rendering condition provided by the terminal.
  • the rendering module 300 calls the DirectX 11 graphics rendering interface to convert the decoded video stream into the YUV 420 format, and Loaded into the texture created by DirectX 11 (a type of image container saved in the video memory), and then the video stream is drawn by the DirectX 11 device and output to the user interface display;
  • the rendering module 300 calls DirectX.
  • 11 graphics rendering interface converts the decoded video stream into RGBA format and loads it in the video memory, and then uses the DirectX 11 device to draw the video stream and output it to the user interface display.
  • the present invention further provides a terminal device, which is used to implement the above video playback control method, including: a video decoder, a video rendering engine, a central processing unit, a graphics processor, a memory, and a touch sensitive display.
  • a terminal device which is used to implement the above video playback control method, including: a video decoder, a video rendering engine, a central processing unit, a graphics processor, a memory, and a touch sensitive display.
  • the present invention can effectively standardize the encoding format of the live video stream for the video live broadcast platform.
  • the live decoding video stream is preferably decoded and rendered by hardware decoding and hardware rendering. It can ensure the smoothness of high-quality live video stream playback.
  • hardware decoding and hardware rendering can effectively reduce the CPU usage of the terminal, and solve the problem of video playback caused by software coding and GDI rendering. The problem;
  • the live broadcast platform can effectively standardize the encoding format of the live video stream, the video stream encoding format can be effectively prevented from satisfying the condition of supporting hardware decoding, and the video stream is provided with hardware decoding to provide more convenient conditions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The present invention relates to the technical field of multimedia, and in particular, to a video play control method and apparatus and a terminal device. The method comprises the steps of: acquiring a video stream for a live studio from a server; determining a decoding condition provided by a terminal, and selecting a matching decoding interface to decode the video stream, in which when the decoding condition comprises a hardware decoding interface and a software decoding interface, the hardware decoding interface being preferentially invoked for decoding; otherwise, the software decoding interface being invoked for decoding; and determining a rendering condition provided by the terminal, and selecting a matching graphics rendering interface to render the decoded video stream and then output the rendered decoded video stream to a user interface for display, in which when the rendering condition comprises a hardware rendering interface and a software rendering interface, the hardware rendering interface being preferentially invoked for rendering; otherwise, the software rendering interface being invoked for rendering. According to the present invention, a terminal can realize smooth viewing of a live video stream having a high resolution, a high bit rate, and a high frame rate.

Description

视频播放控制方法、装置及终端设备Video playback control method, device and terminal device 【技术领域】[Technical Field]
本发明涉及多媒体技术领域,具体涉及一种视频播放控制方法、装置及终端设备。The present invention relates to the field of multimedia technologies, and in particular, to a video playback control method, apparatus, and terminal device.
【背景技术】【Background technique】
随着互联网技术及智能移动终端设备的发展,各种互联网产品给人们的工作、生活带来了很多便利与娱乐,近年来,各类用于视频直播的直播平台层出不穷,视频直播给人们带来更实时的社交体验,并且近年来拍摄设备的升级,高分辨率、高码率、高帧率的视频也被应用到直播场景中,目前对于观看直播视频流的客户端,都是使用软件解码并且使用传统的GDI(一种纯用软件绘制的图形接口)进行渲染,对于观看高分辨率(宽>=1920高>=1080)、高码率>=3000、高帧数(FPS:>=30)的视频直播时,由于软件解码和GDI渲染占用过高的CPU资源,造成视频画面卡顿、音视频不同步的问题,给用户带来了不良的观看体验,影响直播平台口碑,进而降低用户活跃度。With the development of Internet technology and intelligent mobile terminal devices, various Internet products have brought a lot of convenience and entertainment to people's work and life. In recent years, various live broadcast platforms for live video broadcasts have emerged in an endless stream. More real-time social experience, and in recent years, the upgrade of shooting equipment, high-resolution, high-rate, high-frame rate video has also been applied to the live broadcast scene, currently for the client watching the live video stream, are using software decoding And use traditional GDI (a graphical interface drawn with pure software) for rendering, for viewing high resolution (width >= 1920 high >= 1080), high bit rate >= 3000, high frame number (FPS:>= 30) When the video is broadcast live, the software decoding and GDI rendering take up too much CPU resources, causing the video picture to be stuck and the audio and video are not synchronized, which brings a bad viewing experience to the user, affects the live platform reputation, and thus reduces User activity.
因此,对于如何利用终端的现有硬件,尽可能地降低CPU的占用率,保证直播视频播放的流畅度是目前亟需解决的问题。Therefore, how to use the existing hardware of the terminal, reduce the CPU usage as much as possible, and ensure the smoothness of live video playback is an urgent problem to be solved.
【发明内容】[Summary of the Invention]
本发明的首要目的在于提供一种视频播放控制方法及装置;A primary object of the present invention is to provide a video playback control method and apparatus;
本发明的另一目的在于提供一种实现该视频播放方法的终端设备。Another object of the present invention is to provide a terminal device that implements the video playing method.
为实现该目的,本发明采用如下技术方案:To achieve this, the present invention adopts the following technical solutions:
第一方面,本发明提供一种视频播放控制方法,包括如下步骤:In a first aspect, the present invention provides a video playback control method, including the following steps:
从服务器获取直播间的视频流;Obtaining a video stream between the live broadcasts from the server;
确定终端提供的解码条件,选择相适配的解码接口对所述视频流进行解码,当所述解码条件包含硬件解码接口和软件解码接口时,优先调用所述硬 件解码接口进行解码,否则调用所述软件解码接口进行解码;Determining a decoding condition provided by the terminal, selecting an adapted decoding interface to decode the video stream, and when the decoding condition includes a hardware decoding interface and a software decoding interface, preferentially calling the hard The decoding interface decodes, otherwise the software decoding interface is called for decoding;
确定终端提供的渲染条件,选定相适配的图形渲染接口将解码后的视频流绘制后输出到用户界面显示,当所述渲染条件包含硬件渲染接口和软件渲染接口时,优先调用所述硬件渲染接口进行渲染,否则调用所述软件渲染接口进行渲染。Determining a rendering condition provided by the terminal, selecting a matching graphic rendering interface to draw the decoded video stream and outputting the output to the user interface display, and preferentially calling the hardware when the rendering condition includes a hardware rendering interface and a software rendering interface The rendering interface is rendered, otherwise the software rendering interface is called for rendering.
进一步的,在在所述确定终端提供的解码条件和确定终端提供的渲染条件之前,还包括:Further, before the determining the decoding condition provided by the terminal and determining the rendering condition provided by the terminal, the method further includes:
确定终端的操作系统版本。Determine the operating system version of the terminal.
具体的,所述操作系统为WINDOWS系统,当终端的操作系统为WINDOWS7版本或WINDOWS7以上版本时,确定终端符合提供硬件解码和硬件渲染的前提条件,否则调用软件解码接口对所述视频流进行解码,再调用软件渲染接口将解码后的视频流绘制后输出到用户界面显示。Specifically, the operating system is a WINDOWS system. When the operating system of the terminal is a WINDOWS7 version or a WINDOWS7 or higher version, it is determined that the terminal meets the prerequisites for providing hardware decoding and hardware rendering, otherwise the software decoding interface is called to decode the video stream. Then, the software rendering interface is called to draw the decoded video stream and output it to the user interface display.
具体的,所述确定终端提供的解码条件,选择相适配的解码接口对所述视频流进行解码的步骤,具体包括:Specifically, the step of determining the decoding condition provided by the terminal, and selecting the adapted decoding interface to decode the video stream, specifically includes:
确定终端支持的解码器类型,所述解码器类型包括Nvidia硬件解码器、Intel硬件解码器、AMD硬件解码器;Determining a decoder type supported by the terminal, the decoder type including an Nvidia hardware decoder, an Intel hardware decoder, and an AMD hardware decoder;
当终端支持Nvidia硬件解码器时,调用Nvidia硬件解码器的硬件解码接口对所述视频流进行解码;When the terminal supports the Nvidia hardware decoder, the hardware decoding interface of the Nvidia hardware decoder is called to decode the video stream;
当终端支持Intel硬件解码器时,调用Intel硬件解码器的硬件解码接口对所述视频流进行解码;When the terminal supports the Intel hardware decoder, the hardware decoding interface of the Intel hardware decoder is called to decode the video stream;
当终端支持AMD硬件解码器时,调用AMD硬件解码器的硬件解码接口对所述视频流进行解码。When the terminal supports the AMD hardware decoder, the hardware decoding interface of the AMD hardware decoder is called to decode the video stream.
优选的,所述硬件渲染接口为DirectX 11图形渲染接口,当所述视频流采用硬件解码时,调用DirectX 11图形渲染接口将解码后的视频流转换成YUV 420格式,并装载到DirectX 11创建的纹理中,然后利用DirectX 11设备将视频流绘制后输出到用户界面上。Preferably, the hardware rendering interface is a DirectX 11 graphics rendering interface. When the video stream is hardware decoded, the DirectX 11 graphics rendering interface is called to convert the decoded video stream into a YUV 420 format and loaded into the DirectX 11 format. In the texture, the video stream is then drawn using the DirectX 11 device and output to the user interface.
可选的,当所述视频流采用软件解码时,调用DirectX 11图形渲染接口将解码后的视频流转化成RGBA格式并装载在显存中,然后利用DirectX 11设备将视频流绘制后输出到用户界面上。Optionally, when the video stream is decoded by software, the DirectX 11 graphics rendering interface is called to convert the decoded video stream into an RGBA format and loaded in the video memory, and then the video stream is drawn by the DirectX 11 device and output to the user interface. .
较佳的,当所述视频流采用硬件渲染时,判断所述视频流是否为VR视 频,若是,则采用3D图形渲染,否则,采用2D图形渲染。Preferably, when the video stream is rendered by hardware, determining whether the video stream is a VR view Frequency, if it is, then use 3D graphics rendering, otherwise, use 2D graphics rendering.
进一步的,在所述从服务器获取直播间的视频流的步骤之后,当接收到用户的控制指令时才执行所述方法的后续步骤。Further, after the step of acquiring the video stream between the live broadcasts from the server, the subsequent steps of the method are performed when the control instruction of the user is received.
第二方面,本发明提供一种视频播放控制装置,包括:In a second aspect, the present invention provides a video playback control apparatus, including:
读取模块:用于从服务器获取直播间的视频流;Read module: used to obtain a video stream between live broadcasts from a server;
解码模块:用于确定终端提供的解码条件,选择相适配的解码接口对所述视频流进行解码,当所述解码条件包含硬件解码接口和软件解码接口时,优先调用所述硬件解码接口进行解码,否则调用所述软件解码接口进行解码;a decoding module: configured to determine a decoding condition provided by the terminal, and select an adapted decoding interface to decode the video stream. When the decoding condition includes a hardware decoding interface and a software decoding interface, the hardware decoding interface is preferentially invoked. Decoding, otherwise calling the software decoding interface for decoding;
渲染模块:用于确定终端提供的渲染条件,选定相适配的图形渲染接口将解码后的视频流绘制后输出到用户界面显示,当所述渲染条件包含硬件渲染接口和软件渲染接口时,优先调用所述硬件渲染接口进行渲染,否则调用所述软件渲染接口进行渲染。The rendering module is configured to determine a rendering condition provided by the terminal, and select a matching graphic rendering interface to draw the decoded video stream and output the result to the user interface display. When the rendering condition includes a hardware rendering interface and a software rendering interface, The hardware rendering interface is preferentially invoked for rendering, otherwise the software rendering interface is invoked for rendering.
另外,本发明还提供一种实现上述第一方面方法的终端设备,包括:视频解码器,视频渲染引擎,中央处理器,图形处理器,存储器,触敏显示器。In addition, the present invention further provides a terminal device for implementing the method of the above first aspect, comprising: a video decoder, a video rendering engine, a central processing unit, a graphics processor, a memory, and a touch sensitive display.
与现有技术相比,本发明具备如下优点:Compared with the prior art, the present invention has the following advantages:
本发明针对视频直播平台可以有效地规范直播视频流的编码格式,在观看直播视频的终端满足硬件解码条件和/或硬件渲染条件时,优选采用硬件解码和硬件渲染对直播视频流进行解码、渲染,可以保证高质量的直播视频流播放的流畅度,尤其对于VR视频流,采用硬件解码跟硬件渲染可以有效地降低终端CPU的占用率,解决采用软件编码和GDI渲染造成视频播放卡顿的问题;The present invention can effectively standardize the encoding format of the live video stream for the video live broadcast platform. When the terminal watching the live video meets the hardware decoding condition and/or the hardware rendering condition, the live decoding video stream is preferably decoded and rendered by hardware decoding and hardware rendering. It can ensure the smoothness of high-quality live video stream playback, especially for VR video stream, hardware decoding and hardware rendering can effectively reduce the CPU usage of the terminal, and solve the problem of video playback caused by software coding and GDI rendering. ;
另外,由于直播平台可以有效规范直播视频流的编码格式,可以有效地避免视频流编码格式不满足支持硬件解码的条件,为将视频流采用硬件解码提供更加便利的条件。In addition, since the live broadcast platform can effectively standardize the encoding format of the live video stream, the video stream encoding format can be effectively prevented from satisfying the condition of supporting hardware decoding, and the video stream is provided with hardware decoding to provide more convenient conditions.
显然,上述有关本发明优点的描述是概括性的,更多的优点描述将体现在后续的实施例揭示中,以及,本领域技术人员也可以本发明所揭示的内容合理地发现本发明的其他诸多优点。It is apparent that the above description of the advantages of the present invention is general, and more advantages will be described in the following embodiments, and those skilled in the art can also reasonably discover other aspects of the present invention. Many advantages.
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。 The additional aspects and advantages of the invention will be set forth in part in the description which follows.
【附图说明】[Description of the Drawings]
图1为本发明视频播放控制方法的一实施例流程示意图;1 is a schematic flow chart of an embodiment of a video playback control method according to the present invention;
图2为本发明确定终端解码器类型的一实施例流程示意图;2 is a schematic flow chart of an embodiment of determining a type of a terminal decoder according to the present invention;
图3为本发明播放直播视频流的一实施例示意图;3 is a schematic diagram of an embodiment of playing a live video stream according to the present invention;
图4为本发明视频播放控制装置的一实施例示意图。FIG. 4 is a schematic diagram of an embodiment of a video playback control apparatus according to the present invention.
【具体实施方式】【detailed description】
下面结合附图和示例性实施例对本发明作进一步地描述,其中附图中相同的标号全部指的是相同的部件。此外,如果已知技术的详细描述对于示出本发明的特征是不必要的,则将其省略。The invention is further described in the following with reference to the drawings and exemplary embodiments, wherein like reference numerals refer to the same parts throughout. Further, if a detailed description of a known technique is not necessary to show the features of the present invention, it will be omitted.
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。The singular forms "a", "an", "the" It is to be understood that the phrase "comprise" or "an" Integers, steps, operations, components, components, and/or groups thereof. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element. Further, "connected" or "coupled" as used herein may include either a wireless connection or a wireless coupling. The phrase "and/or" used herein includes all or any one and all combinations of one or more of the associated listed.
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。Those skilled in the art will appreciate that all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the invention belongs, unless otherwise defined. It should also be understood that terms such as those defined in a general dictionary should be understood to have meaning consistent with the meaning in the context of the prior art, and will not be idealized or excessive unless specifically defined as here. The formal meaning is explained.
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合 语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。Those skilled in the art can understand that the "terminal" and "terminal device" used herein include both a wireless signal receiver device, a device having only a wireless signal receiver without a transmitting capability, and a receiving and transmitting hardware. A device having a device capable of performing two-way communication receiving and transmitting hardware on a two-way communication link. Such devices may include cellular or other communication devices having a single line display or a multi-line display or a cellular or other communication device without a multi-line display; PCS (Personal Communications Service), which may combine voice, data processing, facsimile and / or data communications capabilities; PDA (personal digital Assistant, personal digital assistants), which may include network access to a radio frequency receiver, a pager, Internet / web browser, notepad, calendar and / or GPS (Global Positioning System (Global Positioning System) receiver; conventional laptop and/or palmtop computer or other device having a conventional laptop and/or palmtop computer or other device that includes and/or includes a radio frequency receiver. As used herein, "terminal", "terminal device" may be portable, transportable, installed in a vehicle (aviation, sea and/or land), or adapted and/or configured to operate locally, and/or Run in any other location on the Earth and/or space in a distributed form. The "terminal" and "terminal device" used herein may also be a communication terminal, an internet terminal, a music/video playing terminal, and may be, for example, a PDA, a MID (Mobile Internet Device), and/or have a music/video playback. Functional mobile phones can also be smart TVs, set-top boxes and other devices.
本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。Those skilled in the art can understand that the remote network device used herein includes, but is not limited to, a computer, a network host, a single network server, a plurality of network server sets, or a cloud composed of multiple servers. Here, the cloud is composed of a large number of computers or network servers based on Cloud Computing, which is a kind of distributed computing, a super virtual computer composed of a group of loosely coupled computers. In the embodiment of the present invention, the communication between the remote network device, the terminal device and the WNS server can be implemented by any communication method, including but not limited to, mobile communication based on 3GPP, LTE, WIMAX, TCP/IP, UDP protocol. Computer network communication and short-range wireless transmission based on Bluetooth and infrared transmission standards.
本领域技术人员应当理解,本发明所称的“应用”、“应用程序”、“应用软件”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作系统或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。Those skilled in the art should understand that the concepts of "application", "application", "application software" and similar expressions as used in the present invention are the same concepts well known to those skilled in the art, and are referred to by a series of computer instructions and related. Data software is an organically constructed computer software suitable for electronic operation. Unless otherwise specified, the naming itself is not limited by the type and level of programming language, nor by the operating system or platform on which it operates. Of course, such concepts are also not limited by any form of terminal.
本发明所述方法的实现依赖于移动终端操作系统中的某一功能模块或插件,具体为内置于移动终端的相应应用程序内的可执行代码或独立于任何应用程序的单独可执行的应用程序,其可以限定于特定的应用程序中执行,也能够运行于各种兼容的应用程序中。功能模块或插件的具体实现形式不作为对本发明的具体限定。 The implementation of the method of the present invention depends on a certain functional module or plug-in in the mobile terminal operating system, specifically executable code built in the corresponding application of the mobile terminal or a separately executable application independent of any application. It can be executed in a specific application and can run in a variety of compatible applications. The specific implementation form of the functional module or the plug-in is not specifically limited to the present invention.
直播间:本发明所述直播间包括以下含义,①一种基于网络直播平台创建的一个虚拟空间(或虚拟房间),直播间一般由主播客户端创建并连接有多个观看客户端,即直播间中包括了主播及多个观众,位于该虚拟空间内的观看客户端可以观看主播客户端的直播内容,同时主播客户端的用户与观看客户端的用户、观看客户端的用户与观看客户端的用户之间还可以进行语音、图片、文字或赠送电子赠品的互动;②一种以群组方式将用户聚合在一起的即时通讯平台,例如视频会议系统,用户通过登录客户端的方式进入群组,用户在群组内以群组成员的身份存在,同一个群组内包含有多个群组成员,用户可任意加入或退出群组,在群组内,可以进行文字、语音、视频等多种互动。The live broadcast room includes the following meanings: 1 a virtual space (or virtual room) created based on the webcast platform. The live broadcast room is generally created by the anchor client and connected to multiple viewing clients, that is, live broadcast. The anchor and the plurality of viewers are included in the room, and the viewing client located in the virtual space can watch the live content of the anchor client, and the user of the anchor client and the user who views the client, the user who views the client, and the user who views the client. You can interact with voice, pictures, text or electronic gifts; 2 an instant messaging platform that aggregates users together in groups, such as a video conferencing system, where users log in to the client to enter the group, and the user is in the group. The group exists as a member of the group. The same group contains multiple group members. The user can join or leave the group arbitrarily. Within the group, various interactions such as text, voice, and video can be performed.
如图1所示是本发明视频播放控制方法的一实施例流程示意图,包括如下步骤:FIG. 1 is a schematic flowchart of an embodiment of a video playback control method according to the present invention, including the following steps:
步骤S100:从服务器获取直播间的视频流。Step S100: Obtain a video stream between the live broadcasts from the server.
视频直播的播放流程为:观看端发出观看某一直播间的视频直播请求->服务器接收到该请求后将直播间的播放地址(一般是一个组播URL)返回给观看端->观看端根据该地址加入对应的组播组->然后从服务器上获取该直播间的视频流(流数据)。终端获取到所述视频流后,在将所述视频流转化为图像输出显示在终端用户界面之前,还需要对所述视频流进行解码、渲染等操作。The live broadcast process is as follows: the watcher sends a video live broadcast request to watch a live broadcast -> after receiving the request, the server returns the play address (usually a multicast URL) of the live broadcast to the viewer -> the watcher The address is added to the corresponding multicast group-> and then the video stream (stream data) of the live broadcast is obtained from the server. After the terminal obtains the video stream, before converting the video stream into an image output and displaying it on the terminal user interface, the video stream needs to be decoded, rendered, and the like.
优选的,所示视频流的编码格式为H.264或H.265编码格式,对于直播平台而言,可以有效地控制直播视频流的编码格式,进而为视频流的硬件解码提供更加便捷的条件。Preferably, the encoded format of the video stream is an H.264 or H.265 encoding format, and the live broadcast platform can effectively control the encoding format of the live video stream, thereby providing more convenient conditions for hardware decoding of the video stream. .
步骤S200:确定终端提供的解码条件,选择相适配的解码接口对所述视频流进行解码,当所述解码条件包含硬件解码接口和软件解码接口时,优先调用所述硬件解码接口进行解码,否则调用所述软件解码接口进行解码。Step S200: determining a decoding condition provided by the terminal, selecting an adapted decoding interface to decode the video stream, and when the decoding condition includes a hardware decoding interface and a software decoding interface, preferentially calling the hardware decoding interface to perform decoding, Otherwise, the software decoding interface is called for decoding.
步骤S300:确定终端提供的渲染条件,选定相适配的图形渲染接口将解码后的视频流绘制后输出到用户界面显示,当所述渲染条件包含硬件渲染接口和软件渲染接口时,优先调用所述硬件渲染接口进行渲染,否则调用所述软件渲染接口进行渲染。 Step S300: determining a rendering condition provided by the terminal, selecting a matching graphic rendering interface to draw the decoded video stream and outputting the output to the user interface display, and when the rendering condition includes a hardware rendering interface and a software rendering interface, preferentially calling The hardware rendering interface performs rendering, otherwise the software rendering interface is invoked for rendering.
在确定终端提供的解码条件和确定终端提供的渲染条件之前,本方法还包括步骤:Before determining the decoding condition provided by the terminal and determining the rendering condition provided by the terminal, the method further includes the steps of:
确定终端的操作系统版本。Determine the operating system version of the terminal.
所述操作系统为WINDOWS系统,由于微软在WINDOWS系统的WINDOWS7及以上版本才为系统底层配置了硬件加速接口,在WINDOWS7以下版本的操作系统无法满足硬件解码和硬件渲染的条件,故本实施例中,当终端的操作系统为WINDOWS7版本或WINDOWS7以上版本时,确定终端符合提供硬件解码和硬件渲染的前提条件,否则,调用软件解码接口对所述视频流进行软解码,然后再调用WINDOWS GDI将解码后的视频流绘制、输出到用户界面显示。The operating system is a WINDOWS system. Since Microsoft has configured a hardware acceleration interface for the underlying system in WINDOWS7 and above of the WINDOWS system, the operating system below WINDOWS7 cannot meet the conditions of hardware decoding and hardware rendering, so in this embodiment When the operating system of the terminal is WINDOWS7 version or WINDOWS7 or higher, it is determined that the terminal meets the preconditions for providing hardware decoding and hardware rendering. Otherwise, the software decoding interface is called to soft decode the video stream, and then the WINDOWS GDI is called to decode. The subsequent video stream is drawn and output to the user interface display.
在确定终端的操作系统为WINDOWS7版本或WINDOWS7以上版本后,还需确定终端的硬件是否支持硬件解码,故本实施例还包括步骤:After determining that the operating system of the terminal is the WINDOWS7 version or the WINDOWS7 or later version, it is also necessary to determine whether the hardware of the terminal supports hardware decoding. Therefore, the embodiment further includes the following steps:
确定终端支持的解码器类型。Determine the type of decoder supported by the terminal.
所述解码器类型包括NVIDIA硬件解码器、INTEL硬件解码器、AMD硬件解码器,硬件解码技术主要由NVIDIA/INTEL/AMD三家提供了,其中,Nvidia的显卡在硬件解码方面推出了PureVideo技术和PureVideo HD技术,Intel的显卡在硬件解码方面推出了Intel Clear Video技术,AMD的显卡在硬件解码方面推出了AMD Avivo技术和AMD Avivo HD技术。The decoder types include NVIDIA hardware decoder, INTEL hardware decoder, AMD hardware decoder, and hardware decoding technology is mainly provided by NVIDIA/INTEL/AMD. Among them, Nvidia's graphics card introduces PureVideo technology and PureVideo in hardware decoding. HD technology, Intel's graphics card introduced Intel Clear Video technology in hardware decoding, AMD's graphics card introduced AMD Avivo technology and AMD Avivo HD technology in hardware decoding.
同时,支持PureVideo技术的显卡有:GeForce6系列显卡,GeForce7系列显卡;支持PureVideo HD(第一代)技术的显卡有:GeForce6系列显卡,GeForce7系列显卡,GeForce6150集成显卡;支持PureVideo HD(第二代)技术的显卡有:GeForce8系列。At the same time, the graphics cards that support PureVideo technology are: GeForce6 series graphics cards, GeForce7 series graphics cards; graphics cards supporting PureVideo HD (first generation) technology: GeForce6 series graphics cards, GeForce7 series graphics cards, GeForce6150 integrated graphics; support PureVideo HD (second generation) The technical graphics cards are: GeForce8 series.
支持AMD Avaio技术的显卡有:ATi X1300/X1600/X1800/X1900系列、ATi HD2000/HD3000/HD4000系列、AMD HD5000/HD6000系列。Graphics cards that support AMD Avaio technology include the ATi X1300/X1600/X1800/X1900 series, the ATi HD2000/HD3000/HD4000 series, and the AMD HD5000/HD6000 series.
支持AMD Avaio HD技术的显卡有:ATI HD2400/HD2600系列。Graphics cards that support AMD Avaio HD technology are: ATI HD2400/HD2600 series.
支持Intel Clear Video技术的显卡有:Intel GMA X4500系列。Graphics cards that support Intel Clear Video technology are: Intel GMA X4500 series.
如图2所示是本实施例确定终端支持的解码器类型的流程图,具体的,FIG. 2 is a flowchart of determining a decoder type supported by a terminal according to the embodiment, specifically,
当终端支持Nvidia硬件解码器时,调用Nvidia硬件解码器的硬件解码接口对所述视频流进行解码; When the terminal supports the Nvidia hardware decoder, the hardware decoding interface of the Nvidia hardware decoder is called to decode the video stream;
当终端支持Intel硬件解码器时,调用Intel硬件解码器的硬件解码接口对所述视频流进行解码;When the terminal supports the Intel hardware decoder, the hardware decoding interface of the Intel hardware decoder is called to decode the video stream;
当终端支持AMD硬件解码器时,调用AMD硬件解码器的硬件解码接口对所述视频流进行解码。When the terminal supports the AMD hardware decoder, the hardware decoding interface of the AMD hardware decoder is called to decode the video stream.
对于是否可以进行硬件解码,除了终端本身系统及硬件的支持,还需要视频流的封装格式和编码格式都满足才可以进行硬件解码,故在视频直播领域中,直播平台可以严格控制直播视频流的编码格式(如H.264或H.265格式)及封装格式,对于视频流采用硬件解码提供了更便捷的条件。For hardware decoding, in addition to the support of the system and hardware of the terminal itself, the package format and encoding format of the video stream are required to be hardware decoded. Therefore, in the live broadcast field, the live broadcast platform can strictly control the live video stream. Encoding formats (such as H.264 or H.265 format) and encapsulation formats provide more convenient conditions for hardware decoding of video streams.
当对所述视频流解码之后,还需要对解码后的视频流进行渲染,此时还需要确定终端提供的渲染条件,当所述渲染条件包含硬件渲染接口和软件渲染接口时,优先调用所述硬件渲染接口进行渲染,否则调用所述软件渲染接口进行渲染。After the video stream is decoded, the decoded video stream needs to be rendered. In this case, it is also required to determine a rendering condition provided by the terminal. When the rendering condition includes a hardware rendering interface and a software rendering interface, the first call is performed. The hardware rendering interface is rendered, otherwise the software rendering interface is invoked for rendering.
具体的,所述硬件渲染接口为DirectX图形渲染接口,微软公司将DirectX11集成在Windows 7中,下述以DirectX 11为例进行说明:Specifically, the hardware rendering interface is a DirectX graphics rendering interface, and Microsoft Corporation integrates DirectX11 into Windows 7. The following is an example of DirectX 11:
一种实施方式为,当所述视频流采用硬件解码时,调用DirectX 11图形渲染接口将解码后的视频流转换成YUV 420格式,并装载到DirectX 11创建的纹理(一种保存在显存的图片容器)中,然后利用DirectX 11设备将视频流绘制后输出到用户界面显示,这种方式下可以最高程度地节省CPU的使用率。In one embodiment, when the video stream is decoded by hardware, the DirectX 11 graphics rendering interface is called to convert the decoded video stream into a YUV 420 format and loaded into a texture created by DirectX 11 (a picture saved in the video memory). In the container, the video stream is then drawn and output to the user interface display using the DirectX 11 device, which can save CPU usage to the utmost extent.
另一种实施方式为,当所述视频流采用软件解码时,调用DirectX 11图形渲染接口将解码后的视频流转化成RGBA格式并装载在显存中,然后再利用DirectX 11设备将视频流绘制后输出到用户界面显示。In another embodiment, when the video stream is decoded by software, the DirectX 11 graphics rendering interface is called to convert the decoded video stream into an RGBA format and loaded in the video memory, and then the video stream is drawn and output by using the DirectX 11 device. Displayed to the user interface.
并且,在所述视频流采用DirectX 11图形渲染接口渲染时,判断所述视频流是否为VR视频,若是,则采用3D图形渲染,否则,采用2D图形渲染。所述DirectX 11包含Direct 3D和Direct Draw接口,所述3D图形渲染通过调用Direct 3D接口进行,所述2D图形渲染通过调用Direct Draw进行,所述VR(Virtual Reality)视频又称为全景视频,是一种可以实现三维空间展示功能的视频,在视频直播领域,VR视频流是高分辨率,高码率,高帧率的视频直播流,若采用软件解码和GDI渲染,会占用终端过多的CPU资源,造成视频画面卡顿现象,而采用硬件解码和/或硬件渲染,可以有效地释放终 端CPU的压力,保证高质量的视频播放的流畅度。Moreover, when the video stream is rendered by the DirectX 11 graphics rendering interface, it is determined whether the video stream is a VR video, and if so, the 3D graphics rendering is performed; otherwise, the 2D graphics rendering is performed. The DirectX 11 includes a Direct 3D and a Direct Draw interface. The 3D graphics rendering is performed by calling a Direct 3D interface. The 2D graphics rendering is performed by calling a Direct Draw. The VR (Virtual Reality) video is also called a panoramic video. A video that can realize three-dimensional space display function. In the field of video live broadcast, VR video stream is a high-resolution, high-rate, high-frame-rate live video stream. If software decoding and GDI rendering are used, it will occupy too many terminals. CPU resources, causing video picture jamming, and using hardware decoding and / or hardware rendering, can effectively release the end The pressure of the CPU ensures the smoothness of high-quality video playback.
另外,本实施例中,开启采用硬件解码和/或硬件渲染的功能包括如下方式:In addition, in this embodiment, the function of turning on hardware decoding and/or hardware rendering includes the following manners:
一种实施方式为,当终端采用软件解码跟GDI渲染输出视频流后,检测到终端的CPU占用率高于预设阈值时,根据本发明所述方法对所述视频流进行硬件解码和/或硬件渲染,以降低终端的CPU占用率,降低视频流的掉帧情况,提高视频播放的流畅度,进而提升用户体验。An implementation manner is: when the terminal uses the software decoding and the GDI to render the output video stream, and after detecting that the CPU usage of the terminal is higher than a preset threshold, the video stream is hardware decoded and/or according to the method of the present invention. Hardware rendering, to reduce the CPU usage of the terminal, reduce the dropped frame of the video stream, improve the smoothness of video playback, and thus enhance the user experience.
第二种实施方式为,当终端获取到视频流后,根据终端提供的解码条件和渲染条件,若满足提供硬件解码和硬件渲染条件,则自动开启对视频流的硬件解码和硬件渲染。The second implementation manner is that, after the terminal acquires the video stream, according to the decoding condition and the rendering condition provided by the terminal, if the hardware decoding and hardware rendering conditions are met, the hardware decoding and hardware rendering of the video stream are automatically turned on.
另一种实施方式为,当接收到用户的控制指令时开启对视频流的硬件解码和/或硬件渲染,所述控制指令可以在终端获取视频流之前触发或者在终端获取视频流之后触发,如图3所示是本发明播放直播视频流的一实施例示意图,用户可以点击图3中箭头指向的按钮开启对视频流的硬件解码和硬件渲染。Another embodiment is to enable hardware decoding and/or hardware rendering of the video stream when receiving the control instruction of the user, and the control instruction may be triggered before the terminal acquires the video stream or after the terminal acquires the video stream, such as FIG. 3 is a schematic diagram of an embodiment of playing a live video stream according to the present invention. The user can click on the button pointed to by the arrow in FIG. 3 to enable hardware decoding and hardware rendering of the video stream.
第二方面,如图4所示是本发明视频播放控制装置的一实施例示意图,包括:In a second aspect, FIG. 4 is a schematic diagram of an embodiment of a video playback control apparatus according to the present invention, including:
读取模块100:用于从服务器获取直播间的视频流。The reading module 100 is configured to acquire a video stream between the live broadcasts from the server.
视频直播的播放流程为:观看端发出观看某一直播间的视频直播请求->服务器接收到该请求后将直播间的播放地址(一般是一个组播URL)返回给观看端->观看端根据该地址加入对应的组播组->然后从服务器上获取该直播间的视频流(流数据)。读取模块100获取到所述视频流后,在将所述视频流转化为图像输出显示在终端用户界面之前,还需要对所述视频流进行解码、渲染等操作。The live broadcast process is as follows: the watcher sends a video live broadcast request to watch a live broadcast -> after receiving the request, the server returns the play address (usually a multicast URL) of the live broadcast to the viewer -> the watcher The address is added to the corresponding multicast group-> and then the video stream (stream data) of the live broadcast is obtained from the server. After the reading module 100 obtains the video stream, before converting the video stream into an image output and displaying it on the terminal user interface, the video stream needs to be decoded, rendered, and the like.
解码模块200:用于确定终端提供的解码条件,选择相适配的解码接口对所述视频流进行解码,当所述解码条件包含硬件解码接口和软件解码接口时,优先调用所述硬件解码接口进行解码,否则调用所述软件解码接口进行解码。The decoding module 200 is configured to determine a decoding condition provided by the terminal, select an adapted decoding interface to decode the video stream, and preferentially invoke the hardware decoding interface when the decoding condition includes a hardware decoding interface and a software decoding interface. Decoding is performed, otherwise the software decoding interface is called for decoding.
渲染模块300:用于确定终端提供的渲染条件,选定相适配的图形渲染接口将解码后的视频流绘制后输出到用户界面显示,当所述渲染条件包含硬 件渲染接口和软件渲染接口时,优先调用所述硬件渲染接口进行渲染,否则调用所述软件渲染接口进行渲染。The rendering module 300 is configured to determine a rendering condition provided by the terminal, and select a matching graphic rendering interface to draw the decoded video stream and output the output to the user interface, when the rendering condition includes a hard When the rendering interface and the software rendering interface are used, the hardware rendering interface is preferentially called for rendering, otherwise the software rendering interface is called for rendering.
本实施例中,当终端的操作系统为WINDOWS7版本或WINDOWS7以上版本时,确定终端符合提供硬件解码和硬件渲染的前提条件,否则,解码模块200调用软件解码接口对所述视频流进行软解码,然后渲染模块300再调用WINDOWS GDI将解码后的视频流绘制、输出到用户界面显示。In this embodiment, when the operating system of the terminal is the WINDOWS7 version or the WINDOWS7 or higher version, it is determined that the terminal meets the prerequisites for providing hardware decoding and hardware rendering. Otherwise, the decoding module 200 calls the software decoding interface to perform soft decoding on the video stream. The rendering module 300 then calls WINDOWS GDI to draw and output the decoded video stream to the user interface display.
在确定终端的操作系统为WINDOWS7版本或WINDOWS7以上版本后,还需确定终端支持的解码器类型,所述解码器类型包括NVIDIA硬件解码器、INTEL硬件解码器、AMD硬件解码器;After determining that the operating system of the terminal is a WINDOWS7 version or a WINDOWS7 or higher version, it is also necessary to determine a decoder type supported by the terminal, the decoder type including an NVIDIA hardware decoder, an INTEL hardware decoder, and an AMD hardware decoder;
当终端支持Nvidia硬件解码器时,解码模块200调用Nvidia硬件解码器的硬件解码接口对所述视频流进行解码;When the terminal supports the Nvidia hardware decoder, the decoding module 200 calls the hardware decoding interface of the Nvidia hardware decoder to decode the video stream;
当终端支持Intel硬件解码器时,解码模块200调用Intel硬件解码器的硬件解码接口对所述视频流进行解码;When the terminal supports the Intel hardware decoder, the decoding module 200 calls the hardware decoding interface of the Intel hardware decoder to decode the video stream;
当终端支持AMD硬件解码器时,解码模块200调用AMD硬件解码器的硬件解码接口对所述视频流进行解码。When the terminal supports the AMD hardware decoder, the decoding module 200 calls the hardware decoding interface of the AMD hardware decoder to decode the video stream.
当对所述视频流解码之后,还需要确定终端提供的渲染条件,当所述视频流采用硬件解码时,渲染模块300调用DirectX 11图形渲染接口将解码后的视频流转换成YUV 420格式,并装载到DirectX 11创建的纹理(一种保存在显存的图片容器)中,然后利用DirectX 11设备将视频流绘制后输出到用户界面显示;当所述视频流采用软件解码时,渲染模块300调用DirectX 11图形渲染接口将解码后的视频流转化成RGBA格式并装载在显存中,然后再利用DirectX 11设备将视频流绘制后输出到用户界面显示。After decoding the video stream, it is also required to determine a rendering condition provided by the terminal. When the video stream is hardware decoded, the rendering module 300 calls the DirectX 11 graphics rendering interface to convert the decoded video stream into the YUV 420 format, and Loaded into the texture created by DirectX 11 (a type of image container saved in the video memory), and then the video stream is drawn by the DirectX 11 device and output to the user interface display; when the video stream is decoded by software, the rendering module 300 calls DirectX. 11 graphics rendering interface converts the decoded video stream into RGBA format and loads it in the video memory, and then uses the DirectX 11 device to draw the video stream and output it to the user interface display.
第三方面,本发明还提供一种终端设备,用于实现上述视频播放控制方法,包括:视频解码器,视频渲染引擎,中央处理器,图形处理器,存储器,触敏显示器。In a third aspect, the present invention further provides a terminal device, which is used to implement the above video playback control method, including: a video decoder, a video rendering engine, a central processing unit, a graphics processor, a memory, and a touch sensitive display.
本发明针对视频直播平台可以有效地规范直播视频流的编码格式,在观看直播视频的终端满足硬件解码条件和/或硬件渲染条件时,优选采用硬件解码和硬件渲染对直播视频流进行解码、渲染,可以保证高质量的直播视频流播放的流畅度,尤其对于VR视频流,采用硬件解码跟硬件渲染可以有效地降低终端CPU的占用率,解决采用软件编码和GDI渲染造成视频播放卡顿 的问题;The present invention can effectively standardize the encoding format of the live video stream for the video live broadcast platform. When the terminal watching the live video meets the hardware decoding condition and/or the hardware rendering condition, the live decoding video stream is preferably decoded and rendered by hardware decoding and hardware rendering. It can ensure the smoothness of high-quality live video stream playback. Especially for VR video stream, hardware decoding and hardware rendering can effectively reduce the CPU usage of the terminal, and solve the problem of video playback caused by software coding and GDI rendering. The problem;
另外,由于直播平台可以有效规范直播视频流的编码格式,可以有效地避免视频流编码格式不满足支持硬件解码的条件,为将视频流采用硬件解码提供更加便利的条件。In addition, since the live broadcast platform can effectively standardize the encoding format of the live video stream, the video stream encoding format can be effectively prevented from satisfying the condition of supporting hardware decoding, and the video stream is provided with hardware decoding to provide more convenient conditions.
虽然上面已经示出了本发明的一些示例性实施例,但是本领域的技术人员将理解,在不脱离本发明的原理或精神的情况下,可以对这些示例性实施例做出改变,本发明的范围由权利要求及其等同物限定。 While some exemplary embodiments of the invention have been shown in the foregoing, the embodiments of the invention may The scope is defined by the claims and their equivalents.

Claims (10)

  1. 一种视频播放控制方法,其特征在于,包括如下步骤:A video playback control method includes the following steps:
    从服务器获取直播间的视频流;Obtaining a video stream between the live broadcasts from the server;
    确定终端提供的解码条件,选择相适配的解码接口对所述视频流进行解码,当所述解码条件包含硬件解码接口和软件解码接口时,优先调用所述硬件解码接口进行解码,否则调用所述软件解码接口进行解码;Determining a decoding condition provided by the terminal, selecting an adapted decoding interface to decode the video stream, and when the decoding condition includes a hardware decoding interface and a software decoding interface, preferentially calling the hardware decoding interface to decode, otherwise calling the device Decoding the software decoding interface;
    确定终端提供的渲染条件,选定相适配的图形渲染接口将解码后的视频流绘制后输出到用户界面显示,当所述渲染条件包含硬件渲染接口和软件渲染接口时,优先调用所述硬件渲染接口进行渲染,否则调用所述软件渲染接口进行渲染。Determining a rendering condition provided by the terminal, selecting a matching graphic rendering interface to draw the decoded video stream and outputting the output to the user interface display, and preferentially calling the hardware when the rendering condition includes a hardware rendering interface and a software rendering interface The rendering interface is rendered, otherwise the software rendering interface is called for rendering.
  2. 根据权利要求1所述的方法,其特征在于,在所述确定终端提供的解码条件和确定终端提供的渲染条件之前,还包括:The method according to claim 1, wherein before the determining the decoding condition provided by the terminal and determining the rendering condition provided by the terminal, the method further includes:
    确定终端的操作系统版本。Determine the operating system version of the terminal.
  3. 根据权利要求2所述的方法,其特征在于,所述操作系统为WINDOWS系统,当终端的操作系统为WINDOWS7版本或WINDOWS7以上版本时,确定终端符合提供硬件解码和硬件渲染的前提条件,否则调用软件解码接口对所述视频流进行解码,再调用软件渲染接口将解码后的视频流绘制后输出到用户界面显示。The method according to claim 2, wherein the operating system is a WINDOWS system, and when the operating system of the terminal is a WINDOWS7 version or a WINDOWS7 or higher version, the terminal is determined to meet the preconditions for providing hardware decoding and hardware rendering, otherwise The software decoding interface decodes the video stream, and then calls the software rendering interface to draw the decoded video stream and output it to the user interface for display.
  4. 根据权利要求1所述的方法,其特征在于,所述确定终端提供的解码条件,选择相适配的解码接口对所述视频流进行解码的步骤,具体包括:The method according to claim 1, wherein the step of determining a decoding condition provided by the terminal, and selecting a matching decoding interface to decode the video stream, specifically includes:
    确定终端支持的解码器类型,所述解码器类型包括Nvidia硬件解码器、Intel硬件解码器、AMD硬件解码器;Determining a decoder type supported by the terminal, the decoder type including an Nvidia hardware decoder, an Intel hardware decoder, and an AMD hardware decoder;
    当终端支持Nvidia硬件解码器时,调用Nvidia硬件解码器的硬件解码接口对所述视频流进行解码;When the terminal supports the Nvidia hardware decoder, the hardware decoding interface of the Nvidia hardware decoder is called to decode the video stream;
    当终端支持Intel硬件解码器时,调用Intel硬件解码器的硬件解码接口对所述视频流进行解码;When the terminal supports the Intel hardware decoder, the hardware decoding interface of the Intel hardware decoder is called to decode the video stream;
    当终端支持AMD硬件解码器时,调用AMD硬件解码器的硬件解码接口对所述视频流进行解码。When the terminal supports the AMD hardware decoder, the hardware decoding interface of the AMD hardware decoder is called to decode the video stream.
  5. 根据权利要求1所述的方法,其特征在于,所述硬件渲染接口为 DirectX 11图形渲染接口,当所述视频流采用硬件解码时,调用DirectX 11图形渲染接口将解码后的视频流转换成YUV 420格式,并装载到DirectX 11创建的纹理中,然后利用DirectX 11设备将视频流绘制后输出到用户界面上。The method of claim 1 wherein said hardware rendering interface is DirectX 11 graphics rendering interface, when the video stream is hardware decoded, call the DirectX 11 graphics rendering interface to convert the decoded video stream into YUV 420 format, and load it into the texture created by DirectX 11, and then use DirectX 11 device The video stream is drawn and output to the user interface.
  6. 根据权利要求5所述的方法,其特征在于,当所述视频流采用软件解码时,调用DirectX 11图形渲染接口将解码后的视频流转化成RGBA格式并装载在显存中,然后利用DirectX 11设备将视频流绘制后输出到用户界面上。The method according to claim 5, wherein when the video stream is decoded by software, the DirectX 11 graphics rendering interface is called to convert the decoded video stream into an RGBA format and loaded in the video memory, and then the DirectX 11 device is used. The video stream is drawn and output to the user interface.
  7. 根据权利要求5或6所述的方法,其特征在于,当所述视频流采用硬件渲染时,判断所述视频流是否为VR视频,若是,则采用3D图形渲染,否则,采用2D图形渲染。The method according to claim 5 or 6, wherein when the video stream is rendered by hardware, it is determined whether the video stream is a VR video, and if so, 3D graphics rendering is used; otherwise, 2D graphics rendering is adopted.
  8. 根据权利要求1或2所述的方法,其特征在于,在所述从服务器获取直播间的视频流的步骤之后,当接收到用户的控制指令时才执行所述方法的后续步骤。The method according to claim 1 or 2, wherein after the step of obtaining the video stream between the live broadcasts from the server, the subsequent steps of the method are performed when the control instruction of the user is received.
  9. 一种视频播放控制装置,其特征在于,包括:A video playback control device, comprising:
    读取模块:用于从服务器获取直播间的视频流;Read module: used to obtain a video stream between live broadcasts from a server;
    解码模块:用于确定终端提供的解码条件,选择相适配的解码接口对所述视频流进行解码,当所述解码条件包含硬件解码接口和软件解码接口时,优先调用所述硬件解码接口进行解码,否则调用所述软件解码接口进行解码;a decoding module: configured to determine a decoding condition provided by the terminal, and select an adapted decoding interface to decode the video stream. When the decoding condition includes a hardware decoding interface and a software decoding interface, the hardware decoding interface is preferentially invoked. Decoding, otherwise calling the software decoding interface for decoding;
    渲染模块:用于确定终端提供的渲染条件,选定相适配的图形渲染接口将解码后的视频流绘制后输出到用户界面显示,当所述渲染条件包含硬件渲染接口和软件渲染接口时,优先调用所述硬件渲染接口进行渲染,否则调用所述软件渲染接口进行渲染。The rendering module is configured to determine a rendering condition provided by the terminal, and select a matching graphic rendering interface to draw the decoded video stream and output the result to the user interface display. When the rendering condition includes a hardware rendering interface and a software rendering interface, The hardware rendering interface is preferentially invoked for rendering, otherwise the software rendering interface is invoked for rendering.
  10. 一种终端设备,用于执行如权利要求1-8所述方法的步骤,其特征在于,包括:视频解码器,视频渲染引擎,中央处理器,图形处理器,存储器,触敏显示器。 A terminal device for performing the steps of the method of claims 1-8, comprising: a video decoder, a video rendering engine, a central processing unit, a graphics processor, a memory, and a touch sensitive display.
PCT/CN2017/107311 2016-12-30 2017-10-23 Video play control method and apparatus and terminal device WO2018121014A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201611259122.8 2016-12-30
CN201611259122.8A CN106713937A (en) 2016-12-30 2016-12-30 Video playing control method and device as well as terminal equipment

Publications (1)

Publication Number Publication Date
WO2018121014A1 true WO2018121014A1 (en) 2018-07-05

Family

ID=58905684

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/107311 WO2018121014A1 (en) 2016-12-30 2017-10-23 Video play control method and apparatus and terminal device

Country Status (2)

Country Link
CN (1) CN106713937A (en)
WO (1) WO2018121014A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114007077A (en) * 2021-11-17 2022-02-01 北京百度网讯科技有限公司 Multimedia resource processing method and device, electronic equipment and storage medium
CN114611101A (en) * 2022-03-17 2022-06-10 杭州云深科技有限公司 Data processing system for acquiring application software trend
CN115665485A (en) * 2022-12-26 2023-01-31 杭州星犀科技有限公司 Video picture optimization method and device, storage medium and video terminal
CN118101971A (en) * 2024-04-26 2024-05-28 飞狐信息技术(天津)有限公司 Decoding data rendering method and device, electronic equipment and storage medium

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713937A (en) * 2016-12-30 2017-05-24 广州虎牙信息科技有限公司 Video playing control method and device as well as terminal equipment
CN109309867A (en) * 2017-07-28 2019-02-05 中兴通讯股份有限公司 Display methods, display terminal and the computer readable storage medium of terminal
CN107864343B (en) * 2017-10-09 2019-01-29 上海幻电信息科技有限公司 Computer live streaming image rendering method and system based on video card
CN108040258B (en) * 2017-11-21 2020-05-15 北京臻迪科技股份有限公司 Encoding and decoding method, device and system
CN109963191A (en) * 2017-12-14 2019-07-02 中兴通讯股份有限公司 A kind of processing method of video information, device and storage medium
CN110022480B (en) * 2018-01-09 2022-03-25 武汉斗鱼网络科技有限公司 H265 hardware coding method based on AMD display card and live broadcast platform
CN110022479A (en) * 2018-01-09 2019-07-16 武汉斗鱼网络科技有限公司 A kind of H265 hardware encoding method and live streaming platform based on Nvidia Maxwell2 video card
CN110022478A (en) * 2018-01-09 2019-07-16 武汉斗鱼网络科技有限公司 A kind of H265 hardware encoding method and live streaming platform based on Intel SkyLake integrated graphics card
CN108235096A (en) * 2018-01-18 2018-06-29 湖南快乐阳光互动娱乐传媒有限公司 Method for intelligently switching soft decoding and playing video through hard decoding of mobile terminal
CN108400977A (en) * 2018-02-07 2018-08-14 苏州科达科技股份有限公司 Video data transfers method and device
CN108600813A (en) * 2018-05-17 2018-09-28 上海七牛信息技术有限公司 a kind of media file playing method, device and media play system
CN110620954B (en) * 2018-06-20 2021-11-26 阿里巴巴(中国)有限公司 Video processing method, device and storage medium for hard solution
CN109005420B (en) * 2018-08-10 2021-08-24 深圳Tcl数字技术有限公司 Video frame playing and acquiring method, television, cloud platform server and system
CN109088887A (en) * 2018-09-29 2018-12-25 北京金山云网络技术有限公司 A kind of decoded method and device of Streaming Media
CN109194983A (en) * 2018-10-10 2019-01-11 贵阳朗玛信息技术股份有限公司 Live broadcasting method, system, storage medium, broadcasting server and server cluster
CN109302617B (en) * 2018-10-19 2020-12-15 武汉斗鱼网络科技有限公司 Multi-element-designated video microphone connecting method, device, equipment and storage medium
CN111246214B (en) * 2018-11-28 2022-05-06 杭州海康威视数字技术股份有限公司 Video decoding method and device
CN111836101A (en) * 2019-04-19 2020-10-27 深圳市茁壮网络股份有限公司 Video playing method and device
CN113055744B (en) * 2020-08-31 2023-07-07 惠州华阳通用电子有限公司 Video decoding method and device
CN112203097A (en) * 2020-09-30 2021-01-08 苏州臻迪智能科技有限公司 Adaptive video decoding method and device, terminal equipment and storage medium
CN113032080B (en) * 2021-03-31 2023-06-27 广州虎牙科技有限公司 Page implementation method, application program, electronic device and storage medium
CN115734011A (en) * 2021-08-25 2023-03-03 上海擎感智能科技有限公司 Video data processing method and video playing system
CN114222185B (en) * 2021-12-10 2024-04-05 洪恩完美(北京)教育科技发展有限公司 Video playing method, terminal equipment and storage medium
CN114222073B (en) * 2021-12-13 2023-02-17 北京百度网讯科技有限公司 Video output method, video output device, electronic equipment and storage medium
CN116095355B (en) * 2023-01-18 2024-06-21 百果园技术(新加坡)有限公司 Video display control method and device, equipment, medium and product thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102074257A (en) * 2011-01-17 2011-05-25 博视联(苏州)信息科技有限公司 Software and hardware-decoding general multi-media playing equipment and playing method thereof
CN103702124A (en) * 2012-09-27 2014-04-02 深圳市快播科技有限公司 Transcoding acceleration method and transcoder
CN104185062A (en) * 2013-05-27 2014-12-03 中兴通讯股份有限公司 Method for processing video streams by terminal and terminal
CN106131550A (en) * 2016-07-25 2016-11-16 合网络技术(北京)有限公司 Play the method and device of multimedia file
CN106713937A (en) * 2016-12-30 2017-05-24 广州虎牙信息科技有限公司 Video playing control method and device as well as terminal equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102074257A (en) * 2011-01-17 2011-05-25 博视联(苏州)信息科技有限公司 Software and hardware-decoding general multi-media playing equipment and playing method thereof
CN103702124A (en) * 2012-09-27 2014-04-02 深圳市快播科技有限公司 Transcoding acceleration method and transcoder
CN104185062A (en) * 2013-05-27 2014-12-03 中兴通讯股份有限公司 Method for processing video streams by terminal and terminal
CN106131550A (en) * 2016-07-25 2016-11-16 合网络技术(北京)有限公司 Play the method and device of multimedia file
CN106713937A (en) * 2016-12-30 2017-05-24 广州虎牙信息科技有限公司 Video playing control method and device as well as terminal equipment

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114007077A (en) * 2021-11-17 2022-02-01 北京百度网讯科技有限公司 Multimedia resource processing method and device, electronic equipment and storage medium
CN114007077B (en) * 2021-11-17 2023-09-01 北京百度网讯科技有限公司 Method and device for processing multimedia resources, electronic equipment and storage medium
CN114611101A (en) * 2022-03-17 2022-06-10 杭州云深科技有限公司 Data processing system for acquiring application software trend
CN114611101B (en) * 2022-03-17 2024-04-26 杭州云深科技有限公司 Data processing system for acquiring trend of application software
CN115665485A (en) * 2022-12-26 2023-01-31 杭州星犀科技有限公司 Video picture optimization method and device, storage medium and video terminal
CN118101971A (en) * 2024-04-26 2024-05-28 飞狐信息技术(天津)有限公司 Decoding data rendering method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN106713937A (en) 2017-05-24

Similar Documents

Publication Publication Date Title
WO2018121014A1 (en) Video play control method and apparatus and terminal device
WO2018095174A1 (en) Control method, device, and terminal apparatus for synthesizing video stream of live streaming room
WO2021047419A1 (en) Live broadcast interaction method, live broadcast system, electronic device and storage medium
CN111803940B (en) Game processing method and device, electronic equipment and computer-readable storage medium
WO2018095146A1 (en) Method, device, and terminal apparatus for synthesizing video stream of live streaming room
US10250683B2 (en) Server node arrangement and method
CN101047853B (en) Server apparatus and video transmission method
US9635373B2 (en) System and method for low bandwidth display information transport
CN106412621A (en) Video display method and device of network studio, control method and related equipment
KR20080089134A (en) System and method for remote control
CN112843676B (en) Data processing method, device, terminal, server and storage medium
US8526882B2 (en) Data transmission device, system and method using the same
US20220239920A1 (en) Video processing method, related apparatus, storage medium, and program product
CN113225592A (en) Screen projection method and device based on Wi-Fi P2P
CN113596571B (en) Screen sharing method, device, system, storage medium and computer equipment
CN117676241A (en) Digital factory large scene display method and system based on server three-dimensional rendering
CN116566963B (en) Audio processing method and device, electronic equipment and storage medium
CN103188210A (en) Terminal and method for playing media content of mobile terminal on large screen client
CN113014950A (en) Live broadcast synchronization method and system and electronic equipment
CN116170636A (en) Live video playing method and device, equipment and medium thereof
CN113766266B (en) Audio and video processing method, device, equipment and storage medium
WO2016107174A1 (en) Method and system for processing multimedia file data, player and client
CN113630575B (en) Method, system and storage medium for displaying images of multi-person online video conference
JP2008139977A (en) Network system
CN116264619A (en) Resource processing method, device, server, terminal, system and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17888219

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17888219

Country of ref document: EP

Kind code of ref document: A1