WO2018090918A1 - 一种视频文件的处理方法、装置和*** - Google Patents

一种视频文件的处理方法、装置和*** Download PDF

Info

Publication number
WO2018090918A1
WO2018090918A1 PCT/CN2017/111003 CN2017111003W WO2018090918A1 WO 2018090918 A1 WO2018090918 A1 WO 2018090918A1 CN 2017111003 W CN2017111003 W CN 2017111003W WO 2018090918 A1 WO2018090918 A1 WO 2018090918A1
Authority
WO
WIPO (PCT)
Prior art keywords
stream
video
separated data
cloud
video file
Prior art date
Application number
PCT/CN2017/111003
Other languages
English (en)
French (fr)
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 中兴通讯股份有限公司
Priority to EP17871436.6A priority Critical patent/EP3544303A4/en
Publication of WO2018090918A1 publication Critical patent/WO2018090918A1/zh

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2408Monitoring of the upstream path of the transmission network, e.g. client requests
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25833Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number

Definitions

  • the present invention relates to video playback technologies, and in particular, to a video file processing method, apparatus, and system.
  • ICA Citrix Citrix's Independent Computing Architecture
  • VMware's PcoIP ie PC-over-IP
  • Microsoft's Remote Desktop Protocol RDP
  • SPICE Red Hat's Independent Computing Environment Simple Protocol
  • the main support for video playback is Citrix's cloud desktop, but it cannot adapt to all processors. It is often the case that when a user plays video on other types of cloud desktops, there may be cases where the video playback is not smooth or even the cloud desktop is launched.
  • the embodiment of the present invention is to provide a general video file processing method, apparatus, and system, which can adapt to different cloud desktop protocols and operating systems for video playback.
  • an embodiment of the present invention provides a method for processing a video file, where the method is applied to a cloud desktop server, and the method includes:
  • the separated data stream is sent through a channel corresponding to the separated data stream.
  • the intercepting the video file stream to be played specifically includes:
  • the video file to be played as indicated by the play command is intercepted.
  • the separating the video file stream according to the data type, and obtaining the separated data stream specifically includes:
  • the video file stream is separated into an audio stream, a video stream, and a subtitle stream by the player.
  • the sending the separated data stream by using the channel corresponding to the separated data stream includes:
  • the method further includes:
  • the play indication information is used to indicate a window position and a window size of the video play.
  • the method before the intercepting the video file stream to be played, the method further includes:
  • an embodiment of the present invention provides a method for processing a video file, where the method is applied to a cloud terminal, and the method includes:
  • the separated data stream is decoded and played.
  • the method further includes:
  • a window for playing is established according to the play instruction information.
  • the separated data stream includes an audio stream, a video stream, and a subtitle stream
  • the establishing a transmission channel corresponding to the separated data stream includes:
  • the method before the establishing the transmission channel corresponding to the separated data stream, the method further includes:
  • an embodiment of the present invention provides a cloud desktop server, where the cloud desktop server includes: a first communication interface, a first memory, a first processor, and a first bus;
  • the first bus is configured to connect the first communication interface, the first processor and the first memory, and mutual communication between the devices;
  • the first communication interface is configured to perform data transmission with an external network element
  • the first memory is configured to store instructions and data
  • the first processor executing the instruction is configured to: intercept a video file stream to be played;
  • the first processor executes the instruction to: when the play instruction is acquired, intercept the video file to be played as indicated by the play instruction.
  • the first processor executes the instruction set to construct a player
  • the video file stream is separated into an audio stream, a video stream, and a subtitle stream by the player.
  • the first communication interface is set to:
  • the first communication interface is further configured to send play indication information, where the play indication information is used to indicate a window position and a window size of the video play.
  • the first communication interface is further configured to acquire video decoding capability of the cloud terminal.
  • an embodiment of the present invention provides a cloud terminal, where the cloud terminal includes: a second communication interface, a second memory, a second processor, a display unit, and a second bus;
  • the second bus is configured to connect the second communication interface, the second processor, the display unit, and the second memory, and mutual communication between the devices;
  • the second communication interface is configured to perform data transmission with an external network element
  • the second memory is configured to store instructions and data
  • the second processor executing the instruction is set to: establish a transmission channel corresponding to the separated data stream;
  • the second communication interface is configured to receive the play indication information
  • the second processor executing the instruction is configured to: establish a window for playing according to the play indication information.
  • the separated data stream includes an audio stream, a video stream, and a subtitle stream
  • the second processor executes the instruction set to: establish for transmitting the tone a frequency stream, the video stream, and a transmission channel of the subtitle stream.
  • the second communication interface is further configured to establish a connection with the cloud desktop server and report the video decoding capability of the cloud terminal itself to the cloud desktop server;
  • an embodiment of the present invention provides a processing system for a video file, where the system includes a cloud desktop server and a cloud terminal;
  • the cloud desktop server is configured to intercept a video file stream to be played
  • the cloud terminal is configured to establish a transmission channel corresponding to the separated data stream
  • a storage medium comprising a stored program, wherein the program is executed to perform the method of any of the above.
  • a processor for running a program wherein the program is executed to perform the method of any of the above.
  • the embodiment of the invention provides a method, a device and a system for processing a video file, which separates different data streams of the video file through the cloud desktop, and transmits the separated data stream to the terminal, and performs video decoding locally through the terminal.
  • FIG. 1 is a schematic flowchart of a method for processing a video file according to an embodiment of the present disclosure
  • FIG. 2 is a schematic flowchart of another method for processing a video file according to an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of a specific implementation process of video playback of a cloud terminal according to an embodiment of the present disclosure
  • FIG. 4 is a schematic flowchart of a method for processing a video file according to an embodiment of the present invention
  • FIG. 5 is a schematic structural diagram of a cloud desktop system according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram of a cloud desktop server according to an embodiment of the present disclosure.
  • FIG. 7 is a schematic structural diagram of another cloud desktop server according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic diagram of a working principle of a cloud desktop server according to an embodiment of the present invention.
  • FIG. 9 is a schematic structural diagram of a cloud terminal according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic structural diagram of another cloud terminal according to an embodiment of the present disclosure.
  • FIG. 11 is a schematic diagram of an entity structure of a cloud desktop server according to an embodiment of the present disclosure.
  • FIG. 12 is a schematic diagram of an entity structure of a cloud terminal according to an embodiment of the present disclosure.
  • FIG. 13 is a schematic structural diagram of a video file processing system according to an embodiment of the present invention.
  • the method may be applied to a cloud desktop server.
  • the method may include:
  • S102 Separating the video file streams according to a data type to obtain a separated data stream.
  • S103 Send the separated data stream by using a channel corresponding to the separated data stream.
  • the video file stream is not decoded, but only separated according to the data type, and the separated data is separated.
  • the stream is sent to the cloud terminal to make the cloud terminal according to the local
  • the hardware decoding capability decodes and plays the separated data stream, reduces the running pressure of the cloud desktop server, and reduces the traffic between the cloud terminal and the cloud desktop server, and can adapt the video playback of different cloud desktop protocols.
  • the intercepting the video file stream to be played specifically includes:
  • the video file to be played as indicated by the play command is intercepted.
  • the windows system is used as an example, and the system hook can be injected into the cloud desktop server through the system plug-in.
  • the system hook is triggered. , intercept the video file to be played.
  • the system hook Hook is a very important system interface, which can monitor various event messages in the system or process, intercept the messages sent to the target window and process them.
  • the system hook can capture the specific message before the destination address is reached, that is, the hook function first gains control.
  • the system hook can process or change the specific message, or continue to deliver the message without processing, and can also force the end of the message.
  • the system hook can monitor the messages sent by all processes, and intercept the message for subsequent processing;
  • the pstrace mechanism can be used to replace the existing function interface by injecting the pre-written dynamic link library, thereby entering the processing process of the video file, and then intercepting the to-be-played. Video file.
  • the separating the video file stream according to the data type to obtain the separated data stream includes:
  • the video file stream is separated into an audio stream, a video stream, and a subtitle stream by the player.
  • the transmitting by the channel corresponding to the separated data stream, the separated data stream, specifically:
  • a simple player can be constructed, and the player mainly functions to separate and transmit the video file stream.
  • the player can be built through the DirectShow framework, which mainly includes a splitter and a renderer, and the renderer does not perform real display but is used to transmit the separated video stream.
  • the player can be built by the gstreamer framework.
  • the player also mainly includes a splitter and a renderer, wherein the renderer is a modified gstreamer component, which is mainly used to transmit the separated video stream.
  • the video file stream usually includes an audio stream and a video stream, and for a non-native video file, a subtitle stream can also be included, so that the constructed player can separate the video file stream into an audio stream, a video stream, and a subtitle stream. .
  • the constructed player may need to transmit the separated audio stream, video stream and subtitle stream to the cloud terminal.
  • the cloud desktop server and the cloud terminal establish a TCP channel corresponding to the separated audio stream, the video stream, and the subtitle stream, and notify the cloud terminal of the identifier of each TCP channel, such as the port number, so that the cloud desktop server can
  • the audio channel, the video stream and the subtitle stream are transmitted through the established TCP channel; and the cloud terminal can also receive the separated audio stream, video stream and subtitle stream from the corresponding TCP channel according to the identifier of each TCP channel, such as the port number.
  • the data stream transmitted in the TCP channel is only the separated data, that is, the data before the video decoding, and the data volume is less than the video display screen, so the data transmission between the cloud terminal and the cloud desktop server is reduced. Traffic.
  • the cloud desktop server may also send the play indication information to the cloud terminal while transmitting the separated data stream.
  • the play indication information is used to indicate the window when the cloud terminal plays the video during the video play. Play parameters such as position and window size.
  • the cloud desktop server After receiving the play indication, the video may be played according to the corresponding position and size of the current current main window according to the play parameters. It can be understood that the cloud desktop server can send the playback indication information to follow each video frame of the video stream, so that the play parameters of the cloud terminal during video playback can be controlled in real time.
  • the pre-processing process after the cloud terminal logs in to the cloud desktop server is further required; the process may include: acquiring a video decoding capability of the cloud terminal.
  • the cloud terminal starts the client corresponding to the cloud desktop server in the cloud terminal, and establishes a TCP connection with the cloud desktop server through the client, so that the cloud terminal can report the self through the TCP connection.
  • Video decoding capability after logging in to the cloud desktop server, the cloud terminal starts the client corresponding to the cloud desktop server in the cloud terminal, and establishes a TCP connection with the cloud desktop server through the client, so that the cloud terminal can report the self through the TCP connection.
  • This embodiment provides a method for processing a video file applied to a cloud desktop server; after the cloud desktop server intercepts the video file stream, the video file stream is not decoded, but only separated according to the data type, and The separated data stream is sent to the cloud terminal, so that the cloud terminal decodes and plays the separated data stream according to the local hardware decoding capability, reduces the running pressure of the cloud desktop server, and reduces the relationship between the cloud terminal and the cloud desktop server.
  • Traffic can be adapted to video playback of different cloud desktop protocols.
  • a method for processing a video file according to an embodiment of the present invention is provided.
  • the method is applied to a cloud terminal, and the method may include:
  • S202 Receive a corresponding separated data stream by using the transmission channel.
  • the separated data stream may include an audio stream, a video stream, and a subtitle stream; accordingly, the corresponding transmission channel corresponding to the established data stream includes:
  • the specific implementation process of the foregoing solution may include:
  • the cloud terminal receives the identifier of the TCP channel sent by the cloud desktop server; for example, the end slogan;
  • the cloud terminal establishes a TCP channel corresponding to the separated audio stream, video stream, and subtitle stream according to the TCP channel identifier and the cloud desktop server.
  • the cloud terminal receives the audio stream, the video stream, and the subtitle stream transmitted by the cloud desktop server by using the established TCP channel.
  • the cloud terminal After receiving the separated audio stream, the video stream, and the subtitle stream, the cloud terminal may decode the data stream according to the local decoding capability;
  • FFMPEG Full Moving Picture Expert Group
  • VAAPI Video Acceleration API
  • VDPAU Video Decode and Presentation API
  • Unix hardware decoding
  • the ARM chip can use the hardware decoding library provided by the manufacturer to decode, or can use the GStreamer framework for decoding; for the windows cloud terminal can use the DirectShow framework for hardware decoding; the specific implementation of the hardware decoding of the video stream is The technical common sense in the art is not described in this embodiment.
  • the cloud terminal is configured to receive the separated data stream, where the method further includes:
  • a window for playing is established according to the play instruction information.
  • the play indication information is used to instruct the cloud terminal to play parameters such as a window position and a window size when the video is played during video playback. Therefore, after receiving the play indication, the cloud terminal can perform video play according to the corresponding position and size of the current current main window according to the play parameter.
  • the cloud desktop server can send the playback indication information to follow each video frame of the video stream, so that the play parameters of the cloud terminal during video playback can be controlled in real time.
  • the pre-preprocessing process after the cloud terminal logs in to the cloud desktop server is further required; the process may include:
  • the video play window may be a child window under the main window.
  • the embodiment provides a method for processing a video file applied to a cloud terminal side; the cloud terminal receives the separated data stream sent by the cloud desktop server, and decodes and plays the separated data stream according to the local hardware decoding capability. Reduce the running pressure of cloud desktop servers and reduce the traffic between cloud terminals and cloud desktop servers, and adapt to video playback of different cloud desktop protocols.
  • FIG. 4 a detailed flow of a video file processing method according to an embodiment of the present invention is shown; the flow is applied to the cloud desktop system, the cloud desktop system shown in FIG. Including: cloud desktop server and cloud terminal; the method can include:
  • S401 The cloud terminal initiates a TCP connection establishment request to the cloud desktop server.
  • the client corresponding to the cloud desktop server can be installed in the cloud terminal, so as to interact with the cloud desktop server through the client, which is not specifically limited in this embodiment.
  • S402 The cloud desktop server feeds back a request response to the cloud terminal.
  • S403 The cloud terminal acquires a main window of the current desktop protocol.
  • the video play window can be a child window under the main window.
  • S404 The cloud terminal reports the local video decoding capability.
  • the cloud desktop server separates the video file stream to be played into an audio stream and a video stream. Subtitle stream
  • the cloud terminal and the cloud desktop server respectively establish corresponding TCP transmission channels for the audio stream, the video stream, and the subtitle stream;
  • the cloud desktop server and the cloud terminal establish a TCP channel according to the separated audio stream, the video stream, and the subtitle stream, and notify the cloud terminal of the identifier of each TCP channel, such as a port number, so that the cloud desktop server can pass
  • the obtained TCP channel is configured to transmit an audio stream, a video stream, and a subtitle stream; and the cloud terminal may also receive a separate audio stream, a video stream, and a subtitle stream according to the identifier of each TCP channel, such as a port number from the corresponding TCP channel.
  • the cloud desktop server transmits the corresponding audio stream, the video stream, and the subtitle stream to the cloud terminal through the TCP transmission channel, and sends the play indication information to the cloud terminal.
  • the play indication information is used to indicate the play parameters such as the window position and the window size when the video terminal plays the video during the video playback; it can be understood that the cloud desktop server can follow the video stream by playing the indication information. Each video frame is transmitted, so that the playing parameters of the cloud terminal during video playback can be controlled in real time.
  • the audio stream, the video stream, and the subtitle stream received by the cloud terminal are not decoded, only the video file stream is separated, so the amount of data is less than the video display screen, thereby reducing the data between the cloud terminal and the cloud desktop server.
  • the traffic that is consumed is transmitted.
  • S409 The cloud terminal decodes the audio stream, the video stream, and the subtitle stream, and adjusts the position and size of the local window in real time according to the play indication information.
  • the cloud terminal decodes the video stream into display data and displays it in a local window established by the cloud terminal.
  • This embodiment provides a detailed process for processing a video file; after the cloud desktop server intercepts the video file stream, the video file stream is not decoded, but only separated according to the data type, and the separated The data stream is sent to the cloud terminal, so that the cloud terminal decodes and plays the separated data stream according to the local hardware decoding capability, reduces the running pressure of the cloud desktop server, and reduces the traffic between the cloud terminal and the cloud desktop server. Video playback with different cloud desktop protocols.
  • a cloud desktop server 60 according to an embodiment of the present invention is shown; the cloud desktop server 60 may include: an intercepting module 601, a separating module 602, and a sending module 603. ;among them,
  • the intercepting module 601 is configured to intercept a video file stream to be played
  • the separating module 602 is configured to separate the video file stream according to a data type to obtain a separated data stream;
  • the sending module 603 is configured to send the separated data stream through a channel corresponding to the separated data stream.
  • the intercepting module 601 is configured to intercept the video file to be played as indicated by the play instruction when the play instruction is acquired.
  • the separation module 602 is configured to construct a player
  • the video file stream is separated into an audio stream, a video stream, and a subtitle stream by the player.
  • the sending module 603 is specifically configured to:
  • the sending module 603 is further configured to send the play indication information, where the play indication information is used to indicate a window position and a window size of the video play.
  • the cloud desktop server 60 further includes an obtaining module 604 configured to acquire video decoding capability of the cloud terminal.
  • the working principle of the cloud desktop server shown in FIG. 6 is illustrated by a specific example, and the user is selected to click on the video file to be played on the cloud desktop. And launch the installed player, such as MediaPlayer.
  • the system component hook in the intercepting module 601 is triggered, the system hook enters the video, and the separating module 602 processes the opened video file stream.
  • a simple player can be constructed inside the cloud desktop server instead of separating.
  • the function of the module 602 and the sending module 603, the player of the configuration mainly comprises a separator and a renderer.
  • the splitter separates the video file into an audio stream, a video stream, and a subtitle stream.
  • the renderer can be rewritten, and the main function is to mainly send the audio stream, the video stream, and the subtitle stream to the cloud terminal through the TCP.
  • the cloud terminal 90 may include: an establishing module 901, a receiving module 902, and a decoding module 903;
  • the establishing module 901 is configured to establish a transmission channel corresponding to the separated data stream
  • the receiving module 902 is configured to receive a corresponding separated data stream by using the transmission channel;
  • the decoding module 903 is configured to decode and play the separated data stream.
  • the cloud terminal 90 further includes a window control module 904 configured to receive the play indication information
  • a window for playing is established according to the play instruction information.
  • the separated data stream includes an audio stream, a video stream, and a subtitle stream
  • the establishing module 901 is specifically configured to establish a transmission channel for transmitting the audio stream, the video stream, and the subtitle stream.
  • the establishing module 901 is further configured to establish a connection with the cloud desktop server and report the video decoding capability of the cloud terminal 90 itself to the cloud desktop server;
  • the cloud terminal establishing module 901 receives the audio stream, the video stream, and the subtitle stream channel port number sent by the cloud desktop server, and establishes a TCP link with the cloud desktop server audio stream, the video stream, and the subtitle stream channel respectively;
  • the receiving module 902 Receiving, by the cloud desktop, the separated audio stream, the video stream, and the subtitle stream that are sent by using the foregoing channel;
  • the decoding module 903 can establish various decoders to perform decoding operations on the received audio stream, the video stream, and the subtitle stream, for example, audio data.
  • the video is played by the local audio device, and the video data is decoded and displayed locally in real time, and the subtitle data is decoded and displayed at a specified position in the video area.
  • the decoding module 903 can perform a decoding operation according to each system. You can make full use of the graphics card decoding capability of the cloud terminal, which can reduce the CPU usage of the cloud terminal, provide smooth playback of video, and even achieve smooth playback of high-definition video such as 1080P video.
  • the window control module 904 may first record the current window of the current cloud desktop; and receive the location and size of the video playback window sent by the cloud desktop server in each video frame; The module 904 can perform video display according to the position and size of the received video playing serial port in the proper position and size of the current main window.
  • a cloud desktop server 110 may include: a first communication interface 1101, a first memory 1102, a first processor 1103, and a first bus 1104; wherein
  • the first bus 1104 is configured to connect the first communication interface 1101, the first processor 1103, and the first memory 1102, and mutual communication between the devices;
  • the first communication interface 1101 is configured to perform data transmission with an external network element
  • the first memory 1102 is configured to store instructions and data
  • the first processor 1103 executes the instruction to: intercept a video file stream to be played;
  • the first memory 1102 may be a volatile memory, such as a random access memory (RAM), or a non-volatile memory, such as only Read memory (ROM, Read-Only Memory), flash memory, hard disk (HDD, Hard Disk Drive) or solid state drive (SSD, Solid-State Drive); or a combination of the above types of memory, and
  • RAM random access memory
  • non-volatile memory such as only Read memory (ROM, Read-Only Memory), flash memory, hard disk (HDD, Hard Disk Drive) or solid state drive (SSD, Solid-State Drive); or a combination of the above types of memory
  • a processor 1103 provides instructions and data.
  • the first processor 1103 may be an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), a Digital Signal Processing Device (DSPD), or a programmable logic device. At least one of (PLD, Programmable Logic Device), Field Programmable Gate Array (FPGA), Central Processing Unit (CPU), controller, microcontroller, and microprocessor. It is to be understood that, for the different devices, the electronic device for implementing the above-mentioned processor functions may be other, which is not specifically limited in the embodiment of the present invention.
  • ASIC Application Specific Integrated Circuit
  • DSP Digital Signal Processor
  • DSPD Digital Signal Processing Device
  • programmable logic device At least one of (PLD, Programmable Logic Device), Field Programmable Gate Array (FPGA), Central Processing Unit (CPU), controller, microcontroller, and microprocessor.
  • PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • CPU Central Processing Unit
  • controller microcontroller
  • microprocessor microprocessor
  • the first processor 1103 executes the instruction to: when the play instruction is acquired, intercept the video file to be played as indicated by the play instruction.
  • the first processor 1103 executes the instructions to configure to construct a player
  • the video file stream is separated into an audio stream, a video stream, and a subtitle stream by the player.
  • the first communication interface 1101 is configured to:
  • the first communication interface 1101 is further configured to send play indication information; wherein the play indication information is used to indicate a window position and a window size of the video play.
  • the first communication interface 1101 is further configured to acquire video decoding capability of the cloud terminal.
  • a cloud terminal 120 may include: a second communication interface 1201, a second memory 1202, a second processor 1203, and a display. Unit 1204 and second bus 1205; wherein
  • the second bus 1205 is configured to connect the second communication interface 1201, the second processor 1203, the display unit 1204, and the second memory 1202 and mutual communication between the devices;
  • the second communication interface 1201 is configured to perform data transmission with an external network element
  • the second memory 1202 is configured to store instructions and data
  • the second processor 1203 executes the instruction to: establish a transmission channel corresponding to the separated data stream;
  • the separated data stream is decoded and the display unit 1204 is instructed to play.
  • the second memory 1202 may be a volatile memory, such as a random access memory (RAM), or a non-volatile memory, such as only Read-Only Memory (ROM), flash memory, hard disk (HDD, Hard Disk Drive) or solid state drive (SSD, Solid-State Drive); or a combination of the above types of memory, and processing
  • RAM random access memory
  • ROM Read-Only Memory
  • flash memory such as compact flash memory
  • HDD Hard Disk Drive
  • SSD Solid-State Drive
  • the unit 1203 provides instructions and data.
  • the second processor 1203 may be an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), or a Digital Signal Processor (DSP). Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), Field Programmable Gate Array (FPGA), Central Processing Unit (CPU), At least one of a controller, a microcontroller, and a microprocessor. It is to be understood that, for the different devices, the electronic device for implementing the above-mentioned processor functions may be other, which is not specifically limited in the embodiment of the present invention.
  • ASIC Application Specific Integrated Circuit
  • DSP Digital Signal Processor
  • DSP Digital Signal Processor
  • DSP Digital Signal Processing Device
  • PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • CPU Central Processing Unit
  • the display unit 1204 may include at least one of a liquid crystal display (LCD), a thin film transistor LCD (TFT-LCD), an organic light emitting diode (OLED) display, a flexible display, a three-dimensional (3D) display, and the like.
  • LCD liquid crystal display
  • TFT-LCD thin film transistor LCD
  • OLED organic light emitting diode
  • a flexible display a three-dimensional (3D) display
  • 3D three-dimensional
  • Some of these displays may be configured to be transparent to allow a user to view from the outside, which may be referred to as a transparent display, and a typical transparent display may be, for example, a TOLED (Transparent Organic Light Emitting Diode) display or the like.
  • TOLED Transparent Organic Light Emitting Diode
  • the second communication interface 1204 is configured to receive play indication information
  • the second processor 1203 executes the instruction to set a window for playing according to the play indication information.
  • the separated data stream includes an audio stream, a video stream, and a subtitle stream;
  • the second processor 1203 executes the instruction to set up to establish a transmission channel for transmitting the audio stream, the video stream, and the subtitle stream.
  • the second communication interface 1201 is further configured to establish a connection with the cloud desktop server and report the video decoding capability of the cloud terminal itself to the cloud desktop server;
  • the system 130 includes a cloud desktop server 60 and a cloud terminal 90.
  • the cloud desktop server 60 is configured to intercept a video file stream to be played
  • the cloud terminal 90 is configured to establish a transmission channel corresponding to the separated data stream
  • This embodiment provides a structure of a video file processing system 130.
  • the cloud file server 60 intercepts the video file stream, the video file stream is not decoded, but is separated according to the data type, and will be separated.
  • the data stream is sent to the cloud terminal 90, so that the cloud terminal 90 decodes and plays the separated data stream according to the local hardware decoding capability, reduces the running pressure of the cloud desktop server 60, and reduces the cloud terminal 90 and the cloud desktop server 60.
  • the traffic between the two can adapt to the video playback of different cloud desktop protocols.
  • Embodiments of the present invention also provide a processor for running a program, wherein the program is executed to perform the steps of any of the above methods.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention can take the form of a hardware embodiment, a software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
  • These computer program instructions can also be stored at a computer or other programmable data location.
  • the device is readable in a computer readable memory that operates in a particular manner such that instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device implemented in a flow or a flow and/or block diagram of the flowchart The function specified in the box or in multiple boxes.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
  • the method, apparatus, and system for processing a video file provided by the embodiments of the present invention have the following beneficial effects: reducing the operating pressure of the server and reducing the traffic of the terminal and the server, and adapting the video playback of different cloud desktop protocols.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Graphics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明实施例公开了一种视频文件的处理方法、装置和***;该方法可以包括:截获待播放的视频文件流;按照数据类型将所述视频文件流进行分离,得到分离后的数据流;通过分离后的数据流对应的通道发送所述分离后的数据流。

Description

一种视频文件的处理方法、装置和*** 技术领域
本发明涉及视频播放技术,尤其涉及一种视频文件的处理方法、装置和***。
背景技术
近年来,随着云计算技术的发展,云桌面逐渐开始取代传统PC。在云计算***中,最重要的一个功能就是在云桌面中进行视频播放。当前主流的虚拟桌面协议有思杰公司Citrix的独立计算架构(ICA,全称为Independent Computing Architecture)、VMware的PcoIP(即,PC-over-IP)、微软的远程桌面协议(RDP,全称为Remote Desktop Protocol)以及红帽子的独立计算环境简单协议(SPICE,全称为Simple Protocol for Independent Computing Environment),目前对视频播放支持较好的主要为Citrix的云桌面,但也无法适配所有的处理器。通常会出现当用户在其他类型的云桌面进行视频播放时,会存在视频播放不流畅甚至会导致云桌面推出的情况。
发明内容
为解决上述技术问题,本发明实施例期望提供一种通用的视频文件处理方法、装置和***,能够适配不同云桌面协议及操作***进行视频播放。
本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种视频文件的处理方法,所述方法应用于云桌面服务器,所述方法包括:
截获待播放的视频文件流;
按照数据类型将所述视频文件流进行分离,得到分离后的数据流;
通过分离后的数据流对应的通道发送所述分离后的数据流。
在上述方案中,所述截获待播放的视频文件流,具体包括:
当获取播放指令时,截获播放指令所指示的待播放的视频文件。
在上述方案中,所述按照数据类型将所述视频文件流进行分离,得到分离后的数据流,具体包括:
构造播放器;
通过所述播放器将所述视频文件流分离为音频流、视频流、字幕流。
在上述方案中,所述通过分离后的数据流对应的通道发送所述分离后的数据流,具体包括:
分别建立与所述音频流、所述视频流、所述字幕流对应的传输通道;
发送所述音频流、所述视频流、所述字幕流对应的传输通道的标识;
通过所述音频流、所述视频流、所述字幕流对应的传输通道分别发送所述音频流、所述视频流、所述字幕流。
在上述方案中,所述方法还包括:
发送播放指示信息;其中,所述播放指示信息用于指示视频播放的窗口位置及窗口大小。
在上述方案中,所述截获待播放的视频文件流之前,所述方法还包括:
获取云终端的视频解码能力。
第二方面,本发明实施例提供了一种视频文件的处理方法,所述方法应用于云终端,所述方法包括:
建立分离后的数据流对应的传输通道;
通过所述传输通道接收对应的分离后的数据流;
将所述分离后的数据流进行解码并播放。
在上述方案中,所述方法还包括:
接收播放指示信息;
根据所述播放指示信息建立用于播放的窗口。
在上述方案中,所述分离后的数据流包括音频流、视频流、字幕流;
相应地,所述建立分离后的数据流对应的传输通道,具体包括:
建立用于传输所述音频流、所述视频流、所述字幕流的传输通道。
在上述方案中,在所述建立分离后的数据流对应的传输通道之前,所述方法还包括:
建立与云桌面服务器的连接并向所述云桌面服务器上报所述云终端自身的视频解码能力;
获取所述云桌面服务器当前界面的主窗口。
第三方面,本发明实施例提供了一种云桌面服务器,所述云桌面服务器包括:第一通信接口、第一存储器、第一处理器和第一总线;其中,
所述第一总线设置为连接所述第一通信接口、所述第一处理器和所述第一存储器以及这些器件之间的相互通信;
所述第一通信接口,设置为与外部网元进行数据传输;
所述第一存储器,设置为存储指令和数据;
所述第一处理器执行所述指令设置为:截获待播放的视频文件流;
以及,按照数据类型将所述视频文件流进行分离,得到分离后的数据流;
以及,通过分离后的数据流对应的通道发送所述分离后的数据流。
在上述方案中,所述第一处理器执行所述指令设置为:当获取播放指令时,截获播放指令所指示的待播放的视频文件。
在上述方案中,所述第一处理器执行所述指令设置为构造播放器;以及,
通过所述播放器将所述视频文件流分离为音频流、视频流、字幕流。
在上述方案中,所述第一通信接口,设置为:
分别建立与所述音频流、所述视频流、所述字幕流对应的传输通道; 以及,
发送所述音频流、所述视频流、所述字幕流对应的传输通道的标识;以及,
通过所述音频流、所述视频流、所述字幕流对应的传输通道分别发送所述音频流、所述视频流、所述字幕流。
在上述方案中,所述第一通信接口,还设置为发送播放指示信息;其中,所述播放指示信息用于指示视频播放的窗口位置及窗口大小。
在上述方案中,所述第一通信接口,还设置为获取云终端的视频解码能力。
第四方面,本发明实施例提供了一种云终端,所述云终端包括:第二通信接口、第二存储器、第二处理器、显示单元和第二总线;其中,
所述第二总线设置为连接所述第二通信接口、所述第二处理器、显示单元和所述第二存储器以及这些器件之间的相互通信;
所述第二通信接口,设置为与外部网元进行数据传输;
所述第二存储器,设置为存储指令和数据;
所述第二处理器执行所述指令设置为:建立分离后的数据流对应的传输通道;
以及,通过所述传输通道接收对应的分离后的数据流;
以及,将所述分离后的数据流进行解码并指示所述第二显示单元进行播放。
在上述方案中,所述第二通信接口,设置为接收播放指示信息;
所述第二处理器执行所述指令设置为:根据所述播放指示信息建立用于播放的窗口。
在上述方案中,所述分离后的数据流包括音频流、视频流、字幕流;
相应地,所述第二处理器执行所述指令设置为:建立用于传输所述音 频流、所述视频流、所述字幕流的传输通道。
在上述方案中,所述第二通信接口,还设置为建立与云桌面服务器的连接并向所述云桌面服务器上报所述云终端自身的视频解码能力;以及,
获取所述云桌面服务器当前界面的主窗口。
第五方面,本发明实施例提供了一种视频文件的处理***,所述***包括云桌面服务器和云终端;其中,
所述云桌面服务器,设置为截获待播放的视频文件流;
以及,按照数据类型将所述视频文件流进行分离,得到分离后的数据流;
以及,通过分离后的数据流对应的通道发送所述分离后的数据流;
所述云终端,设置为建立分离后的数据流对应的传输通道;
以及,通过所述传输通道接收对应的分离后的数据流;
以及,将所述分离后的数据流进行解码并播放。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的方法。
根据本发明的又一个实施例,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的方法。
本发明实施例提供了一种视频文件的处理方法、装置和***,通过云桌面将视频文件的不同数据流进行分离,并将分离后的数据流传输给终端,通过终端本地进行视频的解码,从而降低服务器的运行压力以及降低终端和服务端的流量,能够适配不同云桌面协议的视频播放。
附图说明
图1为本发明实施例提供的一种视频文件的处理方法流程示意图;
图2为本发明实施例提供的另一种视频文件的处理方法流程示意图;
图3为本发明实施例提供的一种云终端视频播放的具体实现流程示意图;
图4为本发明实施例提供的一种视频文件的处理方法详细流程示意图;
图5为本发明实施例提供的一种云桌面***结构示意图;
图6为本发明实施例提供的一种云桌面服务器结构示意图;
图7为本发明实施例提供的另一种云桌面服务器结构示意图;
图8为本发明实施例提供的一种云桌面服务器的工作原理示意图;
图9为本发明实施例提供的一种云终端结构示意图;
图10为本发明实施例提供的另一种云终端结构示意图;
图11为本发明实施例提供的一种云桌面服务器的实体结构示意图;
图12为本发明实施例提供的一种云终端的实体结构示意图;
图13为本发明实施例提供的一种视频文件的处理***结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例一
参见图1,其示出了本发明实施例提供的一种视频文件的处理方法,该方法可以应用于云桌面服务器端;该方法可以包括:
S101:截获待播放的视频文件流;
S102:按照数据类型将所述视频文件流进行分离,得到分离后的数据流;
S103:通过分离后的数据流对应的通道发送所述分离后的数据流;
对于图1所示的技术方案,需要说明的是,云桌面服务器在截获到视频文件流之后,并不对该视频文件流进行解码,而只是将其按照数据类型进行分离,并将分离后的数据流发送至云终端,以使得云终端根据本地的 硬件解码能力对分离后的数据流进行解码播放,降低云桌面服务器的运行压力以及降低云终端和云桌面服务端之间的流量,能够适配不同云桌面协议的视频播放。
示例性地,所述截获待播放的视频文件流,具体包括:
当获取播放指令时,截获播放指令所指示的待播放的视频文件。
需要说明的是,本示例在具体实现过程中,以windows***为例,可以通过***插件对云桌面服务器注入***钩子,当云桌面服务器接收到用户发出的播放视频的指令时,***钩子被触发,截获待播放的视频文件。在这里,***钩子Hook是非常重要的***接口,可以监视***或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。每当特定的消息发出,在没有到达目的地址前,***钩子就可以先捕获该特定的消息,亦即钩子函数先得到控制权。这时***钩子既可以加工处理或改变该特定的消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。简单来说,***钩子可以监控所有进程发送的消息,对该消息进行截获后进行后续的处理;
以Android***为例,由于Android***是基于Linux开源***,可以利用pstrace机制,通过注入预先编写完成的动态链接库,替换掉已有的函数接口,从而进入视频文件的处理过程,进而截获待播放的视频文件。
示例性地,所述按照数据类型将所述视频文件流进行分离,得到分离后的数据流,具体包括:
构造播放器;
以及,通过所述播放器将所述视频文件流分离为音频流、视频流、字幕流。
相应地,可选地,所述通过分离后的数据流对应的通道发送所述分离后的数据流,具体包括:
分别建立与所述音频流、所述视频流、所述字幕流对应的传输通道;
以及,发送所述音频流、所述视频流、所述字幕流对应的传输通道的标识;
以及,通过所述音频流、所述视频流、所述字幕流对应的传输通道分别发送所述音频流、所述视频流、所述字幕流。
对于上述示例,需要说明的是,在截获到待播放的视频文件后,可以构建一个简单的播放器,该播放器的作用主要是对视频文件流进行分离和传输。例如,在windows平台上,可以通过DirectShow框架构建播放器,该播放器主要包含分离器和渲染器,渲染器不进行真正的显示而是用于传输分离后的视频流。
在安卓平台或IOS平台上,可以通过gstreamer框架构建播放器,该播放器也主要包含分离器和渲染器,其中渲染器为经过修改的gstreamer组件,该组件主要用于传输分离后的视频流。
以分离为例,视频文件流通常包括音频流和视频流,而且对于非母语视频文件,还可以包括字幕流,因此,构建的播放器可以将视频文件流分离成音频流、视频流和字幕流。视频文件流分离完成后,构建的播放器可以需要将分离得到的音频流、视频流和字幕流传输至云终端。具体实现过程中,云桌面服务器与云终端根据分离得到的音频流、视频流和字幕流对应地建立TCP通道,并将各TCP通道的标识,如端口号通知给云终端,从而云桌面服务器可以通过建立得到的TCP通道传输音频流、视频流和字幕流;而云终端也可以根据各TCP通道的标识,如端口号从对应的TCP通道接收分离的音频流、视频流和字幕流。
可以理解地,TCP通道中传输的数据流仅是进行了分离的数据,也就是视频解码前的数据,数据量少于视频显示画面,因此降低云终端与云桌面服务器之间的数据传输需耗费的流量。
示例性地,云桌面服务器在发送分离后的数据流的同时,还可以向云终端发送播放指示信息;其中,所述播放指示信息用于指示云终端在视频播放时,进行视频播放时的窗口位置及窗口大小等播放参数。从而云终端 在接收到播放指示之后,可以根据播放参数在本地当前的主窗口的对应的位置和大小进行视频播放。可以理解地,云桌面服务器可以将播放指示信息跟随视频流的每一个视频帧进行发送,从而能够实时控制云终端在视频播放时的播放参数。
示例性地,在上述技术方案实施之前,还需要包括云终端登录到云桌面服务器后的预处理过程;该过程可以包括:获取云终端的视频解码能力。可选地,云终端在登录云桌面服务器之后,启动云终端中与云桌面服务器对应的的客户端,并且通过客户端与云桌面服务器建立TCP连接,从而云终端可以通过该TCP连接上报自身的视频解码能力。
本实施例提供了一种应用于云桌面服务器的视频文件的处理方法;云桌面服务器在截获到视频文件流之后,并不对该视频文件流进行解码,而只是将其按照数据类型进行分离,并将分离后的数据流发送至云终端,以使得云终端根据本地的硬件解码能力对分离后的数据流进行解码播放,降低云桌面服务器的运行压力以及降低云终端和云桌面服务端之间的流量,能够适配不同云桌面协议的视频播放。
实施例二
基于前述实施例相同的技术构思,参见图2,其示出了本发明实施例提供的一种视频文件的处理方法,该方法应用于云终端,该方法可以包括:
S201:建立分离后的数据流对应的传输通道;
S202:通过所述传输通道接收对应的分离后的数据流;
S203:将所述分离后的数据流进行解码并播放。
需要说明的是,分离后的数据流可以包括音频流、视频流、字幕流;因此,相应地,所述建立分离后的数据流对应的传输通道,具体包括:
建立用于传输所述音频流、所述视频流、所述字幕流的传输通道。
需要说明的是,参见图3,上述方案具体实现过程可以包括:
S301:云终端接收由云桌面服务器发送的TCP通道的标识;例如端 口号;
S302:云终端根据TCP通道标识与云桌面服务器针对分离得到的音频流、视频流和字幕流对应地建立TCP通道;
S303:云终端通过建立得到的TCP通道接收云桌面服务器传输的音频流、视频流和字幕流;
可以理解地,由于云终端接收到的音频流、视频流和字幕流并没有解码,仅是从视频文件流中进行分离,因此,数据量少于视频显示画面,从而降低云终端与云桌面服务器之间的数据传输需耗费的流量。
S304:在接收到分离的音频流、视频流和字幕流后,云终端可以根据本地的解码能力对这些数据流进行解码;
可选地,以视频流为例,可以利用FFMPEG(Fast Forward Moving Picture Expert Group)进行解码,对于Intel芯片可以采用VAAPI(Video Acceleration API)硬件解码,对于AMD芯片可以采用VDPAU(Video Decode and Presentation API for Unix)硬件解码,对于ARM芯片可以采用厂家提供的硬件解码库进行解码,或者可以采用GStreamer框架进行解码;对于windows云终端可以采用DirectShow框架进行硬件解码;对视频流进行硬件解码的具体实现为本领域的技术常识,本实施例对此不做赘述。
可选地,云终端在接收分离后的数据流之外,所述方法还包括:
接收播放指示信息;
根据所述播放指示信息建立用于播放的窗口。
可选地,所述播放指示信息用于指示云终端在视频播放时,进行视频播放时的窗口位置及窗口大小等播放参数。从而云终端在接收到播放指示之后,可以根据播放参数在本地当前的主窗口的对应的位置和大小进行视频播放。
可以理解地,云桌面服务器可以将播放指示信息跟随视频流的每一个视频帧进行发送,从而能够实时控制云终端在视频播放时的播放参数。
示例性地,在上述技术方案实施之前,还需要包括云终端登录到云桌面服务器后的预预处理过程;该过程可以包括:
建立与云桌面服务器的连接并向所述云桌面服务器上报所述云终端自身的视频解码能力;
获取所述云桌面服务器当前界面的主窗口。
需要说明的是,获取云桌面服务器当前界面的主窗口之后,视频播放窗口可以为主窗口下的子窗口。
本实施例提供了一种应用于云终端侧的视频文件的处理方法;云终端接收云桌面服务器发送的分离后的数据流,并根据本地的硬件解码能力对分离后的数据流进行解码播放,降低云桌面服务器的运行压力以及降低云终端和云桌面服务端之间的流量,能够适配不同云桌面协议的视频播放。
实施例三
基于前述实施例相同的技术构思,参见图4,其示出了本发明实施例提供的一种视频文件的处理方法详细流程;该流程应用于如图5所示的云桌面***,云桌面***包括:云桌面服务器和云终端;该方法可以包括:
S401:云终端向云桌面服务器发起TCP连接建立请求;
可以理解地,云终端中可以安装与云桌面服务器对应的客户端,从而通过客户端与云桌面服务器进行交互,本实施例对此不作具体限定。
S402:云桌面服务器向云终端反馈请求响应;
S403:云终端获取当前桌面协议的主窗口;
获取云桌面服务器当前界面的主窗口之后,视频播放窗口可以为主窗口下的子窗口。
S404:云终端上报本地的视频解码能力;
S405:当云桌面服务器获取当播放指令时,触发***钩子截获播放指令所指示的待播放的视频文件流;
S406:云桌面服务器将待播放的视频文件流分离成音频流、视频流、 字幕流;
S407:云终端与云桌面服务器分别为音频流、视频流、字幕流建立对应的TCP传输通道;
可选地,云桌面服务器与云终端根据分离得到的音频流、视频流和字幕流对应地建立TCP通道,并将各TCP通道的标识,如端口号通知给云终端,从而云桌面服务器可以通过建立得到的TCP通道传输音频流、视频流和字幕流;而云终端也可以根据各TCP通道的标识,如端口号从对应的TCP通道接收分离的音频流、视频流和字幕流。
S408:云桌面服务器通过TCP传输通道将对应的音频流、视频流、字幕流传输至云终端,并且将播放指示信息发送至云终端;
需要说明的是,所述播放指示信息用于指示云终端在视频播放时,进行视频播放时的窗口位置及窗口大小等播放参数;可以理解地,云桌面服务器可以将播放指示信息跟随视频流的每一个视频帧进行发送,从而能够实时控制云终端在视频播放时的播放参数。
由于云终端接收到的音频流、视频流和字幕流并没有解码,仅是从视频文件流中进行分离,因此,数据量少于视频显示画面,从而降低云终端与云桌面服务器之间的数据传输需耗费的流量。
S409:云终端对音频流、视频流、字幕流进行解码操作,根据播放指示信息实时调整本地窗口的位置和大小;
S410:云终端将视频流解码成显示数据显示在云终端建立的本地窗口中。
本实施例提供了一种视频文件的处理方法详细流程;云桌面服务器在截获到视频文件流之后,并不对该视频文件流进行解码,而只是将其按照数据类型进行分离,并将分离后的数据流发送至云终端,以使得云终端根据本地的硬件解码能力对分离后的数据流进行解码播放,降低云桌面服务器的运行压力以及降低云终端和云桌面服务端之间的流量,能够适配不同云桌面协议的视频播放。
实施例四
基于前述实施例相同的技术构思,参见图6,其示出了本发明实施例提供的一种云桌面服务器60;所述云桌面服务器60可以包括:截获模块601、分离模块602和发送模块603;其中,
所述截获模块601,设置为截获待播放的视频文件流;
所述分离模块602,设置为按照数据类型将所述视频文件流进行分离,得到分离后的数据流;
所述发送模块603,设置为通过分离后的数据流对应的通道发送所述分离后的数据流。
在上述方案中,所述截获模块601,设置为当获取播放指令时,截获播放指令所指示的待播放的视频文件。
在上述方案中,所述分离模块602,设置为构造播放器;以及,
通过所述播放器将所述视频文件流分离为音频流、视频流、字幕流。
在上述方案中,所述发送模块603,具体设置为:
分别建立与所述音频流、所述视频流、所述字幕流对应的传输通道;以及,
发送所述音频流、所述视频流、所述字幕流对应的传输通道的标识;以及,
通过所述音频流、所述视频流、所述字幕流对应的传输通道分别发送所述音频流、所述视频流、所述字幕流。
在上述方案中,所述发送模块603,还设置为发送播放指示信息;其中,所述播放指示信息用于指示视频播放的窗口位置及窗口大小。
在上述方案中,参见图7,所述云桌面服务器60还包括获取模块604,设置为获取云终端的视频解码能力。
在具体实现过程中,参见图8,通过具体示例对图6所示的云桌面服务器的工作原理进行说明,设定用户在云桌面上点击待播放的视频文件, 并启动已安装的播放器,如MediaPlayer。此时,截获模块601中的***组件钩子被触发,***钩子进入视频,分离模块602将打开后的视频文件流进行处理,具体地,可以在云桌面服务器内部构造一个简单的播放器来替代分离模块602和发送模块603的功能,该构造的播放器主要包含分离器和渲染器。分离器将视频文件分离成音频流、视频流、字幕流。而渲染器可以是经过改写的,主要作用为主要将音频流、视频流、字幕流通过TCP发送给云终端。
实施例五
基于前述实施例相同的技术构思,参见图9,其示出了本发明实施例提供的一种云终端90,该云终端90可以包括:建立模块901、接收模块902和解码模块903;其中,
所述建立模块901,设置为建立分离后的数据流对应的传输通道;
所述接收模块902,设置为通过所述传输通道接收对应的分离后的数据流;
所述解码模块903,设置为将所述分离后的数据流进行解码并播放。
在上述方案中,参见图10,所述云终端90还包括窗口控制模块904,设置为接收播放指示信息;以及,
根据所述播放指示信息建立用于播放的窗口。
在上述方案中,所述分离后的数据流包括音频流、视频流、字幕流;
相应地,所述建立模块901,具体设置为建立用于传输所述音频流、所述视频流、所述字幕流的传输通道。
在上述方案中,所述建立模块901,还设置为建立与云桌面服务器的连接并向所述云桌面服务器上报所述云终端90自身的视频解码能力;以及,
获取所述云桌面服务器当前界面的主窗口。
在具体实现过程中,对图9或图10所示的云桌面服务器的工作原理 进行说明,云终端的建立模块901接收云桌面服务器发送来的音频流、视频流、字幕流通道端口号,并分别建立与云桌面服务器音频流、视频流、字幕流通道的TCP链接;接收模块902接收云桌面通过上述通道对应发送的分离后的音频流、视频流、字幕流;解码模块903可以建立各种解码器,对接收的音频流、视频流、字幕流进行解码操作,例如,音频数据解码后通过本地音频设备进行播放,视频数据解码后实时在本地进行显示,字幕数据解码在视频区域的指定位置进行显示。以视频流为例,解码模块903可以根据各***进行解码操作。可以充分利用云终端的显卡解码能力,这样可以降低云终端CPU的使用率,能够提供视频的播放流畅度,甚至实现高画质视频如1080P视频的流畅播放。
对于窗口控制模块904,需要说明的是,窗口控制模块904可以首先记录当前云桌面的主窗口;以及,接收云桌面服务器在每一视频帧所发送的视频播放窗口的位置和大小;随后窗口控制模块904可以根据接收到的视频播放串口的位置和大小在当前主窗口的适当位置和大小进行视频显示。
实施例六
基于前述实施例相同的技术构思,参见图11,其示出了本发明实施例提供的一种云桌面服务器110,可以包括:第一通信接口1101、第一存储器1102、第一处理器1103和第一总线1104;其中,
所述第一总线1104设置为连接所述第一通信接口1101、所述第一处理器1103和所述第一存储器1102以及这些器件之间的相互通信;
所述第一通信接口1101,设置为与外部网元进行数据传输;
所述第一存储器1102,设置为存储指令和数据;
所述第一处理器1103执行所述指令设置为:截获待播放的视频文件流;
以及,按照数据类型将所述视频文件流进行分离,得到分离后的数据流;
以及,通过分离后的数据流对应的通道发送所述分离后的数据流。
在实际应用中,上述第一存储器1102可以是易失性存储器(volatile memory),例如随机存取存储器(RAM,Random-Access Memory);或者非易失性存储器(non-volatile memory),例如只读存储器(ROM,Read-Only Memory),快闪存储器(flash memory),硬盘(HDD,Hard Disk Drive)或固态硬盘(SSD,Solid-State Drive);或者上述种类的存储器的组合,并向第一处理器1103提供指令和数据。
上述第一处理器1103可以为特定用途集成电路(ASIC,Application Specific Integrated Circuit)、数字信号处理器(DSP,Digital Signal Processor)、数字信号处理装置(DSPD,Digital Signal Processing Device)、可编程逻辑装置(PLD,Programmable Logic Device)、现场可编程门阵列(FPGA,Field Programmable Gate Array)、中央处理器(CPU,Central Processing Unit)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
示例性地,所述第一处理器1103执行所述指令设置为:当获取播放指令时,截获播放指令所指示的待播放的视频文件。
示例性地,所述第一处理器1103执行所述指令设置为构造播放器;以及,
通过所述播放器将所述视频文件流分离为音频流、视频流、字幕流。
可选地,所述第一通信接口1101,设置为:
分别建立与所述音频流、所述视频流、所述字幕流对应的传输通道;以及,
发送所述音频流、所述视频流、所述字幕流对应的传输通道的标识;以及,
通过所述音频流、所述视频流、所述字幕流对应的传输通道分别发送所述音频流、所述视频流、所述字幕流。
示例性地,所述第一通信接口1101,还设置为发送播放指示信息;其中,所述播放指示信息用于指示视频播放的窗口位置及窗口大小。
示例性地,所述第一通信接口1101,还设置为获取云终端的视频解码能力。
实施例七
基于前述实施例相同的技术构思,参见图12,其示出了本发明实施例提供的一种云终端120,可以包括:第二通信接口1201、第二存储器1202、第二处理器1203、显示单元1204和第二总线1205;其中,
所述第二总线1205设置为连接所述第二通信接口1201、所述第二处理器1203、显示单元1204和所述第二存储器1202以及这些器件之间的相互通信;
所述第二通信接口1201,设置为与外部网元进行数据传输;
所述第二存储器1202,设置为存储指令和数据;
所述第二处理器1203执行所述指令设置为:建立分离后的数据流对应的传输通道;
以及,通过所述传输通道接收对应的分离后的数据流;
以及,将所述分离后的数据流进行解码并指示显示单元1204进行播放。
在实际应用中,上述第二存储器1202可以是易失性存储器(volatile memory),例如随机存取存储器(RAM,Random-Access Memory);或者非易失性存储器(non-volatile memory),例如只读存储器(ROM,Read-Only Memory),快闪存储器(flash memory),硬盘(HDD,Hard Disk Drive)或固态硬盘(SSD,Solid-State Drive);或者上述种类的存储器的组合,并向处理器1203提供指令和数据。
上述第二处理器1203可以为特定用途集成电路(ASIC,Application Specific Integrated Circuit)、数字信号处理器(DSP,Digital Signal Processor)、 数字信号处理装置(DSPD,Digital Signal Processing Device)、可编程逻辑装置(PLD,Programmable Logic Device)、现场可编程门阵列(FPGA,Field Programmable Gate Array)、中央处理器(CPU,Central Processing Unit)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
上述显示单元1204可以包括液晶显示器(LCD)、薄膜晶体管LCD(TFT-LCD)、有机发光二极管(OLED)显示器、柔性显示器、三维(3D)显示器等等中的至少一种。这些显示器中的一些可以被构造为透明状以允许用户从外部观看,这可以称为透明显示器,典型的透明显示器可以例如为TOLED(透明有机发光二极管)显示器等等。
示例性地,所述第二通信接口1204,设置为接收播放指示信息;
所述第二处理器1203执行所述指令设置为:根据所述播放指示信息建立用于播放的窗口。
示例性地,所述分离后的数据流包括音频流、视频流、字幕流;
相应地,所述第二处理器1203执行所述指令设置为:建立用于传输所述音频流、所述视频流、所述字幕流的传输通道。
示例性地,所述第二通信接口1201还设置为建立与云桌面服务器的连接并向所述云桌面服务器上报所述云终端自身的视频解码能力;以及,
获取所述云桌面服务器当前界面的主窗口。
实施例八
基于前述实施例相同的技术构思,参见图13,其示出了本发明实施例提供的一种视频文件的处理***130,所述***130包括云桌面服务器60和云终端90;其中,
所述云桌面服务器60,设置为截获待播放的视频文件流;
以及,按照数据类型将所述视频文件流进行分离,得到分离后的数据 流;
以及,通过分离后的数据流对应的通道发送所述分离后的数据流;
所述云终端90,设置为建立分离后的数据流对应的传输通道;
以及,通过所述传输通道接收对应的分离后的数据流;
以及,将所述分离后的数据流进行解码并播放。
本实施例提供了一种视频文件的处理***130的结构;云桌面服务器60在截获到视频文件流之后,并不对该视频文件流进行解码,而只是将其按照数据类型进行分离,并将分离后的数据流发送至云终端90,以使得云终端90根据本地的硬件解码能力对分离后的数据流进行解码播放,降低云桌面服务器60的运行压力以及降低云终端90和云桌面服务器60之间的流量,能够适配不同云桌面协议的视频播放。
本发明的实施例还提供了一种处理器,该处理器用于运行程序,其中,该程序运行时执行上述任一项方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处 理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
工业实用性
如上所述,本发明实施例提供的一种视频文件的处理方法、装置和***具有以下有益效果:降低服务器的运行压力以及降低终端和服务端的流量,能够适配不同云桌面协议的视频播放。

Claims (22)

  1. 一种视频文件的处理方法,所述方法应用于云桌面服务器,所述方法包括:
    截获待播放的视频文件流;
    按照数据类型将所述视频文件流进行分离,得到分离后的数据流;
    通过分离后的数据流对应的通道发送所述分离后的数据流。
  2. 根据权利要求1所述的方法,其中,所述截获待播放的视频文件流,具体包括:
    当获取播放指令时,截获播放指令所指示的待播放的视频文件。
  3. 根据权利要求1所述的方法,其中,所述按照数据类型将所述视频文件流进行分离,得到分离后的数据流,具体包括:
    构造播放器;
    通过所述播放器将所述视频文件流分离为音频流、视频流、字幕流。
  4. 根据权利要求3所述的方法,其中,所述通过分离后的数据流对应的通道发送所述分离后的数据流,具体包括:
    分别建立与所述音频流、所述视频流、所述字幕流对应的传输通道;
    发送所述音频流、所述视频流、所述字幕流对应的传输通道的标识;
    通过所述音频流、所述视频流、所述字幕流对应的传输通道分别发送所述音频流、所述视频流、所述字幕流。
  5. 根据权利要求1所述的方法,其中,所述方法还包括:
    发送播放指示信息;其中,所述播放指示信息用于指示视频播放的窗口位置及窗口大小。
  6. 根据权利要求1所述的方法,其中,所述截获待播放的视频文件流之前,所述方法还包括:
    获取云终端的视频解码能力。
  7. 一种视频文件的处理方法,所述方法应用于云终端,所述方法包括:
    建立分离后的数据流对应的传输通道;
    通过所述传输通道接收对应的分离后的数据流;
    将所述分离后的数据流进行解码并播放。
  8. 根据权利要求7所述的方法,其中,所述方法还包括:
    接收播放指示信息;
    根据所述播放指示信息建立用于播放的窗口。
  9. 根据权利要求7所述的方法,其中,所述分离后的数据流包括音频流、视频流、字幕流;
    相应地,所述建立分离后的数据流对应的传输通道,具体包括:
    建立用于传输所述音频流、所述视频流、所述字幕流的传输通道。
  10. 根据权利要求7所述的方法,其中,在所述建立分离后的数据流对应的传输通道之前,所述方法还包括:
    建立与云桌面服务器的连接并向所述云桌面服务器上报所述云终端自身的视频解码能力;
    获取所述云桌面服务器当前界面的主窗口。
  11. 一种云桌面服务器,所述云桌面服务器包括:第一通信接口、第一存储器、第一处理器和第一总线;其中,
    所述第一总线设置为连接所述第一通信接口、所述第一处理器和所述第一存储器以及这些器件之间的相互通信;
    所述第一通信接口,设置为与外部网元进行数据传输;
    所述第一存储器,设置为存储指令和数据;
    所述第一处理器执行所述指令设置为:截获待播放的视频文件流;
    以及,按照数据类型将所述视频文件流进行分离,得到分离后的数据流;
    以及,通过分离后的数据流对应的通道发送所述分离后的数据流。
  12. 根据权利要求11所述的云桌面服务器,其中,所述第一处理器执行所述指令设置为:当获取播放指令时,截获播放指令所指示的待播放的视频文件。
  13. 根据权利要求11所述的云桌面服务器,其中,所述第一处理器执行所述指令设置为构造播放器;以及,
    通过所述播放器将所述视频文件流分离为音频流、视频流、字幕流。
  14. 根据权利要求13所述的云桌面服务器,其中,所述第一通信接口,设置为:
    分别建立与所述音频流、所述视频流、所述字幕流对应的传输通道;以及,
    发送所述音频流、所述视频流、所述字幕流对应的传输通道的标识;以及,
    通过所述音频流、所述视频流、所述字幕流对应的传输通道分别发送所述音频流、所述视频流、所述字幕流。
  15. 根据权利要求11所述的云桌面服务器,其中,所述第一通信接口,还设置为发送播放指示信息;其中,所述播放指示信息用于指示视频播放的窗口位置及窗口大小。
  16. 根据权利要求11所述的云桌面服务器,其中,所述第一通信接口,还设置为获取云终端的视频解码能力。
  17. 一种云终端,所述云终端包括:第二通信接口、第二存储器、第二处理器、显示单元和第二总线;其中,
    所述第二总线设置为连接所述第二通信接口、所述第二处理器、显示单元和所述第二存储器以及这些器件之间的相互通信;
    所述第二通信接口,设置为与外部网元进行数据传输;
    所述第二存储器,设置为存储指令和数据;
    所述第二处理器执行所述指令设置为:建立分离后的数据流对应的传输通道;
    以及,通过所述传输通道接收对应的分离后的数据流;
    以及,将所述分离后的数据流进行解码并指示所述第二显示单元进行播放。
  18. 根据权利要求17所述的云终端,其中,
    所述第二通信接口,设置为接收播放指示信息;
    所述第二处理器执行所述指令设置为:根据所述播放指示信息建立用于播放的窗口。
  19. 根据权利要求17所述的云终端,其中,所述分离后的数据流包括音频流、视频流、字幕流;
    相应地,所述第二处理器执行所述指令设置为:建立用于传输所述音频流、所述视频流、所述字幕流的传输通道。
  20. 根据权利要求17所述的云终端,其中,所述第二通信接口,还设置为建立与云桌面服务器的连接并向所述云桌面服务器上报所述云终端自身的视频解码能力;以及,
    获取所述云桌面服务器当前界面的主窗口。
  21. 一种视频文件的处理***,所述***包括云桌面服务器和云终端;其中,
    所述云桌面服务器,设置为截获待播放的视频文件流;
    以及,按照数据类型将所述视频文件流进行分离,得到分离后的数据流;
    以及,通过分离后的数据流对应的通道发送所述分离后的数据流;
    所述云终端,设置为建立分离后的数据流对应的传输通道;
    以及,通过所述传输通道接收对应的分离后的数据流;
    以及,将所述分离后的数据流进行解码并播放。
  22. 一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至10中任一项所述的方法。
PCT/CN2017/111003 2016-11-15 2017-11-15 一种视频文件的处理方法、装置和*** WO2018090918A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP17871436.6A EP3544303A4 (en) 2016-11-15 2017-11-15 VIDEO FILE PROCESSING METHOD, DEVICE AND SYSTEM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201611005666.1A CN106572361A (zh) 2016-11-15 2016-11-15 一种视频文件的处理方法、装置和***
CN201611005666.1 2016-11-15

Publications (1)

Publication Number Publication Date
WO2018090918A1 true WO2018090918A1 (zh) 2018-05-24

Family

ID=58542291

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/111003 WO2018090918A1 (zh) 2016-11-15 2017-11-15 一种视频文件的处理方法、装置和***

Country Status (3)

Country Link
EP (1) EP3544303A4 (zh)
CN (1) CN106572361A (zh)
WO (1) WO2018090918A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147928A (zh) * 2019-12-03 2020-05-12 西安万像电子科技有限公司 视频处理方法、服务器、终端及***
CN114125558A (zh) * 2022-01-26 2022-03-01 麒麟软件有限公司 基于Linux桌面显卡的安卓视频解码硬件加速方法
EP4009648A4 (en) * 2019-08-16 2022-11-23 ZTE Corporation CLOUD DESKTOP VIDEO PLAYBACK METHOD, SERVER, TERMINAL AND STORAGE MEDIUM

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106572361A (zh) * 2016-11-15 2017-04-19 中兴通讯股份有限公司 一种视频文件的处理方法、装置和***
CN107172480A (zh) * 2017-05-26 2017-09-15 青岛海信电器股份有限公司 解复用器的数据传输处理方法及装置
CN108366285B (zh) * 2017-07-06 2019-12-06 新华三云计算技术有限公司 一种视频数据显示方法和装置
CN107317821A (zh) * 2017-07-19 2017-11-03 苏睿 一种图像数据的传输方法、装置及***
CN107920259A (zh) * 2017-10-31 2018-04-17 深信服科技股份有限公司 虚拟化平台视频播放加速方法、虚拟机服务器及存储介质
CN108418883A (zh) * 2018-03-07 2018-08-17 山东超越数控电子股份有限公司 一种虚拟桌面远程传输协议在arm平台上的实现方法
CN111627373B (zh) * 2019-02-26 2021-09-07 西安诺瓦星云科技股份有限公司 显示屏显示状态管理方法及装置
CN112770174A (zh) * 2020-12-30 2021-05-07 稿定(厦门)科技有限公司 视频文件抽流方法及装置
CN117014415A (zh) * 2022-04-29 2023-11-07 华为技术有限公司 一种云桌面数据传输方法及相关装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101365106A (zh) * 2008-10-10 2009-02-11 四川长虹电器股份有限公司 Iptv***中字幕显示方法
CN102143349A (zh) * 2011-03-22 2011-08-03 宋健 一种基于音频、视频信号分别通过独立通道传输的视频会议实现方法
CN103039051A (zh) * 2010-06-04 2013-04-10 斯凯普爱尔兰科技控股公司 服务器辅助的视频会话
CN104168486A (zh) * 2013-05-20 2014-11-26 上海范氏科技投资发展集团有限公司 基于云计算的虚拟机与客户端间视频重定向方法
CN104301742A (zh) * 2013-07-16 2015-01-21 上海国富光启云计算科技有限公司 虚拟机和客户端间视频重定向装置及其使用方法
WO2015026136A1 (en) * 2013-08-20 2015-02-26 Lg Electronics Inc. Apparatus for transmitting media data via streaming service, apparatus for receiving media data via streaming service, method for transmitting media data via streaming service and method for receiving media data via streaming service
CN105721898A (zh) * 2016-02-03 2016-06-29 青岛理工大学 电视终端、云服务器群组、电视播放***及方法
CN106572361A (zh) * 2016-11-15 2017-04-19 中兴通讯股份有限公司 一种视频文件的处理方法、装置和***

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070041807A (ko) * 2005-10-17 2007-04-20 주식회사 디케이아이테크놀로지 영상 컨텐츠 내의 워터마크를 통한 비디오와 오디오 패킷의개별 전송 및 자동결합 방법
CN103607663A (zh) * 2013-11-27 2014-02-26 福建星网锐捷网络有限公司 一种多媒体流的识别方法、装置及设备
CN106034241B (zh) * 2015-03-19 2019-04-26 华为技术有限公司 一种多媒体重定向的方法、客户端、服务器和***
CN105791892A (zh) * 2016-03-02 2016-07-20 汉柏科技有限公司 一种基于桌面云的视频重定向方法、云服务器及***
CN105898506A (zh) * 2016-05-03 2016-08-24 乐视控股(北京)有限公司 媒体文件的多屏播放方法和***

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101365106A (zh) * 2008-10-10 2009-02-11 四川长虹电器股份有限公司 Iptv***中字幕显示方法
CN103039051A (zh) * 2010-06-04 2013-04-10 斯凯普爱尔兰科技控股公司 服务器辅助的视频会话
CN102143349A (zh) * 2011-03-22 2011-08-03 宋健 一种基于音频、视频信号分别通过独立通道传输的视频会议实现方法
CN104168486A (zh) * 2013-05-20 2014-11-26 上海范氏科技投资发展集团有限公司 基于云计算的虚拟机与客户端间视频重定向方法
CN104301742A (zh) * 2013-07-16 2015-01-21 上海国富光启云计算科技有限公司 虚拟机和客户端间视频重定向装置及其使用方法
WO2015026136A1 (en) * 2013-08-20 2015-02-26 Lg Electronics Inc. Apparatus for transmitting media data via streaming service, apparatus for receiving media data via streaming service, method for transmitting media data via streaming service and method for receiving media data via streaming service
CN105721898A (zh) * 2016-02-03 2016-06-29 青岛理工大学 电视终端、云服务器群组、电视播放***及方法
CN106572361A (zh) * 2016-11-15 2017-04-19 中兴通讯股份有限公司 一种视频文件的处理方法、装置和***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3544303A4 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4009648A4 (en) * 2019-08-16 2022-11-23 ZTE Corporation CLOUD DESKTOP VIDEO PLAYBACK METHOD, SERVER, TERMINAL AND STORAGE MEDIUM
CN111147928A (zh) * 2019-12-03 2020-05-12 西安万像电子科技有限公司 视频处理方法、服务器、终端及***
CN114125558A (zh) * 2022-01-26 2022-03-01 麒麟软件有限公司 基于Linux桌面显卡的安卓视频解码硬件加速方法
CN114125558B (zh) * 2022-01-26 2022-04-22 麒麟软件有限公司 基于Linux桌面显卡的安卓视频解码硬件加速方法

Also Published As

Publication number Publication date
EP3544303A1 (en) 2019-09-25
EP3544303A4 (en) 2020-05-20
CN106572361A (zh) 2017-04-19

Similar Documents

Publication Publication Date Title
WO2018090918A1 (zh) 一种视频文件的处理方法、装置和***
US10120705B2 (en) Method for implementing GPU virtualization and related apparatus, and system
WO2017124842A1 (zh) 一种截图的方法及装置
US8370605B2 (en) Computer architecture for a mobile communication platform
JP5923171B2 (ja) サーバサイドリモートデスクトップの記録及び再生の方法及び装置
US11588881B2 (en) Web browser multi-media redirection
WO2017054454A1 (zh) 对usb设备的访问方法、装置、终端、服务器及***
US11588875B2 (en) Multi-media redirection for media applications
US20170346792A1 (en) System and method for kernel level video operations
WO2015188575A1 (zh) 视频数据提供方法、视频播放方法、装置及***
WO2019071680A1 (zh) 一种插件加载的方法和装置
US10178170B2 (en) Browser-based virtual media administration
WO2019057089A1 (zh) 网卡镜像抓包方法、终端以及可读存储介质
US20170366405A1 (en) Accessing peripheral devices from a container within virtual machines running on different host computing systems
US9471357B2 (en) Monitoring virtual machine interface and local graphical user interface on a thin client and alternating therebetween
WO2019071678A1 (zh) 一种直播的方法和装置
TW201443662A (zh) 動態修改到用戶端裝置與執行於代表用戶端裝置的資料伺服器上的應用程式相關聯的資料傳輸之訊框率
WO2022178076A1 (en) Systems and methods of alternative networked application services
US9575773B2 (en) Monitoring multiple remote desktops on a wireless device
WO2016061890A1 (zh) 一种资源共享方法、终端、***及计算机存储介质
WO2019071679A1 (zh) 一种直播的方法和装置
US20130332928A1 (en) Information processing system, information processing method, and computer-readable medium
WO2021217467A1 (zh) 一种智能摄像头的测试方法及装置
JP2018041024A (ja) 表示装置、表示システム、および表示方法
US20240020081A1 (en) Multimedia redirection in collaborative sessions on virtual desktops

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: 17871436

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017871436

Country of ref document: EP

Effective date: 20190617