WO2021017958A1 - 视频转码方法及装置 - Google Patents

视频转码方法及装置 Download PDF

Info

Publication number
WO2021017958A1
WO2021017958A1 PCT/CN2020/103365 CN2020103365W WO2021017958A1 WO 2021017958 A1 WO2021017958 A1 WO 2021017958A1 CN 2020103365 W CN2020103365 W CN 2020103365W WO 2021017958 A1 WO2021017958 A1 WO 2021017958A1
Authority
WO
WIPO (PCT)
Prior art keywords
subsystem
information
code stream
media asset
transcoding
Prior art date
Application number
PCT/CN2020/103365
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 EP20846523.7A priority Critical patent/EP3982642A4/en
Priority to US17/631,403 priority patent/US11825136B2/en
Publication of WO2021017958A1 publication Critical patent/WO2021017958A1/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/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/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440236Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by media transcoding, e.g. video is transformed into a slideshow of still pictures, audio is converted into text
    • 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/234336Processing 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 media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • 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/234363Processing 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 altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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/23439Processing 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 for generating different versions
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Definitions

  • This application relates to the field of video processing technology, and in particular to methods and devices for video transcoding.
  • HDR high-dynamic range
  • image detail display With the development of video services, technologies such as higher definition, high-dynamic range (HDR) and image detail display have been applied to the field of video processing technology.
  • the types of terminals that support video playback are also increasing.
  • Users also have higher requirements for the picture of video playback. Therefore, video operators usually need to add media files corresponding to one or multiple streams to media assets that have stored media files corresponding to the stream to meet the viewing needs of users.
  • VBR dynamic bit rate
  • All the media files of the existing code streams are removed from the shelves, and the content source film of the video is re-transcoded to generate media files corresponding to all the code streams in the media asset medium (including the media files corresponding to the existing code streams and the corresponding New media files of the code stream), and then put them on the shelves again.
  • re-transcoding to generate the media file corresponding to the existing code stream and the media file corresponding to the newly added code stream in the media asset medium increases resource consumption and increases the cost of transcoding; on the other hand, This results in long transcoding time and low film loading efficiency.
  • the embodiments of the present application provide a video transcoding method and device, which help reduce transcoding resource consumption and transcoding cost, shorten transcoding time, and improve upload efficiency.
  • an embodiment of the present application provides a video transcoding method, which is applied to a media asset subsystem.
  • the media asset subsystem stores a target media asset medium of the target video, and the target media asset medium includes a corresponding first code stream.
  • the method includes: the media asset subsystem receives an instruction message, the instruction message is used to instruct the target media asset medium to add a media file corresponding to the second code stream; the media asset subsystem obtains according to the instruction message The content source piece of the target video; then, the media asset subsystem sends the content source piece of the target video to the transcoding subsystem, and the content source piece of the target video is used by the transcoding subsystem to generate a media file corresponding to the second code stream; wherein, The first information of the second code stream is the same as the first information of the first code stream; the first information includes the location information of the key frame and whether the key frame is an IDR frame; finally, the media asset subsystem receives the corresponding first information sent by the transcoding subsystem Two-stream media files.
  • This technical solution only transcodes to generate a new media file corresponding to the second code stream, does not need to transcode the content source of the video again, and generates all media files corresponding to the code stream in the media asset medium (including the existing There are media files corresponding to the code stream and new media files corresponding to the code stream), which helps to reduce transcoding resource consumption and transcoding cost, shorten transcoding time, and improve upload efficiency.
  • the first information further includes: at least one of GOP description information, fragment description information, and segment description information.
  • the first information includes the GOP description information and the fragment description information, it is helpful to realize the continuity of the video playing when the player switches the code stream.
  • the first information includes segment description information, it is helpful to realize simultaneous transcoding of multiple transcoding devices and improve transcoding efficiency.
  • the method further includes: the media asset subsystem obtains the first information of the first code stream according to the instruction message, and the media asset subsystem sends the first information of the first code stream to the transcoding subsystem. information.
  • the media asset subsystem obtains the first information of the first code stream and sends it to the transcoding subsystem, so that the transcoding subsystem can directly transcode the content source piece of the target video into the corresponding first information according to the first information of the first code stream.
  • the media file of the second code stream makes the second code stream the same as the first information of the first code stream, so as to realize the continuity of playing video pictures when the code stream is switched on the player.
  • the method further includes: the media asset subsystem obtains the media file corresponding to the first code stream according to the instruction message; the media asset subsystem sends the media file corresponding to the first code stream to the transcoding subsystem ; The media file corresponding to the first code stream is used for the transcoding subsystem to generate the first information of the first code stream.
  • the transcoding system to generate the first information of the first code stream according to the media file corresponding to the first code stream, the first information of the second code stream generated by transcoding can be made the same as the first information of the first code stream. The continuity of the video screen when the stream is switched on the player.
  • the method further includes: the media asset subsystem receives the first information of the first code stream sent by the transcoding subsystem, and stores the first information of the first code stream.
  • the media asset subsystem can directly send the first information to the transcoding subsystem, so that the transcoding subsystem can directly analyze the target video based on the first information.
  • the content source film is transcoded without re-analyzing the media file corresponding to the first code stream, thereby saving the computing resources of the transcoding subsystem.
  • the method further includes: the media asset subsystem obtains a first index file of the target media asset medium according to the instruction message; the first index file includes the second information of the first code stream; the media asset sub-system The system receives the second information of the second code stream sent by the transcoding subsystem; the media asset subsystem adds the second information of the second code stream to the first index file to obtain the second index file of the target media asset medium.
  • the media resource subsystem can also be based on the second information of the second code stream; among them, the second information of a code stream (the code stream can be the first code stream or the second code stream) is used to describe the characteristics of the code stream Information; update the first index file of the target media asset medium to the second index file, which can reduce the file transmission between the media asset subsystem and the transcoding subsystem, thereby saving network transmission resources.
  • the second information of a code stream (the code stream can be the first code stream or the second code stream) is used to describe the characteristics of the code stream Information; update the first index file of the target media asset medium to the second index file, which can reduce the file transmission between the media asset subsystem and the transcoding subsystem, thereby saving network transmission resources.
  • the method further includes: the media asset subsystem obtains a first index file of the target media asset medium according to the instruction message; the first index file includes the second information of the first code stream; the media asset sub-system The system sends the first index file to the transcoding subsystem; the first index file is used by the transcoding subsystem to obtain the second index file of the target media asset; the second index file includes: the second information of the first code stream and the second code stream The second information of a code stream (the code stream can be the first code stream or the second code stream) is the information used to describe the characteristics of the code stream; the media resource subsystem receives the transcoding subsystem The sent second index file; the media asset subsystem replaces the first index file with the second index file.
  • the method further includes: the media asset subsystem injects a second index file into the CDN subsystem of the content distribution network according to the identification information of the target video.
  • the CDN subsystem stores the first index file, and the first index file is stored in the CDN subsystem.
  • the second index file is used for the CDN subsystem to update the first index file.
  • the method further includes: the media asset subsystem injects into the CDN subsystem according to the identification information of the target video The media file corresponding to the second code stream.
  • the method further includes: the media asset subsystem sends an update amount of the target media information to the content management subsystem; wherein the update amount of the target media information is used to update the content management subsystem
  • the metadata information of the target video By updating the metadata information of the target video to the content management subsystem, the content management subsystem can provide the terminal player with the download address of the second index file when the terminal player requests to play the target video, so that the terminal can play
  • the device can obtain the second index file from the CDN subsystem according to the download address of the second index file, thereby obtaining the media file corresponding to the relevant code stream according to the download URL address of each code stream in the second index file, and the terminal player according to the network Select the media file corresponding to the appropriate code stream in the media asset to play the video to the user.
  • an embodiment of the present application provides a video transcoding method, which is applied to a transcoding subsystem.
  • the method includes: the transcoding subsystem receives a content source piece of a target video sent by a media asset subsystem, and the media asset subsystem
  • the target media material medium storing the target video, the target media material medium includes the media file corresponding to the first code stream;
  • the transcoding subsystem transcodes the content source piece of the target video into the media file corresponding to the second code stream;
  • the second code stream The first information of is the same as the first information of the first code stream; the first information includes the location information of the key frame and whether the key frame is an IDR frame; the transcoding subsystem sends the media file corresponding to the second code stream to the media asset subsystem.
  • transcoding subsystem transcodes to generate a new media file corresponding to the second code stream, without re-transcoding the content source of the video, and generates the media corresponding to all the code streams in the media asset medium.
  • Files including media files corresponding to existing code streams and media files corresponding to new code streams), thereby helping to reduce transcoding resource consumption and transcoding costs, shorten transcoding time, and improve upload efficiency.
  • the first information further includes: at least one of GOP description information, fragment description information, and segment description information.
  • the first information includes the GOP description information and the fragment description information, it is helpful to realize the continuity of the video playing when the player switches the code stream.
  • the first information includes segment description information, it is helpful to realize simultaneous transcoding of multiple transcoding devices and improve transcoding efficiency.
  • the method further includes: the transcoding subsystem receives the first information of the first code stream sent by the media asset subsystem.
  • the transcoding subsystem can directly transcode the content source piece of the video according to the first information of the first code stream to generate a media file corresponding to the second code stream, so that the second code stream
  • the first information of the stream is the same as the first information of the first code stream, so as to realize the continuity of playing video pictures when the code stream is switched on the player.
  • the method further includes: the transcoding subsystem receives the media file corresponding to the first code stream sent by the media asset subsystem; the transcoding subsystem generates the first code stream according to the media file corresponding to the first code stream The first information.
  • the transcoding subsystem can also parse and generate the first information of the first code stream according to the media file corresponding to the first code stream sent by the media asset subsystem, so that the first information of the second code stream generated by transcoding and the first code stream The first information is the same, so that the continuity of the video screen is realized when the stream is switched on the player.
  • the method further includes: the transcoding subsystem sends the first information of the first code stream to the media asset subsystem, so that next time transcoding is needed to generate a media file corresponding to the newly added code stream,
  • the media asset subsystem can directly send the first information to the transcoding subsystem, so that the transcoding subsystem can directly transcode the content source piece of the video according to the first information, without the need for the transcoding subsystem to analyze the corresponding second One code stream media file, and save the computing resources of the transcoding subsystem.
  • the method further includes: the transcoding subsystem generates second information of the second code stream, and sends the second information of the second code stream to the media asset subsystem; wherein, the second code stream The second information is used by the media asset subsystem to update the first index file of the target media asset medium to obtain the second index file of the target media asset medium; the first index file includes the second information of the first code stream; the second index file includes : The second information of the first code stream and the second information of the second code stream; among them, the second information of a code stream (the code stream can be the first code stream or the second code stream) is used to describe the code Information about the characteristics of the stream.
  • the media asset subsystem updates the first index file of the target media asset medium to the second index file according to the second information of the second code stream, which can reduce the file transmission between the media asset subsystem and the transcoding subsystem, thereby Save network transmission resources.
  • the method further includes: the transcoding subsystem receives the first index file of the target media asset medium sent by the media asset subsystem; the first index file includes the second information of the first code stream; the transcoder The system generates the second information of the second code stream, and adds the second information of the second code stream to the first index file to obtain the second index file; among them, one code stream (the code stream can be the first code stream or The second information of the second code stream) is the information used to describe the characteristics of the code stream; the transcoding subsystem sends the second index file to the media asset subsystem; the second index file is used by the media asset subsystem to replace the first index file .
  • an embodiment of the present application provides a media asset subsystem, which can be used to implement the foregoing first aspect or any method provided by any possible design of the first aspect.
  • the media asset subsystem can be divided into functional modules according to the method provided in the first aspect or any of the possible designs of the first aspect.
  • each functional module can be divided corresponding to each function.
  • the media asset subsystem may include at least one memory and at least one processor.
  • the at least one memory is used to store a computer program
  • the at least one processor is used to call the computer program to execute the first aspect or the method provided by any possible design of the first aspect.
  • an embodiment of the present application provides a video transcoding device, which may include a memory and a processor.
  • the memory is used to store a computer program
  • the processor is used to call the computer program to execute part or all of the steps in the method provided by the first aspect or any possible design of the first aspect.
  • the device may be a chip or a device in a media asset subsystem.
  • an embodiment of the present application provides a transcoding subsystem, which can be used to execute any method provided in the foregoing second aspect or any possible design of the second aspect.
  • the transcoding subsystem may be divided into functional modules according to the method provided in the second aspect or any of the possible designs of the second aspect.
  • each functional module may be divided corresponding to each function, It is also possible to integrate two or more functions into one processing module.
  • the transcoding subsystem may include at least one memory and at least one processor.
  • the at least one memory is used to store a computer program
  • the at least one processor is used to call the computer program to execute the second aspect or the method provided by any possible design of the second aspect.
  • an embodiment of the present application provides a video transcoding device, which may include a memory and a processor.
  • the memory is used to store a computer program
  • the processor is used to call the computer program to execute part or all of the steps in the second aspect or any possible design of the second aspect.
  • the device may be a device in a chip transcoding subsystem.
  • embodiments of the present application provide a computer-readable storage medium, such as a computer non-transitory readable storage medium.
  • a computer program (or instruction) is stored thereon, and when the computer program (or instruction) runs on a computer, the computer executes any method provided by the first aspect or any possible design of the first aspect Part or all of the steps in.
  • embodiments of the present application provide a computer-readable storage medium, such as a computer-readable storage medium that is non-transitory.
  • a computer program (or instruction) is stored thereon, and when the computer program (or instruction) runs on a computer, the computer executes any method provided by the second aspect or any possible design of the second aspect Part or all of the steps in.
  • the embodiments of the present application provide a computer program product, which when running on a computer, enables any method provided in the first aspect or any possible design of the first aspect to be executed.
  • the embodiments of the present application provide a computer program product, which when running on a computer, enables any method provided in the second aspect or any possible design of the second aspect to be executed.
  • an embodiment of the present application provides a video transcoding system, which includes a media asset subsystem and a transcoding subsystem.
  • the media asset subsystem may be any media asset subsystem provided by the third aspect or any possible design of the third aspect.
  • the transcoding subsystem may be any transcoding subsystem provided by the fifth aspect or any possible design of the fifth aspect.
  • any of the video transcoding devices, computer storage media, computer program products or systems provided above can be applied to the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can be referred to The beneficial effects of the corresponding method will not be repeated here.
  • FIG. 1 is a schematic diagram of a code stream structure provided by an embodiment of the application
  • 1A is a schematic diagram of the relationship among the second information of the code stream, the media material medium, the index file of the media material medium, and the first information of the code stream;
  • FIG. 2 is a schematic block diagram of a video transcoding system architecture provided by an embodiment of the application.
  • FIG. 3 is a schematic flowchart of a video transcoding method provided by an embodiment of this application.
  • FIG. 4 is a schematic flowchart of another video transcoding method provided by an embodiment of the application.
  • FIG. 5 is a schematic block diagram of a media asset subsystem provided by an embodiment of this application.
  • Fig. 6 is a schematic block diagram of a transcoding subsystem provided by an embodiment of the application.
  • FIG. 7 is a schematic block diagram of the hardware structure of a communication device according to an embodiment of the application.
  • Code stream the media file corresponding to the code stream
  • a stream consists of one or more fragments.
  • the duration of different fragments in the same code stream can be the same or different.
  • the duration of a fragment can range from 2 seconds to 10 seconds.
  • a slice is composed of one or more groups of pictures (GOP), and a GOP is composed of one frame or continuous multiple frames of pictures.
  • the images in a GOP can be divided into I frames (also called key I frames), P frames and B frames.
  • the key I frame is an intra-coded frame
  • the P frame is a forward prediction frame
  • the B frame is a two-way interpolation frame.
  • P frame and B frame record the change information relative to the key I frame.
  • the digital video coding format H.264 defines that a GOP includes one or more key I frames, where the first key I frame in each GOP is an instantaneous decoder refresh (IDR) frame.
  • IDR instantaneous decoder refresh
  • the attributes of the code stream can include: encapsulation protocol, encoding format, resolution and bit rate.
  • the attributes of the code stream may also include whether to support HDR and so on.
  • the attributes of the code stream including the encapsulation protocol, encoding format, resolution, code rate, and whether HDR is supported are taken as examples for description. This is a unified description, and will not be repeated here.
  • the encapsulation protocol of the code stream may include: dynamic adaptive streaming over HTTP (DASH) protocol, HTTP-based streaming media network transmission protocol (HTTP live streaming, HLS) protocol, etc.
  • HTTP is the English abbreviation for hypertext transfer protocol (hypertext transfer protocol).
  • the coding format of the code stream can include H.265, H.264, and so on.
  • the resolution of the code stream can include: 480P, 1080P, 4K, etc.
  • the bit rate of the bit stream may include: 2.5 megabits per second (million bits per second, Mbps), 3.5 Mbps, and so on.
  • the media file corresponding to the code stream refers to a file that encapsulates the code stream in a certain file format.
  • the file format of the code stream encapsulated by the DASH protocol is the compressed coding standard (moving picture experts group 4, MP4) format formulated by the Motion Picture Experts Group;
  • the file format of the code stream encapsulated by the HLS protocol is UTF-8 Coded audio and video list (UTF-8 moving picture experts group audio layer 3 uniform resource locator, M3U8) format.
  • Transcoding the content source film of the same video can obtain a media file corresponding to one or multiple streams.
  • the schematic diagram of the relationship between the content source piece of the video and the media file corresponding to the code stream is shown in FIG. 1A.
  • Transcoding the content source film of the video can obtain the media file corresponding to code stream 1 and the media file corresponding to code stream 2.
  • the media file corresponding to the code stream in this application has the same meaning as the media file of the code stream.
  • the media file corresponding to code stream 1 is the media file of code stream 1.
  • the second information of the code stream is information used to describe the characteristics of the code stream, and may also be referred to as the description information of the code stream.
  • the second information of the code stream may include at least one of the following: resolution of the code stream, encoding format, and download uniform resource locator (URL) information, etc.
  • Media is a collection of media files of one or more streams with specific attributes of the same video.
  • the specific attribute can be an encapsulation protocol and an encoding format.
  • the specific attribute can be an encapsulation protocol.
  • FIG. 1A a schematic diagram of the relationship between the content source piece of the video, the media asset medium and the media file of the code stream is shown.
  • Media asset media 1 and media asset media 2 are all for the same video.
  • the content source of the same video is transcoded to obtain the media of media asset media 1 corresponding to stream 1 Files and media files corresponding to code stream 2, etc.; media files corresponding to code stream 3 and media files corresponding to code stream 4 belonging to media asset medium 2 can also be obtained.
  • a media asset medium includes media files of multiple streams
  • the multiple streams have the same encapsulation protocol and the same encoding format.
  • the encapsulation protocol and encoding format can be used as the type of media material.
  • the code streams corresponding to the code streams of the code streams of different media assets of the same video have different encapsulation protocols and/or different encoding formats. For example, if a media asset medium includes a multi-route encapsulation protocol DASH encapsulated media file with a code stream encoded by the encoding format H.265, the type of the media asset medium may be: the encapsulation protocol DASH and the encoding format H.265.
  • a media asset medium includes media files of multiple streams
  • the multiple streams have the same encapsulation protocol.
  • the encapsulation protocol can be used as the type of media.
  • the type of the media asset medium may be: the encapsulation protocol DASH.
  • the media asset has a media asset identification (ID).
  • ID media asset identification
  • the index file of the media asset medium includes the header information of the index file and the second information of the code stream corresponding to the media file of the code stream contained in the media asset medium.
  • the index file of the media asset may be an index plain text file encoded by a variable-length character encoding (8-bit unicode transformation format, UTF-8), of course, it is not limited to this.
  • FIG. 1A A schematic diagram of the relationship between the index file of the media asset medium and the media asset medium is shown in FIG. 1A.
  • the media asset medium 1 corresponds to the index file of the media asset medium 1.
  • the index file of the media asset medium 1 includes the second information of the stream 1 and the second information of the stream 2 belonging to the media asset medium 1;
  • the media asset medium 2 Corresponding to the index file of the media asset medium 2, the index file of the media asset medium 2 includes the second information of the stream 3 and the second information of the stream 4 belonging to the media asset medium 1.
  • the format of the index file of the media asset medium to which the media file of the corresponding code stream belongs is a media presentation description (MPD) format.
  • MPD media presentation description
  • the format of the index file of the media asset medium to which the media file of the corresponding code stream belongs is the M3U8 format.
  • the first information of the code stream includes the key frame (key I frame) description information of the code stream.
  • the first information may further include at least one of fragmentation information and GOP description information of the code stream.
  • the first information may also include segment description information of the content source piece of the video in the process of generating the media file of the code stream.
  • the code streams corresponding to the media files of all code streams belonging to the same media asset medium have the same first information. Therefore, when the media asset subsystem stores the first information of the code stream, only one piece of first information is stored in the same media asset medium. Therefore, the first information of the code stream belonging to the media asset medium can also be understood as the first information of the media asset medium.
  • the first information corresponding to different media assets may be the same or different.
  • FIG. 1A A schematic diagram of the relationship between the first information of the media asset medium and the media asset medium is shown in FIG. 1A.
  • Media asset medium 1 corresponds to the first information of media asset medium 1
  • media asset medium 2 corresponds to the first information of media asset medium 2.
  • the first information of the media asset medium 1 may be the same as or different from the first information of the media asset medium 2.
  • Segment description information It is the information used to describe the segmentation of the content source piece of the video in the process of generating a media file of a stream.
  • the segment description information includes: the sequence number of the segment (such as each segment) divided by the content source piece of the video and the start frame and end frame of the segment (such as each segment) relative to the video start time Offset timestamp.
  • the segment description information may also include segment duration and so on. It is understandable that, before transcoding the content source piece of the video, the transcoding subsystem can divide the content source piece of the video into multiple segments, so that the multiple segments can be obtained through multiple transcoding subsystems. Perform parallel transcoding to improve transcoding efficiency.
  • the content source piece of the video can be divided into 19 segments according to each segment of 5 minutes, and the last segment has a length of 3 minutes. These 19 segments can be simultaneously transcoded by 19 transcoding subsystems.
  • the content source piece of the video can be divided into multiple segments according to actual needs. Of course, the content source piece of the video may not be segmented according to actual needs.
  • Fragment description information information used to describe the fragments in the code stream.
  • the fragment description information may include the sequence number of the fragment (such as each fragment) in the code stream and the offset timestamp of the start frame and the end frame of the fragment (such as each fragment) relative to the start time of the video.
  • the segment description information may further include at least one of the following: segment duration, number of GOPs in the segment, and offset timestamps of the start and end frames of the segment with respect to the start time of the video, etc.
  • the segment description information may further include at least one of the following: the sequence number of the segment in the segment to which it belongs, the sequence number of the segment to which the segment belongs, and so on.
  • GOP description information information used to describe the GOP in the code stream.
  • the GOP description information may include: the sequence number of the GOP in the code stream to which it belongs, and the offset timestamp of the start and end frames of the GOP relative to the start time of the video.
  • the GOP description information may further include at least one of the following: the sequence number of the GOP in the slice to which it belongs, the sequence number of the slice to which the GOP belongs, the duration of the GOP, and GOP sequence information, etc.
  • the GOP sequence information includes the type of each frame included in the GOP (that is, whether each frame is an I frame, a P frame, or a B frame), for example, IBPBBBPPBBIBP.
  • Key frame description information is the information used to describe the key frame in the code stream.
  • the key frame description information may include the location information of the key frame and whether the key frame is an IDR frame. Among them, the position information of the key frame can be characterized by the sequence number of the key frame in the code stream.
  • the sequence number of the key frame in the code stream is the sequence number that contains the B frame and the P frame. For example, the frame sequence in a code stream is IBPBPBPBBIBP, then the sequence numbers of the key frame are 1 and 12.
  • the position information of the key frame can also be based on the sequence number of the key frame in the GOP to which it belongs, the sequence number of the GOP to which the key frame belongs, the sequence number of the segment to which the GOP belongs, and the sequence number of the segment in the code stream. Or the offset timestamp of the key frame relative to the start time of the video. This application does not specifically limit this.
  • the metadata information of the video may include: the identification information of the video (such as the video name), the release time of the video, and the media information of the video.
  • the media information of the video may include at least one of the following: the download address of the media asset index file, the identifier of the media asset, and the attributes of the stream corresponding to the media file of the stream included in the media asset, Such as the resolution of the code stream, the code rate of the code stream and whether the code stream supports HDR, etc.
  • Video dynamic bit rate playback technology means that when a terminal is playing a video, according to the user's network bandwidth, it selects the most appropriate bit stream to play the video to the user, so as to provide the user with the smoothest playback experience technology.
  • words such as “exemplary” or “for example” are used as examples, illustrations, or illustrations. Any embodiment or design solution described as “exemplary” or “for example” in the embodiments of the present application should not be construed as being more preferable or advantageous than other embodiments or design solutions. To be precise, words such as “exemplary” or “for example” are used to present related concepts in a specific manner.
  • At least one refers to one or more.
  • Multiple means two or more.
  • "and/or” is merely an association relationship describing associated objects, indicating that there can be three types of relationships, for example, A and/or B, which can indicate that A exists alone, and both A and A B, there are three cases of B alone.
  • the character "/" in this text generally indicates that the associated objects before and after are in an "or" relationship.
  • Fig. 2 is a schematic block diagram of a video transcoding system architecture that can be used in an example of an embodiment of the present application.
  • the video transcoding system includes: a media asset subsystem 100, a transcoding subsystem 200, a content delivery network (CDN) subsystem 300, a content management subsystem 400, and a terminal 500.
  • CDN content delivery network
  • Media asset subsystem 100 used to store the content source film of the video, the metadata information of the video, and the media asset library of the video.
  • the media asset database of the video includes the index file of the media asset and the first information of the media asset.
  • the media asset library of the video may also include media files of one or more streams in the media asset medium.
  • Transcoding subsystem 200 used to transcode the content source piece of the video.
  • CDN subsystem 300 used to store media files of code streams and index files of media assets.
  • the content management subsystem 400 is a system for operating and managing videos (such as video content presentation, video content operation, etc.).
  • the content management subsystem 400 may be used to manage the metadata information of the video.
  • Terminal 500 A video APP player can be installed.
  • the video APP player is used to play videos.
  • any multiple systems in the media asset subsystem 100, transcoding subsystem 200, CDN subsystem 300, and content management subsystem 400 may be located on independent physical devices or integrated on the same physical device.
  • any one of the media asset subsystem 100, the transcoding subsystem 200, the CDN subsystem 300, and the content management subsystem 400 may include one or more physical devices.
  • the CDN subsystem 300 includes: a CDN source station, a CDN edge node, and a CDN dispatch center.
  • the video transcoding system shown in FIG. 2 is an example of a video transcoding system to which the technical solution provided in the embodiment of the application is applicable, and it does not transcode the video to which the technical solution provided in the embodiment of the application is applicable System composition limit.
  • the process of playing a video may include: when the user selects a video through the video APP player installed on the terminal 500, the video APP player selects a video according to the terminal 500
  • the supported operating system such as Android, iPhone operating system, IOS, etc.
  • the content management subsystem 400 determines the download address of the index file of the media asset medium according to the type of the media asset medium and the video identification information contained in the instruction, and sends the download address of the index file of the media asset medium to The terminal 500.
  • the video APP player installed on the terminal 500 obtains the index file of the media asset medium from the CDN subsystem 300 according to the download address of the index file of the media asset medium, and obtains the media asset of the video according to the index file. A media file of one or more streams in the media. Finally, the video APP player selects the media file of the appropriate code stream in the media asset media to play the video to the user according to the bandwidth of the network.
  • FIG. 3 is a schematic flowchart of a video transcoding method provided by an embodiment of the application.
  • the method can be applied to the video transcoding system as shown in FIG. 2, but of course it is not limited to this.
  • This embodiment is described by taking as an example the medium file of the second code stream is added to the target media asset medium. That is, before S101 is performed, the target media asset medium contains at least one code stream media file.
  • Example 1 Taking the movie "Wandering Earth" as an example, the target media of the movie has three-stream media files (media files 1 to 3 marked as streaming). Among them, the media files 1 to 3 of the code stream all belong to the same media material medium.
  • the encapsulation protocols of the code streams corresponding to the media files 1 to 3 of the code stream are all DASH, and the encoding format is all H.265.
  • the resolutions of streams 1 to 3 are: 480P, 720P, and 1080P, and the bit rates are all 3.5 Mbps, and they all support HDR.
  • the video transcoding method shown in FIG. 3 may include:
  • the media asset subsystem receives the instruction message.
  • the instruction message is used to indicate to add a media file of the second code stream to the target media asset medium.
  • the indication message includes the identification information of the target video and the attributes of the second code stream.
  • the attributes of the second code stream may include encapsulation protocol, encoding format, resolution, code rate, and whether to support HDR.
  • the instruction message may be issued by the administrator, but of course the embodiment of the present application is not limited to this.
  • the indication message may include: the identification information of the film "Wandering Earth" and the attributes of the second code stream (for example, the packaging protocol is DASH, the encoding format is H.265, the resolution is 4K, the bit rate is 3.5Mbps, and Support HDR).
  • the media asset subsystem obtains the content source piece of the target video according to the identification information of the target video.
  • the media asset subsystem determines the target media asset medium identifier according to the identification information of the target video, the encapsulation protocol and the encoding format of the second code stream, and obtains the first information of the target media asset medium and the target media asset medium’s information according to the target media asset medium identifier.
  • the first information of the target media asset medium may include key frame description information.
  • the first index file may include the second information of the existing bitstream (for example, the second information of all the existing bitstreams).
  • the media asset subsystem may determine the type of the target media asset medium according to the encapsulation protocol and encoding format of the second bitstream, and then determine the target media asset medium identifier according to the identification information of the target video and the type of the target media asset medium.
  • the information in Table 1 can be stored in the media asset subsystem for query by the media asset subsystem.
  • the first information of the target media asset medium is the first information of the stream corresponding to the media file of at least one stream belonging to the target media asset medium.
  • the first information of the target media asset medium may further include: at least one of segment description information, GOP description information, and segment description information of the code stream corresponding to the media file of the code stream in the target media asset medium.
  • the first information of the target media asset medium includes: key frame description information of any one of code streams 1 to 3.
  • the first index file of the target media asset medium includes: second information of code streams 1 to 3.
  • the media asset subsystem may store the correspondence between the identification information of multiple videos and the download addresses of the content source pieces of the multiple videos, where the identification information of each video is related to the content source piece of the video. There is a correspondence between download addresses. Based on this, when S102 is executed, the media asset subsystem can obtain the download address of the content source piece corresponding to the identification information of the target video (that is, the content source piece of the target video) according to the corresponding relationship and the identification information of the target video.
  • the media asset subsystem can store the correspondence between multiple media asset identifications and multiple media asset media’s first information, where the type of each media asset media and the media asset’s first information There is a correspondence between one information. Based on this, when S102 is executed, the media asset subsystem obtains the first information of the target media asset medium corresponding to the target media asset medium identifier according to the corresponding relationship and the target media asset medium identifier.
  • the media asset subsystem sends a request message to the transcoding subsystem.
  • the request message includes: the content source piece of the target video, the attributes of the second code stream (such as the attributes of the second code stream in S101), the first information of the target media asset medium, and the first index file of the target media asset medium.
  • the request message is used to request the transcoding subsystem to transcode the content source piece of the target video into a media file of the second code stream.
  • the content source piece of the target video, the attributes of the second code stream, the first information of the target media asset medium, and the first index file of the target media asset medium are all carried in the same message (specifically, the request message) Send it as an example. Extensible, for any two of these information, they can be carried in the same message for transmission, or carried in different messages for transmission. Extensible, if this information is carried in multiple messages, then any two messages in the multiple messages can be sent at the same time or at different times.
  • step S102 "the media asset subsystem obtains the content source of the target video according to the identification information of the target video” can be replaced with “the media asset subsystem obtains the download of the content source of the target video according to the identification information of the target video” address".
  • the "content source piece of the target video” in the request message of step S103 can be replaced with the "download address of the content source piece of the target video”.
  • the method may further include: the transcoding subsystem sends the download address of the content source piece of the target video in the request message to the media asset subsystem to obtain the content source piece of the target video.
  • the "first index file of the target media asset medium” in step S102 may be replaced with: “the download address of the first index file of the target media asset medium”.
  • the "first index file of the target media asset medium” in the request message in step S103 can be replaced with "the download address of the first index file of the target media asset medium”.
  • the method may further include: the transcoding subsystem obtains the first index file of the target media asset medium from the media asset subsystem according to the download address of the first index file of the target media asset medium.
  • the method for the transcoding subsystem to obtain the content source film of the target video and the first index file of the target media asset medium is not specifically limited. In specific implementation, methods in the prior art can be used achieve.
  • the method may further include: the transcoding subsystem sends a response message to the media asset subsystem.
  • the response message is used to feed back to the media asset subsystem that the transcoding subsystem has received the request message.
  • the transcoding subsystem transcodes the content source piece of the target video into a media file of the second code stream according to the first information of the target media asset medium and the attributes of the second code stream, and generates the second information of the second code stream And, adding the second information of the second code stream to the first index file of the target media asset medium to obtain the second index file of the target media asset medium.
  • the key frame description information of the second code stream is the same as the key frame description information in the first information of the target media asset medium.
  • the key frame description information in the first information of the target media material includes: the sequence number of the key frame in the code stream to which it belongs, such as 1, 4, 9, 11, 16, 20, 25, and 30; and whether the key frame is IDR frame: yes, no, yes, no, yes, no and no; then, according to the first information, the sequence numbers of the key frames of the second code stream obtained by the transcoding subsystem are also 1, 4, 9. 11, 16, 20, 25, and 30, and the key frames with sequence numbers 1, 9 and 20 are also identified as IDR frames.
  • the GOP description information of the second code stream is the same as the GOP description information in the first information of the target media asset medium.
  • the fragment description information of the second code stream is the same as the fragment description information in the first information of the target media asset medium.
  • the segment description information when the content source piece of the target video is segmented during transcoding is the same as the segment description information in the first information of the target media asset medium.
  • the second information of the second code stream may include: the resolution of the second code stream, the encoding format of the second code stream, the download URL information of the second code stream, and the like.
  • the second information of the second code stream may include: the resolution is 4K, the encoding format is H.265, and the download URL information of the second code stream, etc.
  • Adding the second information of the second code stream to the first index file of the target media asset medium can be understood as updating the first index file according to the second information of the second code stream to obtain the second index file.
  • the first index file of the target media asset medium may include the second information of code streams 1 to 3
  • the second index file may include: the second information of code streams 1 to 3 and the second information of the second code stream. information.
  • the transcoding subsystem sends the media file of the second code stream and the second index file of the target media asset medium to the media asset subsystem.
  • steps S104-S105 can be replaced with: the transcoding subsystem transcodes the content source piece of the target video into a media file of the second code stream according to the first information of the target media asset medium and the attributes of the second code stream. And generate the second information of the second code stream. Then, the transcoding subsystem sends the media file of the second code stream and the second information of the second code stream to the media asset subsystem, and the media asset subsystem adds the second information of the second code stream to the target media asset medium To obtain the second index file of the target media asset medium.
  • the request message in step S103 may not include the first index file of the target media asset medium. In this way, the media asset subsystem updates the first index file of the target media asset medium, which can reduce the file transmission between the media asset subsystem and the transcoding subsystem, thereby saving network transmission resources.
  • the transcoding subsystem may send the second information of the second code stream to the media asset subsystem in the form of a third index file, which is not specifically limited in this application.
  • the media asset subsystem updates the media asset database according to the second index file of the target media asset medium. Specifically, the media asset subsystem may replace the first index file of the target media asset medium in the media asset library with the second index file of the target media asset medium.
  • the media asset subsystem may store the media file of the second code stream in the media asset library.
  • the media asset subsystem injects (ie sends) the media file of the second code stream and the second index file of the target media asset to the CDN subsystem according to the identification information of the target video.
  • the CDN subsystem stores the media file of the second stream according to the identification information of the target video, replaces the first index file of the target media asset medium with the second index file of the target media asset medium, and generates the target media asset medium The download address of the second index file.
  • the CDN subsystem sends the download address of the second index file of the target media asset to the media asset subsystem.
  • steps S10-7-S109 can be executed by the CDN source station in the CDN subsystem.
  • the media asset subsystem sends the identification information of the target video and the update amount of the target media information to the content management subsystem.
  • the update amount of the target media information includes the download address of the second index file of the target media asset and the relevant information of the second stream corresponding to the media file of the second stream in the target media asset, such as second The resolution of the bit stream, the bit rate of the second bit stream and whether it supports HDR, etc.
  • the media asset subsystem sends the identification information of the target video and the update amount of the target media information to the content management subsystem, which can also be regarded as the media asset subsystem synchronizes the update amount of the target media information.
  • the content management subsystem can also be regarded as the media asset subsystem synchronizes the update amount of the target media information.
  • the content management subsystem updates the metadata information of the target video according to the identification information of the target video and the update amount of the target media information.
  • step S106 may be executed before steps S107-S111 are executed, step S106 may be executed after steps S107-S111 are executed, or step S106 may be executed during the process of executing steps S107-S111.
  • the target video metadata information stored by the content management subsystem includes: the name of the movie "Wandering Earth" and the target media information, where the target media information includes the media information
  • the code rate of stream 1 ⁇ 3 is 3.5Mbps and the code stream 1 ⁇ 3 all support information such as HDR.
  • the update amount of the target media information includes: the download address of the second index file of the target media, the resolution of the second bit stream is 4K, the bit rate of the second bit stream is 3.5Mbps, and the second bit stream supports HDR And other information.
  • the metadata information of the target video includes: the name of the movie "Wandering Earth” and target media information.
  • the target media information includes the download address of the second index file of the media, and the target media information.
  • Media ID 1 and the attributes of the code stream corresponding to the media file of the code stream included in the target media material specifically: the resolution of code streams 1 to 3, the code rate of code streams 1 to 3 of 3.5 Mbps, and code stream 1. ⁇ 3 all support HDR, the resolution of the second bit stream is 4K, the bit rate of the second bit stream is 3.5Mbps, and the second bit stream supports HDR and other information.
  • the media file of the newly-added stream in the media asset medium is obtained by transcoding, so that the media asset medium has a stream medium
  • the code stream corresponding to the file has the same key frame description information (including the position information of the key frame and whether the key frame is an IDR frame) of the code stream corresponding to the media file of the newly added code stream.
  • the position information of the key frame can make the key frame of the newly generated code stream the same as the position information of the key frame of the existing code stream.
  • the key frame is an IDR frame
  • it can ensure that the code stream is switched from the IDR frame, which helps to realize the terminal according to the bandwidth of the network, select the most suitable code stream in the media to play the video, and realize the continuity of the video screen.
  • it is not necessary to remove all the media files of the existing code stream in the media asset medium to which the media file of the newly added code stream belongs, and transcode the content source film of the video again to generate the media file in the media asset medium.
  • Media files of all code streams (including media files of existing code streams and media files of newly-added code streams) will be put on the shelves again, and there is no need to regenerate the index files of the target media materials. Therefore, it helps to reduce transcoding resource consumption and transcoding cost, helps shorten the transcoding time, and helps improve the chip loading efficiency.
  • any two pieces of information sent from one device (or system) to another device (or system) can be carried in the same It is sent in a message, or it can be carried in a different message for sending. If any two pieces of information are carried in different messages, then the two messages can be sent at the same time or at different times.
  • the second code stream and the second index file of the target media asset medium may be carried in the same message for transmission, or carried in different messages for transmission. If the two information are carried in different messages, then the two messages can be sent at the same time or at different times.
  • the video transcoding method shown in FIG. 3 is only an example, and it does not limit the video transcoding method provided in the embodiment of the present application.
  • the order of execution between any of the multiple steps shown in Figure 3 can be changed, such as the "media asset subsystem sending the media file of the second code stream to the CDN subsystem" in step S107.
  • a step can be executed in any step after S105, and other examples will not be listed one by one.
  • part of the information or steps shown in FIG. 3 may be optional.
  • the attribute of the second code stream described in S101 may not include "whether HDR is supported" or the like.
  • the first index file of the target media asset medium can be:
  • the second index file of the target media asset medium may be:
  • the encapsulation protocol of the code stream in the target media asset medium is HLS and the format of the index file of the target media asset medium is M3U8 format, based on example 2, (wherein, the difference between example 2 and example 1 above is:
  • the type of the media asset medium in Example 2 is the encapsulation protocol HLS and the encoding format is H.264), and the first index file of the target media asset medium can be:
  • the second index file of the target media asset medium may be:
  • PROGRAM-ID 1
  • BANDWIDTH 24860049
  • AVERAGE-BANDWIDTH 12360026
  • CODECS mp4a.40.5,avc1.640028”
  • RESOLUTION 4096x2160
  • FIG. 4 The method shown in Figure 4 includes:
  • the media asset subsystem obtains the content source piece of the target video according to the identification information of the target video.
  • the media asset subsystem determines the target media asset medium identifier according to the identification information of the target video, the encapsulation protocol of the second code stream, and the encoding format, and obtains the media file and the first code stream of the target media asset medium according to the target media asset medium identifier.
  • the media file of the first code stream is a media file of any code stream belonging to the target media asset medium.
  • the method for determining the target media asset medium identifier can refer to the method in the example shown in FIG. 3 above, which will not be repeated here.
  • the media asset subsystem may store the correspondence between multiple media asset medium identifiers and the media files of the first code stream of the multiple media asset media, where each media asset medium identifier corresponds to the media asset medium There is a correspondence between the media files of the first code stream. Based on this, when S202 is executed, the media asset subsystem obtains the media file of the first code stream of the target media asset medium corresponding to the target media asset medium identifier according to the correspondence relationship and the target media asset medium identifier.
  • the media asset subsystem sends a request message to the transcoding subsystem.
  • the request message includes: the content source piece of the target video, the attributes of the second code stream, the media file of the first code stream of the target media asset medium, and the first index file of the target media asset medium.
  • the request message is used to request the transcoding subsystem to transcode the content source piece of the target video into a media file of the second code stream.
  • the content source piece of the target video, the attributes of the second code stream, the media file of the first code stream of the target media asset medium, and the first index file of the target media asset medium are all carried in the same message (specifically
  • the request message is sent as an example. Extensible, for any two of these information, they can be carried in the same message for transmission, or carried in different messages for transmission. Extensible, if the information is carried in multiple messages, then any two messages in the multiple messages can be sent at the same time or at different times.
  • the method may further include: the transcoding subsystem sends a response message to the media asset subsystem.
  • the response message is used to feed back to the media asset subsystem that the transcoding subsystem has received the request message.
  • the transcoding subsystem parses the media file of the first code stream to generate first information about the target media asset.
  • the transcoding subsystem parses the media file of the first code stream, obtains the segment description information, GOP description information, and key frame description information of the first code stream, and generates the first information of the target media asset medium.
  • the specific analysis method can refer to the method in the prior art, which is not specifically limited in this application.
  • the first information of the code streams corresponding to the media files of all code streams in the target media material medium is the same, it can be considered that the first information generated according to the first code stream is the first information of the target media material medium.
  • the transcoding subsystem sends the first information of the target media asset medium to the media asset subsystem.
  • step S105 can be referred to, but of course it is not limited to this.
  • the media asset subsystem updates the media asset database according to the first information and the second index file of the target media asset medium.
  • the media asset subsystem may store the first information of the target media asset medium in the media asset library, and replace the first index file of the target media asset medium in the media asset library with the second index file of the target media asset medium.
  • the media asset subsystem stores the first information of the target media asset medium in the media asset library, so that when the new code stream is generated by the next transcoding, the transcoding subsystem can directly analyze the content source of the target video based on the first information. Transcoding is performed without re-analyzing the media file of the first code stream, thereby saving the computing resources of the transcoding subsystem.
  • the media asset subsystem may store the received media file of the second code stream in the media asset library.
  • S209-S213, can refer to the above steps S107-S111, of course it is not limited to this.
  • step S208 may be executed before steps S209-S213, step S208 may be executed after steps S209-S213, or step S208 may be executed during the process of executing steps S209-S213.
  • the embodiment of the application can divide the media asset subsystem and the transcoding subsystem into functional modules based on the above method examples.
  • each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing.
  • Module The above-mentioned integrated modules can be implemented in the form of hardware or software functional modules. It should be noted that the division of modules in the embodiments of the present application is illustrative, and is only a logical function division, and there may be other division methods in actual implementation.
  • FIG. 5 a schematic block diagram of a media asset subsystem 500 provided by an embodiment of this application.
  • the media asset subsystem 500 may be used to execute any video transcoding method provided in the embodiments of the present application, such as the video transcoding method shown in FIG. 3 or FIG. 4.
  • the media asset subsystem 500 may include a storage module 501, a receiving module 502, an acquiring module 503, and a sending module 504.
  • the storage module 501 is used to store the target media asset medium of the target video, and the target media asset medium includes the media file corresponding to the first code stream
  • the receiving module 502 is used to receive the indication message, the indication message is used to indicate the target media asset A media file corresponding to the second code stream is added to the medium
  • the obtaining module 503 is used to obtain the content source piece of the target video according to the instruction message
  • the sending module 504 is used to send the content source piece of the target video to the transcoding subsystem,
  • the content source piece is used for the transcoding subsystem to generate the media file corresponding to the second code stream
  • the first information of the second code stream is the same as the first information of the first code stream
  • the first information includes the position information of the key frame and whether the key frame is To refresh the IDR frame for instant decoding
  • the receiving module 502 is also used to receive the
  • the receiving module 502 can be used to perform S101; the obtaining module 503 can be used to perform the step of obtaining the content source of the target video in S102; the sending module 504 can be used to perform the step of sending the content source of the target video in S103 A step of.
  • the receiving module 502 can be used to perform S201; the obtaining module 503 can be used to perform the step of obtaining the content source of the target video in S202; the sending module 504 can be used to perform the step of sending the content source of the target video in S203 A step of.
  • the first information further includes: at least one of GOP description information of the group of pictures, fragment description information, and segment description information.
  • the obtaining module 503 is further configured to obtain the first information of the first code stream according to the instruction message; the sending module 504 is further configured to send the first information of the first code stream to the transcoding subsystem.
  • the obtaining module 503 may be used to perform the step of obtaining the first information of the target media asset medium in S102; the sending module 504 may be used to perform the step of sending the first information of the target media asset medium in S103.
  • the obtaining module 503 is further configured to obtain the media file corresponding to the first code stream according to the instruction message; the sending module 504 is further configured to: send the media file corresponding to the first code stream to the transcoding subsystem; corresponding to the first code stream The media file is used for the transcoding subsystem to generate the first information of the first code stream.
  • the obtaining module 503 may be used to perform step S202; the sending module 504 may be used to perform step S203.
  • the receiving module 502 is further configured to receive the first information of the first code stream sent by the transcoding subsystem; the storage module 501 is also configured to store the first information of the first code stream.
  • the receiving module 502 may be used to perform S205; the storage module 501 may be used to perform S208.
  • the acquiring module 503 is further configured to acquire the first index file of the target media asset medium according to the instruction message; the first index file includes the second information of the first code stream; the receiving module 502 is also configured to receive the information sent by the transcoding subsystem The second information of the second code stream; the media asset subsystem 500 also includes a generating module 505 for adding the second information of the second code stream to the first index file to obtain the second index file of the target media asset medium.
  • the acquiring module 503 is further configured to acquire the first index file of the target media asset medium according to the instruction message; the first index file includes the second information of the first code stream; the sending module 504 is also configured to: send to the transcoding subsystem Send the first index file; the first index file is used for the transcoding subsystem to obtain the second index file of the target media asset; the second index file includes: the second information of the first code stream and the second information of the second code stream;
  • the receiving module 502 is also used to receive the second index file sent by the transcoding subsystem; the storage module 501 is also used to replace the first index file with the second index file.
  • the obtaining module 503 may be used to perform the step of obtaining the first index file of the target media asset medium in S102; the sending module 504 may be used to perform the step of sending the first index file of the target media asset medium in S103;
  • the storage module 501 may be used to perform S106.
  • the obtaining module 503 may be used to perform the step of obtaining the first index file of the target media asset medium in S202; the sending module 504 may be used to perform the step of sending the first index file of the target media asset medium in S203;
  • the storage module 501 may be used to perform the step of updating the media asset database according to the second index file in S208.
  • the sending module 503 is further configured to inject a second index file into the CDN subsystem of the content distribution network according to the identification information of the target video.
  • the CDN subsystem is used to store the first index file
  • the second index file is used in the CDN subsystem. Update the first index file.
  • the sending module 503 may be used to execute the step of injecting the second index file of the target media asset medium into the CDN subsystem according to the identification information of the target video in S107.
  • the sending module 503 may be used to perform the step of injecting the second index file of the target media asset medium into the CDN subsystem according to the identification information of the target video in S209.
  • the sending module 503 is further configured to inject the media file corresponding to the second code stream into the CDN subsystem according to the identification information of the target video.
  • the sending module 503 may be used to perform the step of injecting the media file corresponding to the second code stream into the CDN subsystem according to the identification information of the target video in S107.
  • the sending module 503 may be used to perform the step of injecting the media file corresponding to the second code stream into the CDN subsystem according to the identification information of the target video in S209.
  • the sending module 503 is further configured to send the update amount of the target media information to the content management subsystem; wherein the update amount of the target media information is used for the content management subsystem to update the metadata information of the target video.
  • the sending module 503 may be used to perform S110.
  • the sending module 503 may be used to perform S212.
  • FIG. 6 a schematic block diagram of a transcoding subsystem 600 provided by an embodiment of this application.
  • the transcoding subsystem 600 may be used to execute any video transcoding method provided in the embodiments of the present application, such as the video transcoding method shown in FIG. 3 or FIG. 4.
  • the transcoding subsystem 600 may include a receiving module 601, a transcoding module 602, and a sending module 603.
  • the receiving module 601 is used to receive the content source piece of the target video sent by the media asset subsystem;
  • the transcoding module 602 is used to transcode the content source piece of the target video into a media file corresponding to the second code stream;
  • the first information of the stream is the same as the first information of the first code stream; the first information includes the location information of the key frame and whether the key frame is an IDR frame;
  • the sending module 603 is used to send the corresponding second code stream to the media asset subsystem Media files.
  • the transcoding module 602 is used to perform the step of transcoding the content source piece of the target video into a media file corresponding to the second code stream in S104; the sending module 603 is used to perform the step of sending the corresponding second code stream in S105 Of the media file.
  • the transcoding module 602 is used to perform the step of transcoding the content source piece of the target video into a media file corresponding to the second code stream in S206; the sending module 603 is used to perform the step of sending the corresponding second code stream in S207 Of the media file.
  • the first information further includes: at least one of GOP description information, fragment description information, and segment description information.
  • the receiving module 601 is further configured to receive the first information of the first code stream sent by the media asset subsystem.
  • the receiving module 601 is further configured to receive the media file corresponding to the first code stream sent by the media asset subsystem; the transcoding subsystem 600 further includes a generating module 604, which is configured to generate the first code stream according to the media file corresponding to the first code stream.
  • the first information of the code stream is used to execute S204.
  • the sending module 603 is further configured to send the first information of the first code stream to the media asset subsystem.
  • the sending module 603 may be used to execute S205.
  • the generating module 604 is further configured to generate second information of the second code stream; the sending module 603 is also configured to send the second information of the second code stream to the media asset subsystem; wherein the second information of the second code stream The information is used by the media asset subsystem to update the first index file of the target media asset medium to obtain the second index file of the target media asset medium; the first index file includes the second information of the first code stream; the second index file includes the first code The second information of the stream and the second information of the second code stream.
  • the receiving module 601 is further configured to receive a first index file of the target media asset medium sent by the media asset subsystem; the first index file includes the second information of the first code stream; the generating module 604 is also used to: The second information of the second code stream is generated, and the sending module 603 is also used to: send a second index file to the media asset subsystem; the second index file is used by the media asset subsystem to replace the first index file.
  • the first index file includes the second information of the first code stream
  • the generating module 604 is also used to: The second information of the second code stream is generated
  • the sending module 603 is also used to: send a second index file to the media asset subsystem; the second index file is used by the media asset subsystem to replace the first index file.
  • the generating module 604 may be used to perform the step of generating the second information of the second code stream in S104, adding the second information of the second code stream to the first index file to obtain the second index file;
  • the module 603 may be used to execute the step of sending the second index file of the target media asset medium in S105.
  • the generating module 604 may be used to perform the step of generating the second information of the second code stream in S206, adding the second information of the second code stream to the first index file to obtain the second index file;
  • the module 603 may be used to execute the step of sending the second index file of the target media asset medium in S207.
  • an embodiment of the present application provides a schematic block diagram of the hardware structure of a communication device 700, which can be used to implement any one of the above-mentioned video transcoding systems (such as media asset subsystem, transcoding subsystem, CDN subsystem). System and content management subsystem).
  • the communication device 700 includes at least one processor 701, a communication line 702, a memory 703, and at least one communication interface 704.
  • the processor 701 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more programs used to control the execution of the program of this application. integrated circuit.
  • CPU central processing unit
  • ASIC application-specific integrated circuit
  • the communication line 702 may include a path to transmit information between the aforementioned components (such as at least one processor 701, communication line 702, memory 703, and at least one communication interface 704).
  • the communication interface 704 uses any device such as a transceiver to communicate with other devices or communication networks, such as wide area networks (WAN), local area networks (LAN), and so on.
  • WAN wide area networks
  • LAN local area networks
  • the memory 703 may be read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), or other types that can store information and instructions
  • the dynamic storage device can also be electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disk storage, optical disc storage (Including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program codes in the form of instructions or data structures and can be used by a computer Any other media accessed, but not limited to this.
  • the memory 703 may exist independently and is connected to the processor 701 through a communication line 702.
  • the memory 703 may also be integrated with the processor 701.
  • the memory 703 provided by the embodiment of the present application may generally be non-volatile.
  • the memory 703 is used to store computer instructions for executing the solution of the present application, and the processor 701 controls the execution.
  • the processor 701 is configured to execute computer instructions stored in the memory 203, so as to implement the method provided in the following embodiments of the present application.
  • the communication device 700 may include multiple processors, such as the processor 701 and the processor 705 in FIG. 7.
  • processors can be a single-CPU (single-CPU) processor or a multi-core (multi-CPU) processor.
  • the processor here may refer to one or more devices, circuits, and/or processing cores for processing data (for example, computer program instructions).
  • the acquisition module 503 and the generation module 505 of the aforementioned media asset subsystem 500 may be implemented by the processor 701 or the processor 705 in FIG. 7.
  • the receiving module 502 and the sending module 504 can be implemented through the communication interface 704 in FIG. 7.
  • the storage module 501 may be implemented by the memory 703 in FIG. 7.
  • the transcoding module 602 and the generating module 604 of the above-mentioned transcoding subsystem 600 may be implemented by the processor 701 or the processor 705 in FIG. 7.
  • the receiving module 601 and the sending module 603 can be implemented through the communication interface 704 in FIG. 7.
  • An embodiment of the present application provides a video transcoding system.
  • the video transcoding system includes any of the aforementioned media asset subsystems 500 and any of the aforementioned transcoding subsystems 600.
  • the embodiment of the present application provides an interface between the media asset subsystem 500 and the transcoding subsystem 600, and the interface may be a physical interface or a logical interface.
  • This interface is used to transmit at least one of the first index file of the target media asset medium, the first information of the target media asset medium, and the media file corresponding to the second code stream in S105 in the above-mentioned embodiment of FIG. One kind.
  • the first index file of the target media asset medium in S203 and the media file corresponding to the first code stream, the first information of the target media asset medium in S205, and the medium corresponding to the second code stream in S207 At least one of the files.
  • the program can be stored in a computer-readable storage medium.
  • the aforementioned storage medium may be a read-only memory, a random access memory, and the like.
  • the above-mentioned processing unit or processor may be a central processing unit, a general-purpose processor, an application specific integrated circuit (ASIC), a microprocessor (digital signal processor, DSP), a field programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof.
  • the embodiments of the present application also provide a computer program product containing instructions, which when the instructions run on a computer, cause the computer to execute any one of the methods in the foregoing embodiments.
  • the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, all or part of the processes or functions described in the embodiments of the present application are generated.
  • the computer can be a general-purpose computer, a dedicated computer, a computer network, or other programmable devices. Computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • computer instructions may be transmitted from a website, computer, server, or data center through a cable (such as Coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL) or wireless (such as infrared, wireless, microwave, etc.) transmission to another website site, computer, server or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or may include one or more data storage devices such as a server or a data center that can be integrated with the medium.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)).
  • the foregoing devices for storing computer instructions or computer programs provided in the embodiments of the present application are non-transitory. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了视频转码方法及装置,涉及视频处理技术领域,有助于降低转码资源消耗和转码成本,缩短转码时间,提高上片效率。该方法应用于媒资子系统系统,媒资子系统存储有目标视频的目标媒资介质,目标媒资介质包括对应第一码流的介质文件。该方法包括:媒资子系统接收指示消息;指示消息用于指示在目标媒资介质中新增对应第二码流的介质文件;根据指示消息,获取目标视频的内容源片;向转码子系统发送目标视频的内容源片,用于转码子系统生成对应第二码流的介质文件;其中,第二码流的第一信息与第一码流的第一信息相同;第一信息包括关键帧是否为IDR帧和关键帧的位置信息;接收转码子系统发送的对应第二码流的介质文件。

Description

视频转码方法及装置
本申请要求于2019年07月30日提交国家知识产权局、申请号为201910711337.6、申请名称为“视频转码方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及视频处理技术领域,尤其涉及视频转码的方法及装置。
背景技术
随着视频业务的发展,更高清晰度、高动态范围(high-dynamic range,HDR)及图像细节展现等技术已经应用到视频处理技术领域,同时,支持视频播放的终端的类型也在不断增加,用户对视频播放的画面也有了更高的要求。因此,视频运营商通常需要在已保存有对应码流的介质文件的媒资介质中增加对应一路或对应多路码流的介质文件,以满足用户的观看需求。
目前,通常采用动态码率播放(variable bit rate,VBR)技术,使得终端在播放视频时,能够依据网络的带宽情况,动态的选择最适合的码流进行播放。但是,当需要对一个视频新增对应一路或对应多路码流的介质文件时,为了保证终端播放视频的连续性,通常需要将对应新增码流的介质文件所属的媒资介质中的对应所有已有码流的介质文件下架,并重新对该视频的内容源片进行转码,生成该媒资介质中的对应全部码流的介质文件(包括对应已有码流的介质文件和对应新增码流的介质文件),之后再次上架。如此一来,重新转码生成该媒资介质中的对应已有码流的介质文件和对应新增码流的介质文件,一方面增大了资源消耗,并提高了转码成本;另一方面导致了转码时间长且上片效率低下。
发明内容
本申请实施例提供了视频转码方法及装置,有助于降低转码资源消耗和转码成本,缩短转码时间,提高上片效率。
第一方面,本申请实施例提供了一种视频转码方法,应用于媒资子系统,媒资子系统中存储有目标视频的目标媒资介质,该目标媒资介质包括对应第一码流的介质文件;该方法包括:媒资子系统接收指示消息,该指示消息用于指示在该目标媒资介质中新增对应第二码流的介质文件;媒资子系统根据该指示消息,获取该目标视频的内容源片;然后,媒资子系统向转码子系统发送该目标视频的内容源片,目标视频的内容源片用于转码子系统生成对应第二码流的介质文件;其中,第二码流的第一信息与第一码流的第一信息相同;第一信息包括关键帧的位置信息和关键帧是否为IDR帧;最后,媒资子系统接收转码子系统发送的对应第二码流的介质文件。本技术方案,仅转码生成新增对应第二码流的介质文件,不需要重新对该视频的内容源片进行转码,生成该媒资介质中的全部对应码流的介质文件(包括已有对应码流的介质文件和新增对应码流的介质文件),从而有助于降低转码资源消耗和转码成本,缩短转码时间,提高上片效率。
可选的,该第一信息还包括:GOP描述信息、分片描述信息和分段描述信息中的至少一种。当该第一信息中包括GOP描述信息和分片描述信息时,有助于实现播放器在切换码流时播放视频的连续性。当该第一信息中包括分段描述信息时,有助于实现多台转码设备同时转码,提高转码效率。
在一种可能的实现方式中,该方法还包括:媒资子系统根据该指示消息,获取第一码流的第一信息,媒资子系统向转码子系统发送该第一码流的第一信息。媒资子系统获取该第一码流的第一信息,并发送给转码子系统,可以使得转码子系统直接根据该第一码流的第一信息将目标视频的内容源片转码为对应第二码流的介质文件,使得第二码流与该第一码流的第一信息相同,进而实现播放器上切换码流时播放视频画面的连续性。
在一种可能的实现方式中,该方法还包括:媒资子系统根据该指示消息,获取对应第一码流的介质文件;媒资子系统向转码子系统发送对应第一码流的介质文件;对应第一码流的介质文件用于转码子系统生成第一码流的第一信息。通过转码系统根据对应第一码流的介质文件生成第一码流的第一信息,可以使得转码生成的第二码流的第一信息与第一码流的第一信息相同,进而实现播放器上切换码流时播放视频画面的连续性。
在一种可能的实现方式中,该方法还包括:媒资子系统接收转码子系统发送的第一码流的第一信息,并存储第一码流的第一信息。以使得在下次需要转码生成新增码流的介质文件时,媒资子系统可以直接将该第一信息发送给转码子系统,以使得转码子系统可以直接根据该第一信息对目标视频的内容源片进行转码,而不需要再次解析对应第一码流的介质文件,从而节省转码子系统的计算资源。
在一种可能的实现方式中,该方法还包括:媒资子系统根据指示消息,获取目标媒资介质的第一索引文件;第一索引文件包括第一码流的第二信息;媒资子系统接收转码子系统发送的第二码流的第二信息;媒资子系统将第二码流的第二信息添加至第一索引文件,得到目标媒资介质的第二索引文件。媒资子系统也可以根据第二码流的第二信息;其中,一个码流(该码流可以为第一码流或第二码流)的第二信息是用于描述该码流的特征的信息;将目标媒资介质的第一索引文件更新为第二索引文件,这样能够减少媒资子系统与转码子系统的文件传输,从而节省网络传输资源。
在一种可能的实现方式中,该方法还包括:媒资子系统根据指示消息,获取目标媒资介质的第一索引文件;第一索引文件包括第一码流的第二信息;媒资子系统向转码子系统发送第一索引文件;第一索引文件用于转码子系统获得目标媒资介质的第二索引文件;第二索引文件包括:第一码流的第二信息和第二码流的第二信息;其中,一个码流(该码流可以为第一码流或第二码流)的第二信息是用于描述该码流的特征的信息;媒资子系统接收转码子系统发送的第二索引文件;媒资子系统将第一索引文件替换为第二索引文件。
在一种可能的实现方式中,该方法还包括:媒资子系统根据目标视频的标识信息向内容分发网络CDN子系统注入第二索引文件,该CDN子系统中存储有第一索引文件,第二索引文件用于CDN子系统更新第一索引文件。
在一种可能的实现方式中,在媒资子系统接收转码子系统发送的对应第二码流的 介质文件之后,该方法还包括:媒资子系统根据目标视频的标识信息向CDN子系统注入对应第二码流的介质文件。
在一种可能的实现方式中,该方法还包括:媒资子系统向内容管理子系统发送目标媒资介质信息的更新量;其中,目标媒资介质信息的更新量用于内容管理子系统更新目标视频的元数据信息。通过向内容管理子系统更新该目标视频的元数据信息,从而使得终端播放器在要求播放该目标视频时,内容管理子系统可以向终端播放器提供第二索引文件的下载地址,从而使得终端播放器可以根据该第二索引文件的下载地址从CDN子系统获取第二索引文件,从而根据该第二索引文件中各个码流的下载URL地址获取对应相关码流的介质文件,终端播放器根据网络的带宽情况,选择该媒资介质中对应合适的码流的介质文件向该用户播放该视频。
第二方面,本申请实施例提供了一种视频转码方法,应用于转码子系统,该方法包括:转码子系统接收媒资子系统发送的目标视频的内容源片,该媒资子系统中存储有目标视频的目标媒资介质,目标媒资介质包括对应第一码流的介质文件;转码子系统将目标视频的内容源片转码为对应第二码流的介质文件;第二码流的第一信息与第一码流的第一信息相同;第一信息包括关键帧的位置信息和关键帧否为IDR帧;转码子系统向媒资子系统发送对应第二码流的介质文件。本技术方案,仅由转码子系统转码生成新增对应第二码流的介质文件,不需要重新对该视频的内容源片进行转码,生成该媒资介质中的对应全部码流的介质文件(包括对应已有码流的介质文件和对应新增码流的介质文件),从而有助于降低转码资源消耗和转码成本,缩短转码时间,提高上片效率。
可选的,该第一信息还包括:GOP描述信息、分片描述信息和分段描述信息中的至少一种。当该第一信息中包括GOP描述信息和分片描述信息时,有助于实现播放器在切换码流时播放视频的连续性。当该第一信息中包括分段描述信息时,有助于实现多台转码设备同时转码,提高转码效率。
在一种可能实现的方式中,该方法还包括:转码子系统接收媒资子系统发送的第一码流的第一信息。通过接收该第一码流的第一信息,可以使得转码子系统直接按照该第一码流的第一信息将视频的内容源片转码生成对应第二码流的介质文件,使得第二码流的第一信息与该第一码流的第一信息相同,进而实现播放器上切换码流时播放视频画面的连续性。
在一种可能实现的方式中,该方法还包括:转码子系统接收媒资子系统发送的对应第一码流的介质文件;转码子系统根据对应第一码流的介质文件生成第一码流的第一信息。转码子系统也可以根据媒资子系统发送的对应第一码流的介质文件解析生成第一码流的第一信息,从而使得转码生成的第二码流的第一信息与第一码流的第一信息相同,进而实现播放器上切换码流时播放视频画面的连续性。
在一种可能实现的方式中,该方法还包括:转码子系统向媒资子系统发送第一码流的第一信息,以使得在下次需要转码生成对应新增码流的介质文件时,可以由媒资子系统直接发送该第一信息至转码子系统,从而转码子系统可以直接根据该第一信息直接对视频的内容源片进行转码,而不需要转码子系统再次解析该对应第一码流的介质文件,而节省转码子系统的计算资源。
在一种可能实现的方式中,该方法还包括:转码子系统生成第二码流的第二信息,并将第二码流的第二信息发送至媒资子系统;其中,第二码流的第二信息用于媒资子系统更新目标媒资介质的第一索引文件得到目标媒资介质的第二索引文件;第一索引文件包括第一码流的第二信息;第二索引文件包括:第一码流的第二信息和第二码流的第二信息;其中,一个码流(该码流可以为第一码流或第二码流)的第二信息是用于描述该码流的特征的信息。由媒资子系统根据第二码流的第二信息,将目标媒资介质的第一索引文件更新为第二索引文件的功能,这样能够减少媒资子系统与转码子系统的文件传输,从而节省网络传输资源。
在一种可能实现的方式中,该方法还包括:转码子系统接收媒资子系统发送的目标媒资介质的第一索引文件;第一索引文件包括第一码流的第二信息;转码子系统生成第二码流的第二信息,并将第二码流的第二信息添加至第一索引文件,得到第二索引文件;其中,一个码流(该码流可以为第一码流或第二码流)的第二信息是用于描述该码流的特征的信息;转码子系统发送第二索引文件至媒资子系统;第二索引文件用于媒资子系统替换第一索引文件。
第三方面,本申请实施例提供了一种媒资子系统,该媒资子系统可用于执行上述第一方面或第一方面的任一种可能的设计提供的任一种方法。
在一种可能的设计中,可以根据上述第一方面或第一方面的任一种可能的设计提供的方法对该媒资子系统进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
在一种可能的设计中,该媒资子系统可以包括至少一个存储器和至少一个处理器。该至少一个存储器用于存储计算机程序,该至少一个处理器用于调用该计算机程序,以执行第一方面或第一方面的任一种可能的设计提供的方法。
第四方面,本申请实施例提供了一种视频转码装置,该装置可以包括存储器和处理器。该存储器用于存储计算机程序,该处理器用于调用该计算机程序,以执行第一方面或第一方面的任一种可能的设计提供的方法中的部分步骤或全部步骤。示例的,该装置可以为一个芯片或媒资子系统中的一个设备。
第五方面,本申请实施例提供了一种转码子系统,该转码子系统可用于执行上述第二方面或第二方面的任一种可能的设计提供的任一种方法。
在一种可能的设计中,可以根据上述第二方面或第二方面的任一种可能的设计提供的方法对该转码子系统进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
在一种可能的设计中,该转码子系统可以包括至少一个存储器和至少一个处理器。该至少一个存储器用于存储计算机程序,该至少一个处理器用于调用该计算机程序,以执行第二方面或第二方面的任一种可能的设计提供的方法。
第六方面,本申请实施例提供了一种视频转码装置,该装置可以包括存储器和处理器。该存储器用于存储计算机程序,该处理器用于调用该计算机程序,以执行第二方面或第二方面的任一种可能的设计提供的方法中的部分步骤或全部步骤。示例的,该装置可以为一个芯片转码子系统中的一个设备。
第七方面,本申请实施例提供了一种计算机可读存储介质,如计算机非瞬态的可 读存储介质。其上储存有计算机程序(或指令),当该计算机程序(或指令)在计算机上运行时,使得该计算机执行上述第一方面或第一方面的任一种可能的设计提供的任一种方法中的部分或全部步骤。
第八方面,本申请实施例提供了一种计算机可读存储介质,如计算机非瞬态的可读存储介质。其上储存有计算机程序(或指令),当该计算机程序(或指令)在计算机上运行时,使得该计算机执行上述第二方面或第二方面的任一种可能的设计提供的任一种方法中的部分或全部步骤。
第九方面,本申请实施例提供了一种计算机程序产品,当其在计算机上运行时,使得第一方面或第一方面的任一种可能的设计提供的任一种方法被执行。
第十方面,本申请实施例提供了一种计算机程序产品,当其在计算机上运行时,使得第二方面或第二方面的任一种可能的设计提供的任一种方法被执行。
第十一方面,本申请实施例提供了一种视频转码系统,该系统包括媒资子系统和转码子系统。其中,媒资子系统可以是上述第三方面或第三方面的任一种可能的设计提供的任一种媒资子系统。该转码子系统可以是上述第五方面或第五方面的任一种可能的设计提供的任一种转码子系统。
可以理解的是,上述提供的任一种视频转码装置、计算机存储介质、计算机程序产品或系统等均可以应用于上文所提供的对应的方法,因此,其所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种码流的结构的示意图;
图1A为码流的第二信息、媒资介质、媒资介质的索引文件和码流的第一信息等的关系示意图;
图2为本申请实施例提供的一种视频转码系统架构的示意性框图;
图3为本申请实施例提供的一种视频转码方法的流程示意图;
图4为本申请实施例提供的另一种视频转码方法的流程示意图;
图5为本申请实施例提供的一种媒资子系统的示意性框图;
图6为本申请实施例提供的一种转码子系统的示意性框图;
图7为本申请实施例提供的一种通信设备的硬件结构的示意性框图。
具体实施方式
为便于更好的理解本申请实施例的技术方案,下面首先对其中的一些术语进行简单介绍。
1)、码流,对应码流的介质文件
如图1所示,为一种码流的结构的示意图。一路码流由一个或多个分片组成。同一码流中的不同分片的时长可以相同,也可以不同。一个分片的时长可以为2秒至10秒等。一个分片由一个或多个图像组(group of pictures,GOP)组成,一个GOP由一帧或连续多帧图像组成。一个GOP中的图像可以分为I帧(也称为关键I帧)、P帧和B帧。其中,关键I帧是内部编码帧,P帧是前向预测帧,B帧是双向内插帧。P帧和B帧记录的是相对于关键I帧的变化信息。数字视频编码格式H.264中定义了一个GOP包括一个或多个关键I帧,其中,每个GOP中的第1个关键I帧为即时解码刷新 (instantaneous decoder refresh,IDR)帧。
不同码流具有不同的属性。码流的属性可以包括:封装协议、编码格式、分辨率和码率。可选的,该码流的属性还可以包括是否支持HDR等。为了方便描述,本申请实施例中,均是以码流的属性包括封装协议、编码格式、分辨率、码率以及是否支持HDR为例进行说明的。在此统一说明,下文不再赘述。
示例的,码流的封装协议可以包括:自适应流媒体传输(dynamic adaptive streaming over HTTP,DASH)协议、基于HTTP的流媒体网络传输协议(HTTP live streaming,HLS)协议等。其中,HTTP是超文本传输协议(hypertext transfer protocol)的英文缩写。码流的编码格式可以包括H.265、H.264等。码流的分辨率可以包括:480P、1080P、4K等。码流的码率可以包括:2.5兆比特每秒(million bits per second,Mbps)、3.5Mbps等。
对应码流的介质文件,是指以某种文件格式对该码流进行封装的文件。例如,针对由DASH协议封装的码流其文件格式为动态图像专家组制定的压缩编码标准(moving picture experts group 4,MP4)格式;针对由HLS协议封装的码流其文件格式为由UTF-8编码的音视频列表(UTF-8 moving picture experts group audio layer 3 uniform resource locator,M3U8)格式。
对同一视频的内容源片进行转码可以得到对应一路或对应多路码流的介质文件。如图1A中所示的将视频的内容源片与对应码流的介质文件的关系示意图。对视频的内容源片进行转码,可以得到对应码流1的介质文件和对应码流2的介质文件等。
这里需要说明的是,本申请中对应码流的介质文件与码流的介质文件具有相同的含义。例如图1A中所示的,对应码流1的介质文件即为码流1的介质文件。
2)、码流的第二信息
码流的第二信息是用于描述码流的特征的信息,也可以称为码流的描述信息。码流的第二信息可以包括以下至少一种:码流的分辨率、编码格式和下载统一资源定位符(uniform resource locator,URL)信息等。
3)、媒资介质
媒资介质,是同一视频的一路或多路具有特定属性的码流的介质文件构成的集合。例如,特定属性可以为封装协议和编码格式。又如,特定属性可以为封装协议。
如图1A中所示的视频的内容源片、媒资介质和码流的介质文件之间的关系示意图。媒资介质1和媒资介质2等多种媒资介质,皆针对的是同一个视频,对该同一个视频的内容源片进行转码,得到属于媒资介质1的对应码流1的介质文件和对应码流2的介质文件等;也可以得到属于媒资介质2的对应码流3的介质文件和对应码流4的介质文件等。
在一种实现方式中,如果一个媒资介质包括多路码流的介质文件,则该多路码流具有相同的封装协议和相同的编码格式。该情况下,可以将封装协议和编码格式作为媒资介质的类型。可选的,同一视频的所属不同媒资介质的码流的介质文件所对应的码流具有不同的封装协议和/或不同的编码格式。例如,如果一个媒资介质中包括多路由封装协议DASH封装且由编码格式H.265编码的码流的介质文件,则该媒资介质的类型可以为:封装协议DASH和编码格式H.265。
在另一种实现方式中,如果一个媒资介质包括多路码流的介质文件,则该多路码流具有相同封装协议。该情况下,可以将封装协议作为媒资介质的类型。例如:如果一个媒资介质中包括多路由封装协议DASH封装的码流的介质文件,则该媒资介质的类型可以为:封装协议DASH。
媒资介质具有一个媒资介质标识(identification,ID)。
4)、媒资介质的索引文件
一个媒资介质对应一个媒资介质的索引文件。媒资介质的索引文件包括索引文件的头部信息和该媒资介质所包含的码流的介质文件所对应的码流的第二信息等。媒资介质的索引文件可以是一个通过可变长度字符编码(8-bit unicode transformation format,UTF-8)来编码的索引纯文本文件,当然不限于此。
如图1A所示的媒资介质的索引文件与媒资介质之间的关系示意图。媒资介质1对应媒资介质1的索引文件,媒资介质1的索引文件中包括属于该媒资介质1的码流1的第二信息和码流2的第二信息等;媒资介质2对应媒资介质2的索引文件,媒资介质2的索引文件中包括属于该媒资介质1的码流3的第二信息和码流4的第二信息等。
示例的,对于封装协议为DASH协议的码流而言,其所对应的码流的介质文件所属的媒资介质的索引文件的格式为媒体呈现描述(media presentation description,MPD)格式。对于封装协议为HLS协议的码流而言,其所对应的码流的介质文件所属的媒资介质的索引文件的格式为M3U8格式。
5)、码流的第一信息
码流的第一信息包括该码流的关键帧(关键I帧)描述信息。可选的,第一信息还可以包括该码流的分片信息和GOP描述信息中的至少一种。可选的,第一信息还可以包括生成该码流的介质文件的过程中视频的内容源片的分段描述信息。
可以理解的是,为了保证终端APP播放视频的连续性,属于同一个媒资介质的所有码流的介质文件所对应的码流具有相同的第一信息。故,媒资子系统在存储码流的第一信息时,同一个媒资介质中仅存储一个第一信息。因此,属于该媒资介质的码流的第一信息也可以理解为该媒资介质的第一信息。
不同媒资介质所对应的第一信息可以相同,也可以不同。
如图1A中所示的媒资介质的第一信息与媒资介质之间的关系示意图。媒资介质1对应媒资介质1的第一信息,媒资介质2对应媒资介质2的第一信息。媒资介质1的第一信息可以与媒资介质2的第一信息相同,也可以不同。
分段描述信息:是用于描述生成一路码流的介质文件的过程中视频的内容源片的分段情况的信息。该分段描述信息包括:该视频的内容源片所划分的分段(如每个分段)的序号和分段(如每个分段)的起始帧及结束帧相对视频起始时间的偏移时间戳。可选的,分段描述信息还可以包括分段时长等。可以理解的是,转码子系统在对视频的内容源片进行转码之前,可以将该视频的内容源片划分为多个分段,以使得可以通过多个转码子系统对该多个分段进行并行转码,从而提高转码效率。例如:一个视频时长为93分钟,可以按照每段5分钟将该视频的内容源片分为19个分段,其中,最后一个分段长度为3分钟。可以通过19台转码子系统对这19个分段同时进行转码。 在具体实施时,可以按照实际需求将视频的内容源片划分为多个分段。当然,也可以根据实际需求不对视频的内容源片进行分段。
分片描述信息:是用于描述码流中的分片的信息。分片描述信息可以包括分片(如每个分片)在码流中的序号和分片(如每个分片)的起始帧及结束帧相对视频的起始时间的偏移时间戳。可选的,分片描述信息还可以包括以下至少一种:分片时长、分片中GOP的数目和分片的起始帧及结束帧相对视频的起始时间的偏移时间戳等。可选的,分片描述信息还可以包括以下至少一种:分片在其所属的分段中的序号和分片所属的分段的序号等。
GOP描述信息:是用于描述码流中的GOP的信息。GOP描述信息可以包括:GOP在其所属的码流中的序号和GOP的起始帧及结束帧相对视频的起始时间的偏移时间戳。可选的,GOP描述信息还可以包括以下至少一种:GOP在其所属的分片中的序号、GOP所属的分片的序号、GOP的时长和GOP序列信息等。GOP序列信息包括GOP中包括的每个帧的类型(即每个帧是I帧、P帧或B帧),例如IBPBBPBPBBIBP。
关键帧描述信息:是用于描述码流中的关键帧的信息。关键帧描述信息可以包括该关键帧的位置信息和该关键帧是否为IDR帧。其中,关键帧的位置信息可以通过和该关键帧在码流中序号来表征。该关键帧在码流中的序号为包含了B帧和P帧的序号,例如一个码流中的帧序列为IBPBBPBPBBIBP,那么关键帧的序号为1和12。可选的,该关键帧的位置信息还可以通过该关键帧在其所属的GOP中的序号、该关键帧所属GOP的序号、该GOP所属分片的序号、该分片在码流中的序号或该关键帧相对视频的起始时间的偏移时间戳来表征。本申请对此不作具体限定。
6)、视频的元数据信息
视频的元数据信息可以包括:视频的标识信息(如视频名称)、视频的上映时间和视频的媒资介质信息等。其中,视频的媒资介质信息可以包括以下的至少一项:媒资介质索引文件的下载地址、媒资介质的标识、媒资介质中包括的码流的介质文件所对应的码流的属性,如码流的分辨率、码流的码率和码流是否支持HDR等。
7)、视频动态码率播放技术
视频动态码率播放技术,是指终端在播放一个视频时,依据用户网络带宽的情况,选择最合适的码流向该用户播放该视频,以为用户提供最流畅的播放体验技术。
8)、其他术语
本申请说明书和权利要求书及附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例中,“至少一个”是指一个或多个。“多个”是指两个或两个以上。
在本申请实施例中,“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图2为可用于本申请实施例的一种实例的视频转码系统架构的示意性框图。如图2所示,视频转码系统包括:媒资子系统100、转码子系统200、内容分发网络(content delivery network,CDN)子系统300、内容管理子系统400和终端500。
媒资子系统100:用于存储视频的内容源片、视频的元数据信息以及视频的媒资库。视频的媒资库包括媒资介质的索引文件和媒资介质的第一信息等。可选的,视频的媒资库还可以包括媒资介质中的一路或多路码流的介质文件等。
转码子系统200:用于对视频的内容源片进行转码。
CDN子系统300:用于存储码流的介质文件及媒资介质的索引文件等。
内容管理子系统400:是用于对视频进行运营管理(如视频的内容呈现、视频的内容运营等)的系统。内容管理子系统400可以用于管理视频的元数据信息。
终端500:可以安装视频APP播放器。该视频APP播放器用于播放视频。
可选的,媒资子系统100、转码子系统200、CDN子系统300和内容管理子系统400中的任意多个系统可以位于独立的物理设备上,也可以集成在同一物理设备上。或者,媒资子系统100、转码子系统200、CDN子系统300和内容管理子系统400中的任一系统可以包括一个或多个物理设备。例如,CDN子系统300包括:CDN源站、CDN边缘节点和CDN调度中心等。
需要说明的是,图2所示的视频转码系统为本申请实施例提供的技术方案所适用的视频转码系统的一个示例,其不对本申请实施例提供的技术方案所适用的视频转码系统构成限定。
作为一个示例,基于图2所示的视频转码系统,播放视频的过程,可以包括:当用户通过终端500上安装的视频APP播放器选定一个视频时,该视频APP播放器根据该终端500所支持的操作系统(如安卓系统、苹果系统(iPhone operating system,IOS)等),确定该终端500所支持的媒资介质的类型,并向内容管理子系统400发送包含该媒资介质的类型和所选定的视频的标识信息的指令。然后,内容管理子系统400根据该指令所包含的媒资介质的类型和视频的标识信息,确定该媒资介质的索引文件的下载地址,并将该媒资介质的索引文件的下载地址发送给该终端500。接着,该终端500上安装的视频APP播放器根据该媒资介质的索引文件的下载地址,从CDN子系统300中获取该媒资介质的索引文件,并根据该索引文件获取该视频的该媒资介质中的一路或多路码流的介质文件。最后,视频APP播放器根据网络的带宽情况,选择该媒资介质中合适的码流的介质文件向该用户播放该视频。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图3为本申请实施例提供的一种视频转码方法的流程示意图。示例的,该方法可应用于如图2所示的视频转码系统,当然不限于此。本实施例是以在目标媒资介质中增加第二码流的介质文件为例进行说明的。也就是说,在执行S101之前,目标媒资介质中包含至少一路码流的介质文件。示例1:以视频是影片《流浪地球》为例,该影片的目标媒资介质中已有三路码流的介质文件(标记为码流的介质文件1~3)。其中, 码流的介质文件1~3都属于同一媒资介质,如码流的介质文件1~3所对应的码流的封装协议均为DASH,且编码格式均为H.265。并且,该码流1~3的分辨率分别为:480P、720P和1080P,码率均为3.5Mbps,且均支持HDR。
如图3所示的视频转码方法可以包括:
S101、媒资子系统接收指示消息。其中,指示消息用于指示在目标媒资介质中新增第二码流的介质文件。指示消息包括目标视频的标识信息和第二码流的属性。第二码流的属性可以包括封装协议、编码格式、分辨率、码率以及是否支持HDR。
指示消息可以是由管理员下发的,当然本申请实施例不限于此。基于上述示例1,指示消息可以包括:影片《流浪地球》的标识信息和第二码流的属性(如封装协议为DASH、编码格式为H.265、分辨率为4K、码率为3.5Mbps和支持HDR)。
S102、媒资子系统根据目标视频的标识信息,获取目标视频的内容源片。媒资子系统根据目标视频的标识信息、第二码流的封装协议和编码格式确定目标媒资介质标识,并根据目标媒资介质标识获取目标媒资介质的第一信息和目标媒资介质的第一索引文件。目标媒资介质的第一信息可以包括关键帧描述信息。第一索引文件可以包括已有码流的第二信息(如已有所有码流的第二信息)。
具体的,媒资子系统可以根据第二码流的封装协议和编码格式确定目标媒资介质的类型,再根据目标视频的标识信息和目标媒资介质的类型确定目标媒资介质标识。媒资子系统中可以保存如表1中的信息,以供媒资子系统查询。当然,这里仅提供一种可以实现的方式,具体实现时可采用现有技术中的方法,本申请对此不作具体限定。
表1
Figure PCTCN2020103365-appb-000001
目标媒资介质的第一信息为属于该目标媒资介质的至少一路码流的介质文件所对应的码流的第一信息。目标媒资介质的第一信息还可以包括:目标媒资介质中的码流的介质文件对应的码流的分片描述信息、GOP描述信息和分段描述信息中的至少一种。
基于上述示例1,假定影片《流浪地球》的视频标识为上述表1中的视频1,那么目标媒资介质标识为1。目标媒资介质的第一信息包括:码流1~3中任一码流的关键帧描述信息。目标媒资介质的第一索引文件包括:码流1~3的第二信息。
可选的,媒资子系统中可以存储多个视频的标识信息与多个视频的内容源片的下载地址之间的对应关系,其中,每个视频的标识信息与该视频的内容源片的下载地址之间存在对应关系。基于此,在执行S102时,媒资子系统可以根据该对应关系及目标视频的标识信息,获取目标视频的标识信息所对应的内容源片的下载地址(即目标视频的内容源片)。
可选的,媒资子系统中可以存储多个媒资介质标识与多个媒资介质的第一信息的 之间的对应关系,其中,每个媒资介质的类型与该媒资介质的第一信息之间存在对应关系。基于此,在执行S102时,媒资子系统根据该对应关系及目标媒资介质标识,获取目标媒资介质标识所对应的目标媒资介质的第一信息。
S103、媒资子系统向转码子系统发送请求消息。该请求消息包括:目标视频的内容源片、第二码流的属性(如S101中的第二码流的属性)、目标媒资介质的第一信息和目标媒资介质的第一索引文件。该请求消息用于请求转码子系统将目标视频的内容源片转码为第二码流的介质文件。
本实施例中是以目标视频的内容源片、第二码流的属性、目标媒资介质的第一信息和目标媒资介质的第一索引文件均携带在同一消息(具体是请求消息)中进行发送为例进行说明的。可扩展的,对于这些信息中的任意两个信息来说,可以携带在同一消息中进行发送,也可以携带在不同消息中进行发送。可扩展的,如果这些信息携带在多条消息中,那么该多条消息中的任意两条消息可以同时发送,也可以不同时发送。
可选的,步骤S102中的“媒资子系统根据目标视频的标识信息获取目标视频的内容源片”可以替换为“媒资子系统根据目标视频的标识信息获取目标视频的内容源片的下载地址”。该情况下,步骤S103的请求消息中的“目标视频的内容源片”可以替换为“目标视频的内容源片的下载地址”。在步骤S104之前,该方法还可以包括:转码子系统向媒资子系统发送该请求消息中的目标视频的内容源片的下载地址,从而获取目标视频的内容源片。
可选的,步骤S102中的“目标媒资介质的第一索引文件”可以替换为:“目标媒资介质的第一索引文件的下载地址”。该情况下,步骤S103中的请求消息中的“目标媒资介质的第一索引文件”可以替换为“目标媒资介质的第一索引文件的下载地址”。在步骤S107之前,该方法还可以包括:转码子系统根据目标媒资介质的第一索引文件的下载地址,从媒资子系统中获取目标媒资介质的第一索引文件。
可以理解的是,本申请中对转码子系统获取目标视频的内容源片和目标媒资介质的第一索引文件等的方法不做具体限定,在具体实现时,可以采用现有技术中的方法实现。
具体实现时,该方法还可以包括:转码子系统发送响应消息给媒资子系统。该响应消息用于向媒资子系统反馈转码子系统已收到该请求消息。
S104、转码子系统根据目标媒资介质的第一信息和第二码流的属性,将目标视频的内容源片转码为第二码流的介质文件,并生成第二码流的第二信息;以及,将第二码流的第二信息添加至目标媒资介质的第一索引文件,得到目标媒资介质的第二索引文件。
其中,第二码流的关键帧描述信息与目标媒资介质的第一信息中的关键帧描述信息相同。例如,目标媒资介质的第一信息中的关键帧描述信息包括:关键帧在其所属码流中的序号,如1,4,9,11,16,20,25和30;以及关键帧是否为IDR帧:是,否,是,否,是,否和否;那么,转码子系统根据该第一信息,转码得到的第二码流的关键帧的序号也为1,4,9,11,16,20,25和30,且序号为1,9和20的关键帧也标识为IDR帧。
可选的,第二码流的GOP描述信息与目标媒资介质的第一信息中的GOP描述信 息相同。可选的,第二码流的分片描述信息与目标媒资介质的第一信息中的分片描述信息相同。可选的,在转码时将目标视频的内容源片进行分段时的分段描述信息与目标媒资介质的第一信息中的分段描述信息相同。
第二码流的第二信息可以包括:第二码流的分辨率、第二码流的编码格式和第二码流的下载URL信息等。例如,基于上述示例1,第二码流的第二信息可以包括:分辨率为4K,编码格式为H.265和第二码流的下载URL信息等。
将第二码流的第二信息添加至目标媒资介质的第一索引文件,可以理解为,根据第二码流的第二信息更新第一索引文件,得到第二索引文件。基于上述示例1,目标媒资介质的第一索引文件可以包括码流1~3的第二信息,第二索引文件可以包括:码流1~3的第二信息和第二码流的第二信息。
S105、转码子系统将第二码流的介质文件以及目标媒资介质的第二索引文件发送至媒资子系统。
可选的,步骤S104-S105可替换为:转码子系统根据目标媒资介质的第一信息和第二码流的属性,将目标视频的内容源片转码为第二码流的介质文件,并生成第二码流的第二信息。然后,转码子系统将第二码流的介质文件和第二码流的第二信息发送至媒资子系统,以及,媒资子系统将第二码流的第二信息添加至目标媒资介质的第一索引文件,得到目标媒资介质的第二索引文件。该情况下,步骤S103中的请求消息中可以不包括该目标媒资介质的第一索引文件。这样,由媒资子系统来更新目标媒资介质的第一索引文件,可以减少媒资子系统与转码子系统的文件传输,从而节省网络传输资源。
可选的,在具体实现时,转码子系统可以将第二码流的第二信息以第三索引文件的形式发送给媒资子系统,本申请对此不作具体限定。
S106、媒资子系统根据目标媒资介质的第二索引文件,更新媒资库。具体的,媒资子系统可以将媒资库中的目标媒资介质的第一索引文件替换为目标媒资介质的第二索引文件。
可选的,媒资子系统可以将第二码流的介质文件存储至媒资库中。
S107、媒资子系统根据目标视频的标识信息,向CDN子系统注入(即发送)第二码流的介质文件和目标媒资介质的第二索引文件。
S108、CDN子系统依据目标视频的标识信息,存储第二码流的介质文件,并将目标媒资介质的第一索引文件替换为目标媒资介质的第二索引文件,并生成目标媒资介质的第二索引文件的下载地址。
S109、CDN子系统发送目标媒资介质的第二索引文件的下载地址至媒资子系统。
具体的,在实际实现中,上述步骤S10-7-S109中可由CDN子系统中的CDN源站执行。
S110、媒资子系统向内容管理子系统发送目标视频的标识信息和目标媒资介质信息的更新量。其中,目标媒资介质信息的更新量包括目标媒资介质的第二索引文件的下载地址和目标媒资介质中第二码流的介质文件所对应的第二码流的相关信息,如第二码流的分辨率、第二码流的码率和是否支持HDR等。
可以理解的是,步骤S110中媒资子系统向内容管理子系统发送目标视频的标识信 息和目标媒资介质信息的更新量,也可以视为媒资子系统同步目标媒资介质信息的更新量至内容管理子系统。
S111、内容管理子系统根据目标视频的标识信息和目标媒资介质信息的更新量,更新目标视频的元数据信息。
本申请实施例对于执行步骤S106和执行步骤S107-S111的顺序不做具体限定。例如,可以在执行步骤S107-S111前执行步骤S106,也可以在执行步骤S107-S111之后执行步骤S106,也可以在执行步骤S107-S111的过程中执行步骤S106。
基于上述示例1,在执行步骤S111之前,内容管理子系统存储的目标视频元数据信息包括:影片《流浪地球》的名称和目标媒资介质信息,其中,目标媒资介质信息包括媒资介质的第一索引文件的下载地址、目标媒资介质标识1、和目标媒资介质包括的码流的介质文件1~3对应的码流1~3的属性,如码流1~3的分辨率、码流1~3的码率为3.5Mbps和码流1~3均支持HDR等信息。目标媒资介质信息的更新量包括:目标媒资介质的第二索引文件的下载地址、第二码流的分辨率为4K、第二码流的码率为3.5Mbps和第二码流支持HDR等信息。在执行步骤S111之后,目标视频的元数据信息包括:影片《流浪地球》的名称和目标媒资介质信息,该目标媒资介质信息包括媒资介质的第二索引文件的下载地址、目标媒资介质标识1和目标媒资介质包括的码流的介质文件所对应的码流的属性,具体为:码流1~3的分辨率、码流1~3的码率为3.5Mbps、码流1~3均支持HDR、第二码流的分辨率4K、第二码流的码率为3.5Mbps和第二码流支持HDR等信息。
本申请实施例提供的视频转码方法,根据媒资介质的第一信息,转码得到该媒资介质中的新增码流的介质文件,以使得该媒资介质中已有码流的介质文件所对应的码流和新增码流的介质文件所对应的码流的关键帧描述信息(包括关键帧的位置信息和关键帧是否为IDR帧)相同。通过关键帧的位置信息可以使得生成的新增码流的关键帧与已有码流的关键帧的位置信息相同。关键帧是否为IDR帧,可以确保从IDR帧开始切换码流,进而有助于实现终端根据网络的带宽情况,选择该媒资介质中最合适的码流播放视频,实现播放视频画面的连续性。并且,不需要将新增码流的介质文件所属的媒资介质中的所有已有码流的介质文件下架,并重新对该视频的内容源片进行转码,生成该媒资介质中的全部码流的介质文件(包括已有码流的介质文件和新增码流的介质文件),之后再次上架,也不需要重新生成目标媒资介质的索引文件。因此,有助于降低转码资源消耗和转码成本,有助于缩短转码时间,有助于提高上片效率。
需要说明的是,在本申请实施例的相关步骤(如步骤S105、S106和S109)中,可以将一个设备(或系统)向另一设备(或系统)发送的任意两个信息携带在同一个消息中发送,也可以携带在不同消息中进行发送。如果该任意两个信息携带在不同的消息中,那么,该两个消息可以同时发送,也可以不同时发送。例如,步骤S105中,第二码流和目标媒资介质的第二索引文件可以携带在同一消息中进行发送,也可以携带在不同消息中进行发送。该两个信息若携带在不同的消息中,那么,该两个消息可以同时发送,也可以不同时发送。
另外需要说明的是,图3所示的视频转码方法仅为示例,其不对本申请实施例提供的视频转码方法构成限定。例如,在不冲突的情况下,图3所示的任意多个步骤之 间的执行顺序可以变更,如步骤S107中的“媒资子系统向CDN子系统发送第二码流的介质文件”这一步骤可以在S105之后的任一步骤中执行,其他示例不再一一列举。又如,图3所示的部分信息或步骤可以是可选的,如S101中所描述的第二码流的属性可以不包含“是否支持HDR”等。
下面通过具体示例对本申请实施例提供的目标媒资介质的第一索引文件和第二索引文件进行说明。
1)、当目标媒资介质中的码流的封装协议为DASH,且目标媒资介质的索引文件的格式为MPD格式时,基于上述示例1,目标媒资介质的第一索引文件可以为:
Figure PCTCN2020103365-appb-000002
Figure PCTCN2020103365-appb-000003
基于此,目标媒资介质的第二索引文件可以为:
Figure PCTCN2020103365-appb-000004
Figure PCTCN2020103365-appb-000005
2)、当目标媒资介质中的码流的封装协议为HLS,且目标媒资介质的索引文件的格式为M3U8格式时,基于示例2,(其中,示例2与上述示例1的区别在于,示例2中的媒资介质的类型是封装协议HLS和编码格式为H.264),目标媒资介质的第一索引文件可以为:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=4,BANDWIDTH=1768403,AVERAGE-BANDWIDTH=588446,CODECS="mp4a.40.5,avc1.64001e",RESOLUTION=854x480
Example_854X480_600_0.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=3,BANDWIDTH=2940620,AVERAGE-BANDWIDTH=966219,CODECS="mp4a.40.5,avc1.64001f",RESOLUTION=1280x720
Example_1280X720_1000_0.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=6951187,AVERAGE-BANDWIDTH=2626090,CODECS="mp4a.40.5,avc1.640028",RESOLUTION=1920x1080
Example_1920X1080_3000_0.m3u8
#EXT-X-ENDLIST
基于此,目标媒资介质的第二索引文件可以为:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=4,BANDWIDTH=1768403,AVERAGE-BANDWIDTH=588446,CODECS="mp4a.40.5,avc1.64001e",RESOLUTION=854x480
Example_854X480_600_0.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=3,BANDWIDTH=2940620,AVERAGE-BANDWIDTH=966219,CODECS="mp4a.40.5,avc1.64001f",RESOLUTION=1280x720
Example_1280X720_1000_0.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=6951187,AVERAGE-BANDWIDTH=2626090,CODECS="mp4a.40.5,avc1.640028",RESOLUTION=1920x1080
Example_1920X1080_3000_0.m3u8
/*****新增的4K码流的第二信息****/
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=24860049,AVERAGE-BANDWIDTH=12360026,CODECS="mp4a.40.5,avc1.640028",RESOLUTION=4096x2160
Example_4096x2160_12000_0.m3u8
#EXT-X-ENDLIST
增加第二码流Example_4096x2160_12000_0.m3u8的二级索引文件。
以下,通过图4对本申请实施例提供的另一种视频转码方法进行说明。图4所示的方法包括:
S201、可以参考上述S101,当然不限于此。
S202、媒资子系统根据目标视频的标识信息,获取目标视频的内容源片。媒资子系统根据目标视频的标识信息、第二码流的封装协议和编码格式确定目标媒资介质标识,并根据目标媒资介质标识获取目标媒资介质中的第一码流的介质文件和目标媒资介质的第一索引文件。其中,第一码流的介质文件为属于该目标媒资介质的任一路码流的介质文件。
具体的,确定目标媒资介质标识的方法可以参考上文图3的所示的示例中的方法,这里就不再赘述。
可选的,媒资子系统中可以存储多个媒资介质标识与多个媒资介质的第一码流的介质文件之间的对应关系,其中,每个媒资介质标识与该媒资介质的第一码流的介质文件之间存在对应关系。基于此,在执行S202时,媒资子系统根据该对应关系及目标媒资介质标识,获取目标媒资介质标识所对应的目标媒资介质的第一码流的介质文件。
S203、媒资子系统向转码子系统发送请求消息。该请求消息包括:目标视频的内容源片、第二码流的属性、目标媒资介质的第一码流的介质文件和目标媒资介质的第一索引文件。该请求消息用于请求转码子系统将目标视频的内容源片转码为第二码流的介质文件。
本实施例中是以目标视频的内容源片、第二码流的属性、目标媒资介质的第一码流的介质文件和目标媒资介质的第一索引文件均携带在同一消息(具体是请求消息)中进行发送为例进行说明的。可扩展的,对于这些信息中的任意两个信息来说,可以携带在同一消息中进行发送,也可以携带在不同消息中进行发送。可扩展的,如果这些信息携带在多条消息中,那么,该多条消息中的任意两条消息可以同时发送,也可以不同时发送。
具体实现时,该方法还可以包括:转码子系统发送响应消息给媒资子系统。该响应消息用于向媒资子系统反馈转码子系统已收到该请求消息。
S204、转码子系统解析第一码流的介质文件,生成目标媒资介质第一信息。
具体的,转码子系统解析第一码流的介质文件,得到第一码流的分片描述信息、GOP描述信息和关键帧描述信息,并生成目标媒资介质的第一信息。具体的解析方法,可以参照现有技术中的方法,本申请对此不作具体限定。
可以理解的是,由于目标媒资介质中所有码流的介质文件所对应的码流的第一信息相同,因此,可以认为根据第一码流生成的第一信息是该目标媒资介质的第一信息。
S205、转码子系统将目标媒资介质的第一信息发送至媒资子系统。
S206、可以参考上述S104,当然不限于此。
S207、可以参考上述步骤S105,当然不限于此。
S208、媒资子系统根据目标媒资介质的第一信息和第二索引文件,并更新媒资库。
具体的,媒资子系统可以将目标媒资介质的第一信息存储至媒资库中,将媒资库中的目标媒资介质的第一索引文件替换为目标媒资介质的第二索引文件。媒资子系统将目标媒资介质的第一信息存储至媒资库中,以便于在下次转码生成新增码流时,转码子系统可以直接根据该第一信息对目标视频的内容源片进行转码,而不需要再次解析第一码流的介质文件,从而节省转码子系统的计算资源。
可选的,媒资子系统可以将接收到的第二码流的介质文件存储至媒资库中。
S209-S213、可以参考上述步骤S107-S111,当然不限于此。
本申请实施例对于执行步骤S208和执行步骤S209-S213的顺序不做具体限定。例如,可以在执行步骤S209-S213之前执行步骤S208,也可以执行步骤S209-S213之后再执行步骤S208,也可以在执行步骤S209-S213的过程中执行步骤S208。
本实施例提供的视频转码方法的相关解释及有益效果可以参考上文图3所示的实施例中的相关描述,此处不再赘述。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对媒资子系统和转码子系统进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图5所示,为本申请实施例提供的一种媒资子系统500的示意性框图。媒资子系统500可以用于执行本申请实施例提供的任意一种视频转码方法,如图3或图4所示的视频转码方法。
媒资子系统500可以包括存储模块501、接收模块502、获取模块503和发送模块504。具体的:存储模块501用于存储目标视频的目标媒资介质,该目标媒资介质包括对应第一码流的介质文件;接收模块502用于接收指示消息,指示消息用于指示在目标媒资介质中新增对应第二码流的介质文件;获取模块503用于根据指示消息,获取目标视频的内容源片;发送模块504用于向转码子系统发送目标视频的内容源片,目标视频的内容源片用于转码子系统生成对应第二码流的介质文件;第二码流的第一信息与第一码流的第一信息相同;第一信息包括关键帧的位置信息和关键帧是否为即时解码刷新IDR帧;接收模块502还用于:接收转码子系统发送的对应第二码流的介质文件。例如,结合图3,接收模块502可以用于执行S101;获取模块503可以用于执行S102中获取目标视频的内容源片的步骤;发送模块504可以用于执行S103中发送 目标视频的内容源片的步骤。例如,结合图4,接收模块502可以用于执行S201;获取模块503可以用于执行S202中获取目标视频的内容源片的步骤;发送模块504可以用于执行S203中发送目标视频的内容源片的步骤。
可选的,第一信息还包括:图像组GOP描述信息、分片描述信息和分段描述信息中的至少一种。
可选的,获取模块503还用于根据指示消息,获取第一码流的第一信息;发送模块504还用于向转码子系统发送第一码流的第一信息。例如,结合图3,获取模块503可以用于执行S102中获取目标媒资介质的第一信息的步骤;发送模块504可以用于执行S103中发送目标媒资介质的第一信息的步骤。
可选的,获取模块503还用于根据指示消息,获取对应第一码流的介质文件;发送模块504还用于:向转码子系统发送对应第一码流的介质文件;对应第一码流的介质文件用于转码子系统生成第一码流的第一信息。例如,结合图4,获取模块503可以用于执行步骤S202;发送模块504可以用于执行步骤S203。
可选的,接收模块502还用于接收转码子系统发送的第一码流的第一信息;存储模块501还用于存储第一码流的第一信息。例如,结合图4,接收模块502可以用于执行S205;存储模块501可以用于执行S208。
可选的,获取模块503还用于根据指示消息获取目标媒资介质的第一索引文件;第一索引文件包括第一码流的第二信息;接收模块502还用于接收转码子系统发送的第二码流的第二信息;媒资子系统500还包括生成模块505,用于将第二码流的第二信息添加至第一索引文件,得到目标媒资介质的第二索引文件。
可选的,获取模块503还用于根据指示消息,获取目标媒资介质的第一索引文件;第一索引文件包括第一码流的第二信息;发送模块504还用于:向转码子系统发送第一索引文件;第一索引文件用于转码子系统获得目标媒资介质的第二索引文件;第二索引文件包括:第一码流的第二信息和第二码流的第二信息;接收模块502还用于接收转码子系统发送的第二索引文件;存储模块501还用于将第一索引文件替换为第二索引文件。例如,结合图3,获取模块503可以用于执行S102中获取目标媒资介质的第一索引文件的步骤;发送模块504可以用于执行S103中发送目标媒资介质的第一索引文件的步骤;存储模块501可以用于执行S106。例如,结合图4,获取模块503可以用于执行S202中获取目标媒资介质的第一索引文件的步骤;发送模块504可以用于执行S203中发送目标媒资介质的第一索引文件的步骤;存储模块501可以用于执行S208中根据第二索引文件更新媒资库的步骤。
可选的,发送模块503还用于根据目标视频的标识信息向内容分发网络CDN子系统注入第二索引文件,该CDN子系统用于存储第一索引文件,第二索引文件用于CDN子系统更新第一索引文件。例如,结合图3,发送模块503可以用于执行S107中根据目标视频的标识信息向CDN子系统注入目标媒资介质的第二索引文件的步骤。例如,结合图4,发送模块503可以用于执行S209中根据目标视频的标识信息向CDN子系统注入目标媒资介质的第二索引文件的步骤。
可选的,发送模块503还用于根据目标视频的标识信息向CDN子系统注入对应第二码流的介质文件。例如结合图3,发送模块503可以用于执行S107中根据目标视频 的标识信息向CDN子系统注入对应第二码流的介质文件的步骤。例如,结合图4,发送模块503可以用于执行S209中根据目标视频的标识信息向CDN子系统注入对应第二码流的介质文件的步骤。
可选的,发送模块503还用于:向内容管理子系统发送目标媒资介质信息的更新量;其中,目标媒资介质信息的更新量用于内容管理子系统更新目标视频的元数据信息。例如,结合图3,发送模块503可以用于执行S110。例如,结合图4,发送模块503可以用于执行S212。
上述提供的任一种媒资子系统500中相关内容的解释以及有益效果的描述等均可参考上述对应的方法实施例,此处不再赘述。
如图6所示,为本申请实施例提供的一种转码子系统600的示意性框图。转码子系统600可以用于执行本申请实施例提供的任意一种视频转码方法,如图3或图4所示的视频转码方法。
转码子系统600可以包括接收模块601,转码模块602和发送模块603。具体的,接收模块601用于接收媒资子系统发送的目标视频的内容源片;转码模块602用于将目标视频的内容源片转码为对应第二码流的介质文件;第二码流的第一信息与第一码流的第一信息相同;第一信息包括关键帧的位置信息和关键帧否为IDR帧;发送模块603用于向媒资子系统发送对应第二码流的介质文件。例如,结合图3,转码模块602用于执行S104中将目标视频的内容源片转码为对应第二码流的介质文件的步骤;发送模块603用于执行S105中发送对应第二码流的介质文件的步骤。例如,结合图4,转码模块602用于执行S206中将目标视频的内容源片转码为对应第二码流的介质文件的步骤;发送模块603用于执行S207中发送对应第二码流的介质文件的步骤。
可选的,第一信息还包括:GOP描述信息、分片描述信息和分段描述信息中的至少一种。
可选的,接收模块601还用于接收媒资子系统发送的第一码流的第一信息。
可选的,接收模块601还用于接收媒资子系统发送的对应第一码流的介质文件;转码子系统600还包括生成模块604,用于根据对应第一码流的介质文件生成第一码流的第一信息。例如,结合图4,生成模块604用于执行S204。
可选的,发送模块603还用于向媒资子系统发送第一码流的第一信息。例如,结合图4,发送模块603可以用以执行S205。
可选的,生成模块604还用于生成第二码流的第二信息;发送模块603还用于发送第二码流的第二信息至媒资子系统;其中,第二码流的第二信息用于媒资子系统更新目标媒资介质的第一索引文件得到目标媒资介质的第二索引文件;第一索引文件包括第一码流的第二信息;第二索引文件包括第一码流的第二信息和第二码流的第二信息。
可选的,接收模块601还用于接收媒资子系统发送的目标媒资介质的第一索引文件;所述第一索引文件包括第一码流的第二信息;生成模块604还用于:生成第二码流的第二信息,并将;发送模块603还用于:发送第二索引文件至媒资子系统;第二索引文件用于媒资子系统替换第一索引文件。例如,结合图3,生成模块604可以用于执行S104中生成第二码流的第二信息,将第二码流的第二信息添加至第一索引文 件,得到第二索引文件的步骤;发送模块603可以用于执行S105中发送目标媒资介质的第二索引文件的步骤。例如,结合图4,生成模块604可以用于执行S206中生成第二码流的第二信息,将第二码流的第二信息添加至第一索引文件,得到第二索引文件的步骤;发送模块603可以用于执行S207中发送目标媒资介质的第二索引文件的步骤。
上述提供的任一种待转码子系统600中相关内容的解释以及有益效果的描述等均可参考上述对应的方法实施例,此处不再赘述。
如图7,本申请实施例提供的一种通信设备700的硬件结构的示意性框图,可用于实现上述视频转码系统中的任意一个子系统(如媒资子系统、转码子系统、CDN子系统和内容管理子系统)中的设备。通信设备700包括至少一个处理器701,通信线路702,存储器703以及至少一个通信接口704。
处理器701可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路702可包括一通路,在上述组件(如至少一个处理器701,通信线路702,存储器703以及至少一个通信接口704)之间传送信息。
通信接口704,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如广域网(wide area network,WAN),局域网(local area networks,LAN)等。
存储器703可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器703可以是独立存在,通过通信线路702与处理器701相连接。存储器703也可以和处理器701集成在一起。本申请实施例提供的存储器703通常可以具有非易失性。其中,存储器703用于存储执行本申请方案的计算机指令,并由处理器701来控制执行。处理器701用于执行存储器203中存储的计算机指令,从而实现本申请下述实施例提供的方法。
在具体实现中,作为一种实施例,通信设备700可以包括多个处理器,例如图7中的处理器701和处理器705。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
作为一示例,结合图7所示的通信设备,上述媒资子系统500的获取模块503和生成模块505可以通过图7中的处理器701或处理器705实现。接收模块502和发送模块504可以通过图7中的通信接口704实现。存储模块501可以通过图7中的存储器703实现。
作为一示例,结合图7所示的通信设备,上述转码子系统600的转码模块602和生成模块604可以通过图7中的处理器701或处理器705实现。接收模块601和发送 模块603可以通过图7中的通信接口704实现。
本申请实施例提供的一种视频转码系统,该视频转码系统包括上述任一种媒资子系统500,以及上述任一种转码子系统600。
本申请实施例提供了一种媒资子系统500与转码子系统600之间的接口,该接口可以为物理接口或逻辑接口。该接口用于传输本申请上述如图3实施例中S103的目标媒资介质的第一索引文件、目标媒资介质的第一信息,以及S105中的对应第二码流的介质文件中的至少一种。如图4实施例中S203的目标媒资介质的第一索引文件和对应第一码流的介质文件,S205中的目标媒资介质的第一信息,以及S207中的对应第二码流的介质文件中的至少一种。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可通过程序来指令相关的硬件完成。所述的程序可以存储于一种计算机可读存储介质中。上述提到的存储介质可以是只读存储器,随机接入存储器等。上述处理单元或处理器可以是中央处理器,通用处理器、特定集成电路(application specific integrated circuit,ASIC)、微处理器(digital signal processor,DSP),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
本申请实施例还提供了一种包含指令的计算机程序产品,当该指令在计算机上运行时,使得计算机执行上述实施例中的任意一种方法。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
应注意,本申请实施例提供的上述用于存储计算机指令或者计算机程序的器件,例如但不限于,上述存储器、计算机可读存储介质和通信芯片等,均具有非易失性(non-transitory)。
在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。

Claims (37)

  1. 一种视频转码方法,其特征在于,应用于媒资子系统,所述媒资子系统中存储有目标视频的目标媒资介质,所述目标媒资介质包括对应第一码流的介质文件;所述方法包括:
    所述媒资子系统接收指示消息,所述指示消息用于指示在所述目标媒资介质中新增对应第二码流的介质文件;
    所述媒资子系统根据所述指示消息,获取所述目标视频的内容源片;
    所述媒资子系统向转码子系统发送所述目标视频的内容源片,所述目标视频的内容源片用于所述转码子系统生成所述对应第二码流的介质文件;所述第二码流的第一信息与所述第一码流的第一信息相同;所述第一信息包括关键帧的位置信息和关键帧是否为即时解码刷新IDR帧;
    所述媒资子系统接收所述转码子系统发送的所述对应第二码流的介质文件。
  2. 根据权利要求1所述的方法,其特征在于,所述第一信息还包括:图像组GOP描述信息、分片描述信息和分段描述信息中的至少一种。
  3. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
    所述媒资子系统根据所述指示消息,获取所述第一码流的第一信息;
    所述媒资子系统向所述转码子系统发送所述第一码流的第一信息。
  4. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
    所述媒资子系统根据所述指示消息,获取所述对应第一码流的介质文件;
    所述媒资子系统向所述转码子系统发送所述对应第一码流的介质文件;所述对应第一码流的介质文件用于所述转码子系统生成所述第一码流的第一信息。
  5. 根据权利要求4所述的方法,其特征在于,所述方法还包括:
    所述媒资子系统接收所述转码子系统发送的所述第一码流的第一信息,并存储所述第一码流的第一信息。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
    所述媒资子系统根据所述指示消息,获取所述目标媒资介质的第一索引文件;所述第一索引文件包括所述第一码流的第二信息;
    所述媒资子系统接收所述转码子系统发送的所述第二码流的第二信息;
    所述媒资子系统将所述第二码流的第二信息添加至所述第一索引文件,得到所述目标媒资介质的第二索引文件;
    其中,所述第二信息是用于描述码流的特征的信息。
  7. 根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
    所述媒资子系统根据所述指示消息,获取所述目标媒资介质的第一索引文件;所述第一索引文件包括所述第一码流的第二信息;
    所述媒资子系统向所述转码子系统发送所述第一索引文件;所述第一索引文件用于所述转码子系统获得所述目标媒资介质的第二索引文件;所述第二索引文件包括:所述第一码流的第二信息和所述第二码流的第二信息;
    其中,所述第二信息是用于描述码流的特征的信息;
    所述媒资子系统接收所述转码子系统发送的所述第二索引文件;
    所述媒资子系统将所述第一索引文件替换为所述第二索引文件。
  8. 根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
    所述媒资子系统根据所述目标视频的标识信息向内容分发网络CDN子系统注入所述第二索引文件,所述CDN子系统中存储有所述第一索引文件;所述第二索引文件用于所述CDN子系统更新所述第一索引文件。
  9. 根据权利要求1-8任一项所述的方法,其特征在于,在所述媒资子系统接收所述转码子系统发送的所述对应第二码流的介质文件之后,所述方法还包括:
    所述媒资子系统根据所述目标视频的标识信息向CDN子系统注入所述对应第二码流的介质文件。
  10. 根据权利要求1-9任一项所述的方法,其特征在于,所述方法还包括:
    所述媒资子系统向内容管理子系统发送所述目标媒资介质信息的更新量;其中,所述目标媒资介质信息的更新量用于所述内容管理子系统更新所述目标视频的元数据信息。
  11. 一种视频转码方法,其特征在于,应用于转码子系统,所述方法包括:
    所述转码子系统接收媒资子系统发送的目标视频的内容源片,所述媒资子系统中存储有所述目标视频的目标媒资介质,所述目标媒资介质包括对应第一码流的介质文件;
    所述转码子系统将所述目标视频的内容源片转码为对应第二码流的介质文件;所述第二码流的第一信息与所述第一码流的第一信息相同;所述第一信息包括关键帧的位置信息和关键帧否为即时解码刷新IDR帧;
    所述转码子系统向所述媒资子系统发送所述对应第二码流的介质文件。
  12. 根据权利要求11所述的方法,其特征在于,所述第一信息还包括:图像组GOP描述信息、分片描述信息和分段描述信息中的至少一种。
  13. 根据权利要求11或12所述的方法,其特征在于,所述方法还包括:
    所述转码子系统接收所述媒资子系统发送的所述第一码流的第一信息。
  14. 根据权利要求11或12所述的方法,其特征在于,所述方法还包括:
    所述转码子系统接收所述媒资子系统发送的对应第一码流的介质文件;
    所述转码子系统根据所述对应第一码流的介质文件生成所述第一码流的第一信息。
  15. 根据权利要求14所述的方法,其特征在于,所述方法还包括:
    所述转码子系统向所述媒资子系统发送所述第一码流的第一信息。
  16. 根据权利要求11-15任一项所述的方法,其特征在于,所述方法还包括:
    所述转码子系统生成所述第二码流的第二信息,并将所述第二码流的第二信息发送至所述媒资子系统;其中,所述第二码流的第二信息用于所述媒资子系统更新所述目标媒资介质的第一索引文件得到所述目标媒资介质的第二索引文件;所述第一索引文件包括所述第一码流的第二信息;所述第二索引文件包括:所述第一码流的第二信息和所述第二码流的第二信息;
    其中,所述第二信息是用于描述码流的特征的信息。
  17. 根据权利要求11-15任一项所述的方法,所述方法还包括:
    所述转码子系统接收所述媒资子系统发送的所述目标媒资介质的第一索引文件;所述第一索引文件包括所述第一码流的第二信息;
    所述转码子系统生成所述第二码流的第二信息,并将所述第二码流的第二信息添加至所述第一索引文件,得到第二索引文件;
    其中,所述第二信息是用于描述码流的特征的信息;
    所述转码子系统发送所述第二索引文件至所述媒资子系统;所述第二索引文件用于所述媒资子系统替换所述第一索引文件。
  18. 一种媒资子系统,其特征在于,所述媒资子系统包括:
    存储模块:用于存储目标视频的目标媒资介质,所述目标媒资介质包括第一码流的介质文件;
    接收模块:用于接收指示消息,所述指示消息用于指示在所述目标媒资介质中新增对应第二码流的介质文件;
    获取模块:用于根据所述指示消息,获取所述目标视频的内容源片;
    发送模块:用于向转码子系统发送所述目标视频的内容源片,所述目标视频的内容源片用于所述转码子系统生成所述对应第二码流的介质文件;所述第二码流的第一信息与所述第一码流的第一信息相同;所述第一信息包括关键帧的位置信息和关键帧是否为即时解码刷新IDR帧;
    所述接收模块还用于:接收所述转码子系统发送的所述对应第二码流的介质文件。
  19. 根据权利要求18所述的媒资子系统,其特征在于,所述第一信息还包括:图像组GOP描述信息、分片描述信息和分段描述信息中的至少一种。
  20. 根据权利要求18或19所述的媒资子系统,其特征在于,
    所述获取模块还用于:根据所述指示消息,获取所述第一码流的第一信息;
    所述发送模块还用于:向所述转码子系统发送所述第一码流的第一信息。
  21. 根据权利要求18或19所述的媒资子系统,其特征在于,
    所述获取模块还用于:根据所述指示消息,获取所述对应第一码流的介质文件;
    所述发送模块还用于:向所述转码子系统发送所述对应第一码流的介质文件;所述对应第一码流的介质文件用于所述转码子系统生成所述第一码流的第一信息。
  22. 根据权利要求21所述的媒资子系统,其特征在于,
    所述接收模块还用于:接收所述转码子系统发送的所述第一码流的第一信息;
    所述存储模块还用于:存储所述第一码流的第一信息。
  23. 根据权利要求18-21任一项所述的媒资子系统,其特征在于,
    所述获取模块还用于:根据所述指示消息,获取所述目标媒资介质的第一索引文件;所述第一索引文件包括所述第一码流的第二信息;
    所述接收模块还用于:接收所述转码子系统发送的所述第二码流的第二信息;
    所述媒资子系统还包括:
    生成模块:用于将所述第二码流的第二信息添加至所述第一索引文件,得到所述目标媒资介质的第二索引文件;
    其中,所述第二信息是用于描述码流的特征的信息。
  24. 根据权利要求18-21任一项所述的媒资子系统,其特征在于,
    所述获取模块还用于:根据所述指示消息,获取所述目标媒资介质的第一索引文件;所述第一索引文件包括所述第一码流的第二信息;
    所述发送模块还用于:向所述转码子系统发送所述第一索引文件;所述第一索引文件用于所述转码子系统获得所述目标媒资介质的第二索引文件;所述第二索引文件包括:所述第一码流的第二信息和所述第二码流的第二信息;
    其中,所述第二信息是用于描述码流的特征的信息;
    所述接收模块还用于:接收所述转码子系统发送的所述第二索引文件;
    所述存储模块还用于:将所述第一索引文件替换为所述第二索引文件。
  25. 根据权利要求23或24所述的媒资子系统,其特征在于,
    所述发送模块还用于:根据所述目标视频的标识信息向内容分发网络CDN子系统注入所述第二索引文件,所述CDN子系统用于存储有所述第一索引文件;所述第二索引文件用于所述CDN子系统更新所述第一索引文件。
  26. 根据权利要求18-25任一项所述的媒资子系统,其特征在于,
    所述发送模块还用于:根据所述目标视频的标识信息向CDN子系统注入所述对应第二码流的介质文件。
  27. 根据权利要求18-25任一项所述的媒资子系统,其特征在于,
    所述发送模块还用于:向内容管理子系统发送所述目标媒资介质信息的更新量;其中,所述目标媒资介质信息的更新量用于所述内容管理子系统更新所述目标视频的元数据信息。
  28. 一种转码子系统,其特征在于,所述转码子系统包括:
    接收模块:用于接收媒资子系统发送的目标视频的内容源片,所述媒资子系统用于存储所述目标视频的目标媒资介质,所述目标媒资介质包括对应第一码流的介质文件;
    转码模块:用于将所述目标视频的内容源片转码为对应第二码流的介质文件;所述第二码流的第一信息与所述第一码流的第一信息相同;所述第一信息包括关键帧的位置信息和关键帧否为即时解码刷新IDR帧;
    发送模块:用于向所述媒资子系统发送所述对应第二码流的介质文件。
  29. 根据权利要求28所述的转码子系统,其特征在于,所述第一信息还包括:图像组GOP描述信息、分片描述信息和分段描述信息中的至少一种。
  30. 根据权利要求28或29所述的转码子系统,其特征在于,
    所述接收模块还用于:接收所述媒资子系统发送的所述第一码流的第一信息。
  31. 根据权利要求28或29所述的转码子系统,其特征在于,
    所述接收模块还用于:接收所述媒资子系统发送的对应第一码流的介质文件;
    所述转码子系统还包括:
    生成模块:用于根据所述对应第一码流的介质文件生成所述第一码流的第一信息。
  32. 根据权利要求31所述的转码子系统,其特征在于,
    所述发送模块还用于:向所述媒资子系统发送所述第一码流的第一信息。
  33. 根据权利要求28-32任一项所述的转码子系统,其特征在于,所述转码子系统还包括:
    生成模块:用于生成所述第二码流的第二信息;
    所述发送模块还用于:发送所述第二码流的第二信息至所述媒资子系统;其中,所述第二码流的第二信息用于所述媒资子系统更新所述目标媒资介质的第一索引文件得到所述目标媒资介质的第二索引文件;所述第一索引文件包括所述第一码流的第二信息;所述第二索引文件包括:所述第一码流的第二信息和所述第二码流的第二信息;
    其中,所述第二信息是用于描述码流的特征的信息。
  34. 根据权利要求28-32任一项所述的转码子系统,其特征在于,
    所述接收模块还用于:接收所述媒资子系统发送的所述目标媒资介质的第一索引文件;所述第一索引文件包括所述第一码流的第二信息;
    所述转码子系统还包括:
    生成模块:用于生成所述第二码流的第二信息,并将所述第二码流的第二信息添加至所述第一索引文件,得到第二索引文件;
    其中,所述第二信息是用于描述码流的特征的信息;
    所述发送模块还用于:发送所述第二索引文件至所述媒资子系统;所述第二索引文件用于所述媒资子系统替换所述第一索引文件。
  35. 一种媒资子系统,其特征在于,所述媒资子系统包括:至少一个存储器和至少一个处理器;所述至少一个存储器用于存储计算机程序,所述至少一个处理器用于调用该计算机程序,以使得所述媒资子系统执行权利要求1-10任一项所述的方法。
  36. 一种转码子系统,其特征在于,所述转码子系统包括:至少一个存储器和至少一个处理器;所述至少一个存储器用于存储计算机程序,所述至少一个处理器用于调用该计算机程序,以使得所述转码子系统执行权利要求11-17任一项所述的方法。
  37. 一种视频转码系统,其特征在于,所述视频转码系统包括媒资子系统和转码子系统,所述媒资子系统用于执行如权利要求1-10中任一项所述的方法;所述转码子系统用于执行如权利要求11-17中任一项所述的方法。
PCT/CN2020/103365 2019-07-30 2020-07-21 视频转码方法及装置 WO2021017958A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20846523.7A EP3982642A4 (en) 2019-07-30 2020-07-21 METHOD AND DEVICE FOR VIDEO TRANSCODING
US17/631,403 US11825136B2 (en) 2019-07-30 2020-07-21 Video transcoding method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910711337.6A CN110602555B (zh) 2019-07-30 2019-07-30 视频转码方法及装置
CN201910711337.6 2019-07-30

Publications (1)

Publication Number Publication Date
WO2021017958A1 true WO2021017958A1 (zh) 2021-02-04

Family

ID=68853320

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/103365 WO2021017958A1 (zh) 2019-07-30 2020-07-21 视频转码方法及装置

Country Status (4)

Country Link
US (1) US11825136B2 (zh)
EP (1) EP3982642A4 (zh)
CN (1) CN110602555B (zh)
WO (1) WO2021017958A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602555B (zh) 2019-07-30 2021-01-01 华为技术有限公司 视频转码方法及装置
CN116389758A (zh) * 2023-04-07 2023-07-04 北京度友信息技术有限公司 视频转码方法及装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8468572B2 (en) * 2008-03-26 2013-06-18 Cisco Technology, Inc. Distributing digital video content to multiple end-user devices
CN104104971A (zh) * 2013-04-02 2014-10-15 腾讯科技(深圳)有限公司 一种视频文件处理方法及系统
CN105979404A (zh) * 2015-12-01 2016-09-28 乐视致新电子科技(天津)有限公司 一种流媒体的处理方法及装置
CN108989885A (zh) * 2017-06-05 2018-12-11 腾讯科技(深圳)有限公司 视频文件转码系统、分割方法、转码方法及装置
CN110602555A (zh) * 2019-07-30 2019-12-20 华为技术有限公司 视频转码方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6799298B2 (en) * 1998-03-11 2004-09-28 Overture Services, Inc. Technique for locating an item of interest within a stored representation of data
KR101359722B1 (ko) * 2009-10-22 2014-02-05 니폰덴신뎅와 가부시키가이샤 비디오 품질 추정장치, 비디오 품질 추정방법 및 프로그램
US9414100B2 (en) * 2014-03-31 2016-08-09 Arris Enterprises, Inc. Adaptive streaming transcoder synchronization
CN109391825A (zh) * 2017-08-03 2019-02-26 腾讯科技(深圳)有限公司 一种视频转码方法及其装置、服务器、可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8468572B2 (en) * 2008-03-26 2013-06-18 Cisco Technology, Inc. Distributing digital video content to multiple end-user devices
CN104104971A (zh) * 2013-04-02 2014-10-15 腾讯科技(深圳)有限公司 一种视频文件处理方法及系统
CN105979404A (zh) * 2015-12-01 2016-09-28 乐视致新电子科技(天津)有限公司 一种流媒体的处理方法及装置
CN108989885A (zh) * 2017-06-05 2018-12-11 腾讯科技(深圳)有限公司 视频文件转码系统、分割方法、转码方法及装置
CN110602555A (zh) * 2019-07-30 2019-12-20 华为技术有限公司 视频转码方法及装置

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
EP3982642A1 (en) 2022-04-13
EP3982642A4 (en) 2022-07-27
CN110602555A (zh) 2019-12-20
CN110602555B (zh) 2021-01-01
US11825136B2 (en) 2023-11-21
US20220279225A1 (en) 2022-09-01

Similar Documents

Publication Publication Date Title
US8489760B2 (en) Media file storage format and adaptive delivery system
CN107743708B (zh) 经由dash来参与abr流传送会话的方法、装置和节点
WO2016138844A1 (zh) 音视频文件直播方法和系统、服务器
CN107968790B (zh) 自适应流创建和输送中的虚拟化
US11722711B2 (en) System and method for data stream fragmentation
CN107634930B (zh) 一种媒体数据的获取方法和装置
SG187638A1 (en) Manifest file updates for network streaming of coded video data
CN112771877A (zh) 用于流式传输媒体数据的服务描述
US20220303328A1 (en) Systems and methods for cloud storage direct streaming
EP3096533B1 (en) Communication apparatus, communication data generation method, and communication data processing method
US11825146B2 (en) System and method for storing multimedia files using an archive file format
WO2021017958A1 (zh) 视频转码方法及装置
CN112312162B (zh) 一种传输视频流的视频服务器
US10715880B2 (en) Method for creation and distribution of segmented video over distributed multicast-aware sparse networks with low latency
Seo et al. An experimental study of video uploading from mobile devices with HTTP streaming
CN105900437B (zh) 通信设备、通信数据生成方法和通信数据处理方法
CN112203105A (zh) 一种新媒体移动直播方法及系统
JP2024503647A (ja) メディアデータのバックグラウンドデータトラフィック配信
US10893303B1 (en) Streaming chunked media segments

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020846523

Country of ref document: EP

Effective date: 20220107

NENP Non-entry into the national phase

Ref country code: DE