CN113132806B - Playing terminal and program playing method thereof - Google Patents

Playing terminal and program playing method thereof Download PDF

Info

Publication number
CN113132806B
CN113132806B CN201911415704.4A CN201911415704A CN113132806B CN 113132806 B CN113132806 B CN 113132806B CN 201911415704 A CN201911415704 A CN 201911415704A CN 113132806 B CN113132806 B CN 113132806B
Authority
CN
China
Prior art keywords
program
playing
module
data
audio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911415704.4A
Other languages
Chinese (zh)
Other versions
CN113132806A (en
Inventor
艾本仁
杜聚龙
李晓荔
鲍海兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baustem Information Technology Co ltd
Original Assignee
Beijing Baustem Information Technology Co ltd
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 Beijing Baustem Information Technology Co ltd filed Critical Beijing Baustem Information Technology Co ltd
Priority to CN201911415704.4A priority Critical patent/CN113132806B/en
Publication of CN113132806A publication Critical patent/CN113132806A/en
Application granted granted Critical
Publication of CN113132806B publication Critical patent/CN113132806B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • 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/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts

Abstract

The application discloses a playing terminal and a program playing method thereof, wherein the playing terminal comprises a program playing module and a program forwarding module, wherein: the program playing module is used for sending a program playing request, receiving and playing the filling data sent by the program forwarding module or the program content returned by the server; and the program forwarding module is used for generating filling data corresponding to the program playing request or selecting the filling data corresponding to the program playing request from pre-stored filling data after the program playing request is sent by the program playing module and before the program content returned by the server is received, and sending the filling data to the program playing module. By arranging the program forwarding module, the playing waiting time or channel switching waiting time of a user is greatly reduced, any program does not need to be cached on the playing terminal, the user behavior does not need to be predicted by the playing terminal, and the playing terminal can interoperate with a standard and universal player on the market.

Description

Playing terminal and program playing method thereof
Technical Field
The present application relates to, but not limited to, the multimedia technology field, and in particular, to a playing terminal and a program playing method thereof.
Background
To reduce latency, many real-time programs are transmitted in real-time, most commonly as in broadcast television. In addition, due to system design considerations, some non-real-time programs may also be transmitted in real time, for example, time-shifting, review services, etc. in a broadcast television system are all non-real-time, but are also transmitted in real time. One feature of real-time transmission of programs is that the Bit Rate is controlled by the content, and the transmission speed is synchronized with the playback speed, whether it be a Constant Bit Rate (CBR) or a dynamic Bit Rate (VBR). This can create the following problems in the internet video ecology:
because most internet videos exist in a file data form, and links of the internet are complex and diverse, great time delay and time delay jitter are generated during transmission, and video players of the internet usually have a relatively large data buffer. When a user starts playing a program, the video player waits until there is more buffer data in the data buffer before decoding. Therefore, in the user experience, it may happen that it takes several seconds for the user to start playing after selecting a program to play. However, as network speeds increase, this is less and less of a problem because the video player fills the data buffer in the shortest time at a rate several times or even hundreds times before beginning playback, making the user's wait time shorter and shorter. However, when playing a video stream transmitted in real time on an internet video player, since the data transmission rate of the source is determined not by the network speed but by the playing speed, the increased network speed cannot play a role. Usually, several hundred frames of data are buffered in the buffer area before playing is started, so that the user needs to wait for almost 10 seconds after clicking to start playing, and can see the first frame of picture for tens of seconds more. Also, users often have a habit of browsing channels randomly when watching real-time programs, i.e., watching the content of the previous channel or the next channel without destination. Users are often intolerable if they wait 10 seconds or more between channel changes.
The prior art discloses a playing method, which buffers a part of the program of the previous channel and/or the next channel in advance, and when the user switches to the channel, the data taken from the buffer can be played immediately. The disadvantage of this method is that it is not practical to buffer all the programs at the terminal, and if the user switches to another channel, it is still necessary to wait for buffering.
The prior art also discloses a playing method, which is characterized in that all program streams are cached at the front end by playing a special program stream for fast channel switching, when a user switches channels, related data cached at the front end is firstly pulled to a buffer area at a speed which is several times of that of a real-time stream, and then the real-time stream is pulled, so that the program can be immediately played. The disadvantage of this approach is that most players do not support such playback, typically for operator's custom terminals.
Disclosure of Invention
The application provides a playing terminal and a program playing method thereof, which can greatly reduce the playing waiting time or channel switching waiting time of a user.
The application provides a broadcast terminal, including program broadcast module and program forwarding module, wherein: the program playing module is used for sending a program playing request, receiving the filling data sent by the program forwarding module or the program content returned by the server, and playing the filling data or the program content; and the program forwarding module is used for generating filling data corresponding to the program playing request or selecting the filling data corresponding to the program playing request from pre-stored filling data after the program playing request is sent by the program playing module and before the program content returned by the server is received, and sending the filling data to the program playing module.
In this embodiment, the program forwarding module is further configured to forward the program playing request of the program playing module to the server, and after receiving the program content returned by the server, forward the received program content to the program playing module.
In this embodiment, the program forwarding module is further configured to at least one of:
detecting whether the real-time transmission rate of the program content is lower than a preset minimum transmission rate threshold value or not; if the transmission rate is lower than the preset minimum transmission rate threshold value, periodically inserting at least one of the following when the received program content is forwarded to the program playing module: image data and null packets, so that the forwarded program content is pushed according to the minimum transmission rate threshold;
detecting whether the audio and video of the program content are synchronous, if not, realizing the audio and video synchronization of the program content when the program content is forwarded to the program playing module;
detecting whether the program content lacks audio, if so, supplementing filling audio or empty audio when forwarding the program content to the program playing module, and synchronizing the supplemented audio and the program content.
In this embodiment, the padding data includes at least one of: image data and audio data, wherein: the parameters of the image data are the same as the parameters of the program images in the program contents returned by the server, and the parameters of the audio data are the same as the parameters of the program audio in the program contents returned by the server.
In this embodiment, the parameter of the image data includes at least one of: resolution, frame rate, encoding format, the parameters of the audio data including at least one of: channel, sampling rate, coding format.
In this embodiment, the generating the padding data corresponding to the program playing request or selecting the padding data corresponding to the program playing request from the pre-stored padding data specifically includes: acquiring metadata of program content corresponding to the program playing request; and generating filling data corresponding to the program playing request or selecting the filling data corresponding to the program playing request from pre-stored filling data according to the code stream attribute in the metadata.
In this embodiment, the generating the padding data corresponding to the program playing request includes: acquiring one or more pre-stored filling pictures; cutting the size and the position of the filling picture; coding the cut filling picture according to the coding format of the program image in the code stream attribute to generate a picture group GOP; and selecting pre-stored audio data, mixing the selected audio data with the generated GOP, and generating the filling data.
The application also provides a program playing method of the playing terminal, the playing terminal comprises a program playing module and a program forwarding module, and the program playing method comprises the following steps: the program playing module sends a program playing request to the server, or forwards the program playing request to the server through the program forwarding module; the program forwarding module generates filling data corresponding to the program playing request or selects the filling data corresponding to the program playing request from the pre-stored filling data and sends the filling data to the program playing module; the program playing module receives the filling data sent by the program forwarding module and plays the filling data; the program playing module receives the program content returned by the server through the program playing module or the program forwarding module and plays the program content.
In this embodiment, the program playing method further includes: the program forwarding module detects whether the real-time transmission rate of the program content is lower than a preset minimum transmission rate threshold value; if the transmission rate is lower than the preset minimum transmission rate threshold, the program forwarding module periodically inserts at least one of the following when forwarding the received program content to the program playing module: image data and null packets, so that the forwarded program content is pushed according to the minimum transmission rate threshold.
In this embodiment, the padding data includes at least one of: image data and audio data, wherein: the parameters of the image data are the same as the parameters of the program images in the program contents returned by the server, and the parameters of the audio data are the same as the parameters of the program audio in the program contents returned by the server.
Compared with the related art, the playing terminal and the program playing method thereof in the embodiment of the application comprise a program playing module and a program forwarding module, wherein: the program playing module is used for sending a program playing request, receiving and playing the filling data sent by the program forwarding module or the program content returned by the server; the program forwarding module is used for generating filling data corresponding to the program playing request or selecting the filling data corresponding to the program playing request from pre-stored filling data after the program playing request is sent by the program playing module and before the program content returned by the server is received, and sending the filling data to the program playing module.
Additional features and advantages of the application will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the application. Other advantages of the present application may be realized and attained by the instrumentalities and combinations particularly pointed out in the specification and the drawings.
Drawings
The accompanying drawings are included to provide an understanding of the present disclosure and are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the examples serve to explain the principles of the disclosure and not to limit the disclosure.
Fig. 1 is a schematic structural diagram of an exemplary broadcast terminal according to an embodiment of the present invention;
fig. 2 is a flowchart illustrating an exemplary program playing method according to an embodiment of the present invention.
Detailed Description
The present application describes embodiments, but the description is illustrative rather than limiting and it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the embodiments described herein. Although many possible combinations of features are shown in the drawings and discussed in the detailed description, many other combinations of the disclosed features are possible. Any feature or element of any embodiment may be used in combination with or instead of any other feature or element in any other embodiment, unless expressly limited otherwise.
The present application includes and contemplates combinations of features and elements known to those of ordinary skill in the art. The embodiments, features and elements disclosed in this application may also be combined with any conventional features or elements to form a unique inventive concept as defined by the claims. Any feature or element of any embodiment may also be combined with features or elements from other inventive aspects to form yet another unique inventive aspect, as defined by the claims. Thus, it should be understood that any of the features shown and/or discussed in this application may be implemented individually or in any suitable combination. Accordingly, the embodiments are not limited except as by the appended claims and their equivalents. Furthermore, various modifications and changes may be made within the scope of the appended claims.
Further, in describing representative embodiments, the specification may have presented the method and/or process as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. Other orders of steps are possible as will be understood by those of ordinary skill in the art. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. Further, the claims directed to the method and/or process should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the embodiments of the present application.
As shown in fig. 1, an embodiment of the present invention provides a broadcast terminal 10, which includes a program broadcast module 101 and a program forwarding module 102, where:
the program playing module 101 is configured to send a program playing request, receive the filling data sent by the program forwarding module 102 or the program content returned by the server 20, and play the filling data or the program content;
the program forwarding module 102 is configured to generate padding data corresponding to the program playing request or select padding data corresponding to the program playing request from pre-stored padding data after the program playing module 101 sends the program playing request and before receiving program content returned by the server 20, and send the padding data to the program playing module 101.
In the embodiment of the invention, a back-to-back program playing module 101 and a program forwarding module 102 are arranged on a playing terminal 10, and the program playing module 101 sends a program playing request and receives a real-time program; after the program playing module 101 sends a program playing request, the program forwarding module 102 first sends a certain amount of filling data to the program playing module 101, and before the program playing module 101 receives the program content, the filling data is played first, so that the playing waiting time or the channel switching waiting time of the user can be greatly reduced, and after the program content returned by the server 20 is received, the program content (real-time code stream) returned by the server 20 is played by the program playing module 101.
In an exemplary embodiment, the program forwarding module 102 is further configured to forward a program playing request of the program playing module 101 to the server 20, and after receiving the program content returned by the server 20, forward the received program content to the program playing module 101.
It should be noted that, the program playing module 101 of the present application may directly send a program playing request to the server 20, and directly receive program contents returned by the server 20; the program forwarding module 102 may also forward the program playing request to the server 20, and receive the program content returned by the server 20 through the program forwarding module 102.
In this embodiment, before starting to forward the program content received from the server 20, the program forwarding module 102 needs to check the program content, cut off data before a first Group of Pictures (GOP), and align audio in time.
In an exemplary embodiment, the program forwarding module 102 is further configured to:
detecting whether the real-time transmission rate of the program content is lower than a preset minimum transmission rate threshold value or not;
if the transmission rate is lower than the preset minimum transmission rate threshold, periodically inserting at least one of the following when forwarding the received program content to the program playing module 101: image data and null packets, so that the forwarded program content is pushed according to the minimum transmission rate threshold.
When the real-time transmission rate of the program content is low, after the start of playing, there may be a phenomenon that the playing terminal 10 stops playing because there is too little buffer data. For this phenomenon, the program forwarding module 102 needs to always push the real-time code stream of the program content according to a minimum transmission rate threshold. At this time, the program forwarding module 102 may insert the null packet periodically, or insert the image data and the null packet periodically. When image data is inserted, only one frame of image data is inserted at a time, which does not visually affect the viewing of the user.
In an exemplary embodiment, the program forwarding module 102 is further configured to: and detecting whether the audio and video of the program content are synchronous, if not, when the program content is forwarded to the program playing module, realizing the audio and video synchronization of the program content.
In this embodiment, the audio-video synchronization problem includes, but is not limited to: program Clock Reference (PCR) jitter, presentation Time Stamp (PTS) intervals are too large, and so on.
In an exemplary embodiment, the program forwarding module 102 is further configured to: detecting whether the program content lacks audio, if so, supplementing filling audio or empty audio when forwarding the program content to the program playing module, and synchronizing the supplemented audio and the program content.
In this embodiment, some programs may not include audio, or audio for a period of time. In this case, the data audio or the null audio is supplemented to meet the requirement of audio-video synchronization. Some players may be sensitive to this.
In an exemplary embodiment, the padding data includes at least one of: image data and audio data, wherein: the parameters of the image data are the same as the parameters of the program images in the program content returned by the server 20, and the parameters of the audio data are the same as the parameters of the program audio in the program content returned by the server 20.
In this embodiment, the parameter of the image data comprises at least one of: resolution, frame rate, encoding format, the parameters of the audio data including at least one of: channel, sampling rate, coding format.
In an exemplary embodiment, the padding data further includes a packing parameter. The packing parameters include: audio video stream ID, time reference, etc.
In this embodiment, the packing parameter in the padding data may be the same as or different from the packing parameter in the program content returned by the server 20.
When the packing parameter in the filling data is the same as the packing parameter in the program content returned by the server 20, the program forwarding module 102 directly forwards the program content returned by the server 20 to the program playing module 101 in the forwarding process; when the packing parameter in the padding data is different from the packing parameter in the program content returned by the server 20, the program forwarding module 102 repacks the program content returned by the server 20 in the forwarding process, and forwards the repacked program content to the program playing module 10, where the packing parameter is determined by the program forwarding module 102.
In this embodiment, the compression ratio of the image data is lower than a preset compression ratio threshold value to facilitate decoding by a decoder in the playback terminal 10.
In the padding data of the embodiment of the present invention, the image data may be several frames of images with low compression ratio (for example, lossless compression), and the image data should have the same parameters (resolution, frame rate, encoding format, etc.) as the subsequent real-time program video; the audio data may be a quiet piece of audio and co-parametric with the subsequent real-time program audio (channel, sampling rate, encoding format). In this way, the decoder in the broadcast terminal 10 can make the padding data and the program content form a complete code stream. For example, for a broadcast stream of 25 frames/sec (the real-time transmission rate is 3.75Mbps, and the maximum bit rate of the Main Profile @ Main Level (mp @ ml) is 50 Mbps), theoretically, if the real-time stream is replaced by filling data with a compression ratio of 1/10, the waiting time of 10 seconds can be shortened to 1 second.
In an exemplary embodiment, the generating of padding data corresponding to the program playing request or selecting padding data corresponding to the program playing request from pre-stored padding data includes:
acquiring metadata (Meta Data) of the program content corresponding to the program playing request;
and generating filling Data corresponding to the program playing request or selecting the filling Data corresponding to the program playing request from pre-stored filling Data according to the code stream attribute in the Meta Data.
In this embodiment, the complete forwarding flow is as follows:
(1) Acquiring Meta Data of the program content according to the playing request;
(2) Finding or generating filling Data according to the code stream attribute in Meta Data;
(3) Pushing the filling data;
(4) And pushing the real-time code stream.
In an exemplary embodiment, the generating the padding data corresponding to the program playing request includes:
acquiring one or more pre-stored filling pictures;
cutting the size and the position of the filling picture;
coding the cut filling picture according to the coding format of the program image in the code stream attribute to generate a GOP;
and selecting pre-stored audio data, mixing the selected audio data with the generated GOP, and generating the filling data.
In this embodiment, one or more high-resolution fill pictures may be stored in the program forwarding module 102 in advance, and the process of generating the fill data is as follows: the method comprises the steps of cutting a required size (resolution) and a required position (animation effect) on a filling picture, coding according to a coding format of a program picture in program content to generate a GOP, and mixing the GOP with audio data to generate filling data. An alternative approach is to store some of the usual padding data in the program forwarding module 102 without requiring each re-encoding.
In an exemplary embodiment, the program forwarding module 102 may also form a mixed play mode by combining with a play method other than the embodiment of the present invention. For example, the user experience may be further improved by combining the existing playing method of the prediction cache (which buffers a part of the program of the previous channel and/or the next channel in advance, and when the user switches to the channel, the data is taken from the buffer area and can be immediately played back), and when the user selects the previous channel or the next channel, the content of the prediction cache is pushed. For another example, the existing dedicated program stream for fast zapping may be combined, and when a user selects a certain channel, the program forwarding module 102 uses the dedicated program stream for fast zapping as padding data, so as to further improve user experience.
As shown in fig. 2, an embodiment of the present invention further provides a program playing method for a playing terminal, where the playing terminal includes a program playing module and a program forwarding module, and the program playing method includes the following steps:
step 201: the program playing module sends a program playing request to the server, or forwards the program playing request to the server through the program forwarding module;
the program playing module can directly send the program playing request to the server and directly receive the program content returned by the server; the program playing request can also be forwarded to the server through the program forwarding module, and the program content returned by the server is received through the program forwarding module.
Step 202: the program forwarding module generates filling data corresponding to the program playing request or selects the filling data corresponding to the program playing request from pre-stored filling data, and sends the filling data to the program playing module;
in an exemplary embodiment, the padding data includes at least one of: image data and audio data, wherein: the parameters of the image data are the same as the parameters of the program images in the program contents returned by the server, and the parameters of the audio data are the same as the parameters of the program audio in the program contents returned by the server.
In this embodiment, the parameter of the image data comprises at least one of: resolution, frame rate, encoding format, the parameters of the audio data including at least one of: channel, sampling rate, coding format.
In an exemplary embodiment, the padding data further includes a packing parameter. The packing parameters include: audio video stream ID, time reference, etc.
In this embodiment, the packing parameter in the padding data may be the same as or different from the packing parameter in the program content returned by the server.
When the packing parameters in the filling data are the same as the packing parameters in the program contents returned by the server, the program forwarding module directly forwards the program contents returned by the server to the program playing module in the forwarding process; when the packing parameter in the filling data is different from the packing parameter in the program content returned by the server, the program forwarding module repacks the program content returned by the server in the forwarding process and forwards the repacked program content to the program playing module, and the packing parameter is determined by the program forwarding module.
In this embodiment, the compression ratio of the image data is lower than a preset compression ratio threshold value, so as to facilitate decoding by a decoder in the play terminal.
In the padding data of the embodiment of the present invention, the image data may be several frames of images with low compression ratio (for example, lossless compression), and the image data should have the same parameters (resolution, frame rate, encoding format, etc.) as the subsequent real-time program video; the audio data may be a quiet piece of audio and co-parametric with the subsequent real-time program audio (channel, sampling rate, encoding format). Thus, for the decoder in the broadcast terminal, the filling data and the program content can be combined into a complete code stream. For example, for a broadcast stream of 25 frames/sec (the real-time transmission rate is 3.75Mbps, and the maximum bit rate of the Main Profile @ Main Level (mp @ ml) is 50 Mbps), theoretically, if the real-time stream is replaced by filling data with a compression ratio of 1/10, the waiting time of 10 seconds can be shortened to 1 second.
In an exemplary embodiment, the generating, by the program forwarding module, or selecting, from pre-stored padding data, padding data corresponding to the program playing request includes:
the program forwarding module acquires Meta Data of program content corresponding to the program playing request;
and according to the code stream attribute in the Meta Data, the program forwarding module generates filling Data corresponding to the program playing request or selects the filling Data corresponding to the program playing request from the pre-stored filling Data.
In an exemplary embodiment, the generating, by the program forwarding module, filling data corresponding to the program playing request includes:
acquiring one or more pre-stored filling pictures;
cutting the size and the position of the filling picture;
coding the cut filling picture according to the coding format of the program image in the code stream attribute to generate a picture group GOP;
and selecting pre-stored audio data, and mixing the selected audio data with the generated GOP to generate the padding data.
In this embodiment, one or more high-resolution fill pictures may be stored in the program forwarding module in advance, and the process of generating the fill data is as follows: the method comprises the steps of cutting a required size (resolution) and a required position (animation effect) on a filling picture, coding according to a coding format of a program picture in program content to generate a GOP, and mixing the GOP with audio data to generate filling data. An alternative approach is to store some of the usual padding data in the program forwarding module without requiring re-encoding each time.
Step 203: the program playing module receives the filling data sent by the program forwarding module and plays the filling data;
the embodiment of the invention arranges a program playing module and a back-to-back program forwarding module on a playing terminal, and the program playing module sends a program playing request and receives a real-time program; the program forwarding module sends a certain amount of filling data to the program playing module after the program playing module sends a program playing request, and the program playing module plays the filling data before receiving the program content, so that the playing waiting time or the channel switching waiting time of a user can be greatly reduced, and the program content (real-time code stream) returned by the server is played through the program playing module after the program content returned by the server is received.
Step 204: the program playing module receives the program content returned by the server through the program playing module or the program forwarding module, and plays the program content.
In this embodiment, before the program forwarding module starts forwarding the program content received from the server, the program content needs to be checked, data before the first frame group is cut off, and the audio is aligned according to time.
In an exemplary embodiment, the program playing method further includes:
the program forwarding module detects whether the real-time transmission rate of the program content is lower than a preset minimum transmission rate threshold value;
if the transmission rate is lower than the preset minimum transmission rate threshold, the program forwarding module periodically inserts at least one of the following when forwarding the received program content to the program playing module: image data and null packets, so that the forwarded program content is pushed according to the minimum transmission rate threshold.
When the real-time transmission rate of the program content is low, after the playing is started, the phenomenon that the playing terminal stops playing due to too little buffer data may occur. For this phenomenon, the program forwarding module needs to always push the real-time code stream of the program content according to a minimum transmission rate threshold. At this time, the program forwarding module may periodically insert the null packet, or periodically insert the image data and the null packet. When image data is inserted, only one frame of image data is inserted at a time, which does not visually affect the viewing of the user.
In an exemplary embodiment, the program playing method further includes:
the program forwarding module detects whether the audio and video of the program content are synchronous, if not, the program content is forwarded to the program playing module, and the audio and video synchronization of the program content is realized.
In this embodiment, the audio-video synchronization problem includes, but is not limited to: PCR jitter, audio-video PTS intervals are too large, and the like.
In an exemplary embodiment, the program playing method further includes:
the program forwarding module detects whether the program content lacks audio, if so, the program content is supplemented with filling audio or empty audio when being forwarded to the program playing module, and the supplemented audio and the program content are synchronized.
In this embodiment, some programs may not include audio, or audio for a period of time. In this case, the data audio or the null audio is supplemented to meet the requirement of audio-video synchronization. Some players may be sensitive to this.
In an exemplary embodiment, the complete forwarding flow is as follows:
(1) Acquiring Meta Data of the program content according to the playing request;
(2) Finding or generating filling Data according to the code stream attribute in Meta Data;
(3) Pushing the filling data;
(4) And pushing the real-time code stream.
In an exemplary embodiment, the program forwarding module may also form a mixed play mode by combining with a play method other than the embodiment of the present invention. For example, the existing predictive cache playing method (which buffers a part of the program of the previous channel and/or the next channel in advance, and when the user switches to this channel, the data taken from the buffer can be played immediately) may be combined, and when the user selects the previous channel or the next channel, the program forwarding module pushes the content of the predictive cache, so as to further improve the user experience.
It will be understood by those of ordinary skill in the art that all or some of the steps of the methods, systems, functional modules/units in the devices disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be performed by several physical components in cooperation. Some or all of the components may be implemented as software executed by a processor, such as a digital signal processor or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as is well known to those of ordinary skill in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by a computer. In addition, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media as is well known to those skilled in the art.

Claims (7)

1. A broadcast terminal, comprising a program broadcast module and a program forwarding module, wherein:
the program playing module is used for sending a program playing request, receiving the filling data sent by the program forwarding module or the program content returned by the server, and playing the filling data or the program content; the padding data includes at least one of: image data and audio data, wherein: the parameters of the image data are the same as the parameters of the program images in the program contents returned by the server, and the parameters of the audio data are the same as the parameters of the program audio in the program contents returned by the server;
the program forwarding module is configured to generate padding data corresponding to a program playing request after the program playing module sends the program playing request and before receiving program content returned by a server, or select padding data corresponding to the program playing request from pre-stored padding data, and send the padding data to the program playing module; the generating of the padding data corresponding to the program playing request or the selecting of the padding data corresponding to the program playing request from the pre-stored padding data specifically includes: acquiring metadata of program content corresponding to the program playing request; and generating filling data corresponding to the program playing request or selecting the filling data corresponding to the program playing request from pre-stored filling data according to the code stream attribute in the metadata.
2. The broadcast terminal of claim 1, wherein the program forwarding module is further configured to forward a program broadcast request of the program broadcast module to the server, and after receiving the program content returned by the server, forward the received program content to the program broadcast module.
3. The cast terminal of claim 2, wherein the program forwarding module is further configured to at least one of:
detecting whether the real-time transmission rate of the program content is lower than a preset minimum transmission rate threshold value or not; if the transmission rate is lower than the preset minimum transmission rate threshold value, at least one of the following is inserted periodically when the program content is forwarded to the program playing module: image data and null packets, so that the forwarded program content is pushed according to the lowest transmission rate threshold;
detecting whether the audio and video of the program content are synchronous, if not, realizing the audio and video synchronization of the program content when the program content is forwarded to the program playing module;
detecting whether the program content lacks audio, if so, supplementing filling audio or empty audio when forwarding the program content to the program playing module, and synchronizing the supplemented audio and the program content.
4. The cast terminal of claim 1, wherein the parameters of the image data include at least one of: resolution, frame rate, encoding format, the parameters of the audio data including at least one of: channel, sampling rate, coding format.
5. The playback terminal of claim 1, wherein the generating the padding data corresponding to the request for playing back the program comprises:
acquiring one or more pre-stored filling pictures;
cutting the size and the position of the filling picture;
coding the cut filling picture according to the coding format of the program image in the code stream attribute to generate a picture group GOP;
and selecting pre-stored audio data, mixing the selected audio data with the generated GOP, and generating the filling data.
6. A program playing method of a playing terminal is characterized in that the playing terminal comprises a program playing module and a program forwarding module, and the program playing method comprises the following steps:
the program playing module sends a program playing request to the server, or forwards the program playing request to the server through the program forwarding module;
the program forwarding module acquires metadata of program content corresponding to the program playing request; generating filling data corresponding to the program playing request or selecting the filling data corresponding to the program playing request from pre-stored filling data according to the code stream attribute in the metadata, and sending the filling data to the program playing module; the padding data includes at least one of: image data and audio data, wherein: the parameters of the image data are the same as the parameters of the program images in the program contents returned by the server, and the parameters of the audio data are the same as the parameters of the program audio in the program contents returned by the server;
the program playing module receives the filling data sent by the program forwarding module and plays the filling data;
the program playing module receives the program content returned by the server through the program playing module or the program forwarding module and plays the program content.
7. The program playing method of claim 6, wherein the program playing method further comprises:
the program forwarding module detects whether the real-time transmission rate of the program content is lower than a preset minimum transmission rate threshold value;
if the transmission rate is lower than the preset minimum transmission rate threshold, the program forwarding module periodically inserts at least one of the following when forwarding the received program content to the program playing module: image data and null packets, so that the forwarded program content is pushed according to the minimum transmission rate threshold.
CN201911415704.4A 2019-12-31 2019-12-31 Playing terminal and program playing method thereof Active CN113132806B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911415704.4A CN113132806B (en) 2019-12-31 2019-12-31 Playing terminal and program playing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911415704.4A CN113132806B (en) 2019-12-31 2019-12-31 Playing terminal and program playing method thereof

Publications (2)

Publication Number Publication Date
CN113132806A CN113132806A (en) 2021-07-16
CN113132806B true CN113132806B (en) 2023-03-24

Family

ID=76770641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911415704.4A Active CN113132806B (en) 2019-12-31 2019-12-31 Playing terminal and program playing method thereof

Country Status (1)

Country Link
CN (1) CN113132806B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1303569A (en) * 1998-04-03 2001-07-11 发现通讯公司 Targeted advertisement using television delivery systems
CN1622616A (en) * 2003-11-28 2005-06-01 皇家飞利浦电子股份有限公司 A broadcast method and system for digital program
CN1681304A (en) * 2004-03-19 2005-10-12 微软公司 Method and apparatus for handling metadata
WO2009132564A1 (en) * 2008-04-30 2009-11-05 华为技术有限公司 Play controlling method, device and system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102860022B (en) * 2011-11-28 2014-06-04 华为技术有限公司 Program changing method, device and media server

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1303569A (en) * 1998-04-03 2001-07-11 发现通讯公司 Targeted advertisement using television delivery systems
CN1622616A (en) * 2003-11-28 2005-06-01 皇家飞利浦电子股份有限公司 A broadcast method and system for digital program
CN1681304A (en) * 2004-03-19 2005-10-12 微软公司 Method and apparatus for handling metadata
WO2009132564A1 (en) * 2008-04-30 2009-11-05 华为技术有限公司 Play controlling method, device and system

Also Published As

Publication number Publication date
CN113132806A (en) 2021-07-16

Similar Documents

Publication Publication Date Title
US20230179837A1 (en) Network Video Streaming with Trick Play Based on Separate Trick Play Files
KR101837687B1 (en) Method and apparatus for adaptive streaming based on plurality of elements determining quality of content
CN109792545B (en) Method for transmitting video content from server to client device
JP6177843B2 (en) Adaptive streaming method and apparatus using partialization
EP3206395B1 (en) Streaming method and apparatus operating by inserting other content into main content
KR101750049B1 (en) Method and apparatus for adaptive streaming
KR101927145B1 (en) Decoder and method at the decoder for synchronizing the rendering of contents received through different networks
US20140359678A1 (en) Device video streaming with trick play based on separate trick play files
CN107852534B (en) Switching between broadcast and unicast streams
US20140359679A1 (en) Content streaming with client device trick play index
US20120272281A1 (en) Method and apparatus for transmitting media data, and method and apparatus for receving media data
CN109937448B (en) System and method for providing audio content during trick play playback
KR20110053179A (en) Method and apparatus for transmitting and receiving of data
EP3520421B1 (en) Viewer importance adaptive bit rate delivery
WO2014193996A2 (en) Network video streaming with trick play based on separate trick play files
US20100153988A1 (en) Unknown
US20180103276A1 (en) Method for initiating a transmission of a streaming content delivered to a client device and access point for implementing this method
CN114079813A (en) Picture synchronization method, coding method, video playing device and video coding device
US20180288452A1 (en) Method of delivery audiovisual content and corresponding device
KR101731829B1 (en) Device and method for processing digital contents in digital video receiver
CN113132806B (en) Playing terminal and program playing method thereof
US20150043885A1 (en) Video display apparatus and video display method
WO2011021249A1 (en) Content playing device and content playing method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant