Streaming media data transmission method, device, and terminal device

By controlling GOP packet data entry into the decoder buffer based on key frame position information and buffer thresholds, the method and device prevent decoder overload and ensure smooth video playback.

JP7738742B2Active Publication Date: 2025-09-12SHENZHEN TCL NEW-TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024508028
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-08-10
Publication Date
2025-09-12
Estimated Expiration
2041-08-10

AI Technical Summary

Technical Problem

Conventional streaming media data transmission methods face issues with demultiplexers overflowing, leading to incomplete decoding and data loss due to device overload, affecting normal video playback.

Method used

A method and device that control the number of GOP packet data entering the decoder buffer within a reasonable range by analyzing TLV packet data for key frame position information, calculating data amounts, and suspending data entry when the buffer threshold is exceeded, using timers and playback rules to ensure smooth decoding.

Benefits of technology

Prevents decoder overload, avoids incomplete decoding and data loss, ensuring continuous and smooth video playback by controlling the number of GOP packet data entering the buffer.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007738742000001
    Figure 0007738742000001
  • Figure 0007738742000002
    Figure 0007738742000002
  • Figure 0007738742000003
    Figure 0007738742000003
Patent Text Reader

Abstract

The embodiment of the present invention provides a streaming media data transmission method, device and terminal device. The streaming media data transmission method includes: respectively calculating the amount of data contained in each GOP packet data; sending the GOP packet data to a buffer; detecting whether the total amount of data of the GOP packet data entered into the buffer is greater than a maximum load threshold of the buffer; if the total amount of data is greater than the maximum load threshold, pausing the sending of the GOP packet data; and outputting video in real time. The number of GOP packet data entering an encoder is controlled within a reasonable range to avoid incomplete decoding of the GOP packet data.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to data transmission technology, and in particular to a streaming media data transmission method, apparatus, and terminal device. [Background technology]

[0002] After the streaming media data is decoded by the decoder, the video screen information can be restored on the display device. The streaming media data is sent to the decoder and cached in the demultiplexer before being decoded by the decoder. The demultiplexer detects whether there is any free buffer space in the demultiplexer. If there is any free buffer space, the streaming media data cached in the demultiplexer is pushed into the demultiplexer buffer to wait for decoding.

[0003] However, the demultiplexer not only needs to detect the space status of the decoder buffer, but also needs to implement the functions of caching and pushing streaming media data. Once an unknown problem occurs in the demultiplexer or other base equipment, for example, when the cached streaming media data of the demultiplexer overflows, it will trigger a large amount of streaming media data to be pushed into the decoder buffer, thereby overwriting the original incompletely decoded streaming media data and discarding the original incompletely decoded streaming media data, which ultimately affects the normal playback of video. Therefore, the conventional technology has deficiencies and needs improvement and development. Summary of the Invention [Problem to be solved by the invention]

[0004] An embodiment of the present invention comprises: Decoding By controlling the number of GOP packet data entering the device within a reasonable range, DecodingTo provide a streaming media data transmission method, device and terminal device that prevent a device from being overloaded and avoid incomplete decoding of GOP packet data or loss of data. [Means for solving the problem]

[0005] In a first aspect, an embodiment of the present disclosure provides a streaming media data transmission method, the streaming media data transmission method comprising: receiving TLV packet data transferred from a sender and including multiple MMTP packet data; The TLV packet data is analyzed to obtain a plurality of MMTP packet data arranged in order of transmission time in the TLV packet data, and each of the plurality of MMTP packet data includes GOP packet data and key frame position information of the GOP packet data; Calculating the amount of data included in each GOP packet data based on the key frame position information; When receiving a streaming media playback command, arranging the GOP packet data in order of transmission time and then sequentially sending the GOP packet data to a buffer of a decoder, and detecting in real time whether a total amount of the GOP packet data input into the buffer is greater than a maximum load threshold of the buffer; If the total amount of data is greater than a maximum load threshold, temporarily suspending the sending of GOP packet data to the buffer and preventing GOP packet data from entering the buffer that would cause the total amount of data to exceed the maximum load threshold; and outputting in real time a video corresponding to the decoded GOP packet data in the buffer.

[0006] Furthermore, before receiving TLV packet data transferred from a sending side and including a plurality of MMTP packet data, the streaming media data transmission method further comprises: if a streaming recording command is received, determining a category of streaming media to be recorded based on the streaming recording command; The method further includes sending a streaming media transfer request to the sending side, the streaming media transfer request including the streaming media category.

[0007] Furthermore, calculating the amount of data included in each GOP packet data based on the key frame position information, The method includes calculating a difference between key frame position information of two adjacent GOP packet data, and acquiring the amount of data included in the former of the two adjacent GOP packet data.

[0008] Furthermore, the MMTP packet data further includes a transmission time of the key frame position information, and the streaming media data transmission method further comprises: Calculating the difference between the transmission times of the key frame position information of the first and last two GOP packet data in the buffer, and obtaining a theoretical time interval required to complete decoding of all GOP packet data in the buffer; The method further includes using a predetermined timer to turn on entry of the GOP packet data into a buffer after the theoretical time interval.

[0009] Furthermore, the streaming media data transmission method includes: Statisticing the actual time interval required to complete decoding of all GOP packet data in the buffer; performing a difference calculation between the theoretical time interval and the actual time interval to obtain an error value; The method further includes correcting the theoretical time interval of the GOP packet data that will next enter the buffer based on the error value, so that the sum of the theoretical time intervals of the two GOP packet data before and after entering the buffer is equal to the sum of the actual time intervals.

[0010] Further, correcting a theoretical time interval of next GOP packet data entering the buffer based on the error value includes: If the theoretical time interval is greater than the actual time interval, subtracting the absolute value of the error value from the theoretical time interval of the next GOP packet data entering the buffer; If the theoretical time interval is less than the actual time interval, adding the absolute value of the error value to the theoretical time interval of the next GOP packet data entering the buffer.

[0011] Furthermore, the streaming media data transmission method includes: When receiving a streaming media double speed playback command, determining a playback speed based on the streaming media double speed playback command; The method further includes outputting the video according to a predetermined playback rule based on the playback speed.

[0012] Furthermore, the playback rules include selecting GOP packet data to enter the buffer according to the following scheme: T1, Tn+1, T2n+1, . . . , Tmn+1, Here, T1 is the GOP packet data at the start position of the buffer, m is the maximum number of GOP packet data that has entered the buffer, and n is the playback speed.

[0013] In a second aspect, an embodiment of the present disclosure provides a streaming media data transmission device, the streaming media data transmission device comprising: a receiving module for receiving TLV packet data transferred from a sending side and including a plurality of MMTP packet data; an analysis module that analyzes the TLV packet data to obtain a plurality of MMTP packet data arranged in order of transmission time in the TLV packet data, the plurality of MMTP packet data each including GOP packet data and key frame position information of the GOP packet data; a calculation module for calculating the amount of data included in each GOP packet data based on the key frame position information; a detection module that, upon receiving a streaming media playback command, arranges the GOP packet data in order of transmission time, and then sequentially sends the GOP packet data to a buffer of a decoder, and detects in real time whether a total amount of the GOP packet data input to the buffer is greater than a maximum load threshold of the buffer; a determining module for suspending the sending of GOP packet data to the buffer when the total amount of data is greater than a maximum load threshold, and preventing the GOP packet data from entering the buffer, which would cause the total amount of data to exceed the maximum load threshold; an output module for outputting video corresponding to the decoded GOP packet data in the buffer in real time.

[0014] The streaming media data transmission device further includes a trigger module used for, when receiving a streaming recording command, determining a category of streaming media to be recorded based on the streaming recording command, and sending a streaming media transfer request including the category of streaming media to the sending side.

[0015] Furthermore, calculating the amount of data included in each GOP packet data based on the key frame position information, The method includes calculating a difference between key frame position information of two adjacent GOP packet data, and acquiring the amount of data included in the former of the two adjacent GOP packet data.

[0016] Furthermore, the MMTP packet data further includes a transmission time of the key frame position information, and the streaming media data transmission device further includes a notification module used for: calculating a difference between the transmission times of the key frame position information of the first and last two GOP packet data in the buffer to obtain a theoretical time interval required to complete decoding of all GOP packet data in the buffer; and using a predetermined timer to turn on the entry of the GOP packet data into the buffer after the theoretical time interval.

[0017] Furthermore, the streaming media data transmission apparatus further includes a correction module for calculating an actual time interval required for completing decoding of all GOP packet data in the buffer, calculating a difference between the theoretical time interval and the actual time interval to obtain an error value, and correcting the theoretical time interval of the next GOP packet data to enter the buffer based on the error value so that the sum of the theoretical time intervals of the two GOP packet data before and after entering the buffer is equal to the sum of the actual time intervals.

[0018] Further, correcting a theoretical time interval of next GOP packet data entering the buffer based on the error value includes: If the theoretical time interval is greater than the actual time interval, subtracting the absolute value of the error value from the theoretical time interval of the next GOP packet data entering the buffer; If the theoretical time interval is less than the actual time interval, adding the absolute value of the error value to the theoretical time interval of the next GOP packet data entering the buffer.

[0019] Furthermore, the streaming media data transmission device further includes a double-speed playback module, which is used to, when receiving a streaming media double-speed playback command, determine a playback speed based on the streaming media double-speed playback command, and output video according to a predetermined playback rule based on the playback speed.

[0020] Furthermore, the playback rules include selecting GOP packet data to enter the buffer according to the following scheme: T1, Tn+1, T2n+1, . . . , Tmn+1, Here, T1 is the GOP packet data at the start position of the buffer, m is the maximum number of GOP packet data that has entered the buffer, and n is the playback speed.

[0021] In a third aspect, an embodiment of the present invention provides a terminal device, the terminal device including: a processor; and a memory for storing a plurality of instructions, the processor loading the instructions to execute the above-mentioned streaming media data transmission method. Specifically, receiving TLV packet data transferred from a sender and including multiple MMTP packet data; The TLV packet data is analyzed to obtain a plurality of MMTP packet data arranged in order of transmission time in the TLV packet data, and each of the plurality of MMTP packet data includes GOP packet data and key frame position information of the GOP packet data; Calculating the amount of data included in each GOP packet data based on the key frame position information; When receiving a streaming media playback command, arranging the GOP packet data in order of transmission time and then sequentially sending the GOP packet data to a buffer of a decoder, and detecting in real time whether a total amount of the GOP packet data input into the buffer is greater than a maximum load threshold of the buffer; If the total amount of data is greater than a maximum load threshold, temporarily suspending the sending of GOP packet data to the buffer and preventing GOP packet data from entering the buffer that would cause the total amount of data to exceed the maximum load threshold; and outputting in real time a video corresponding to the decoded GOP packet data in the buffer.

[0022] The processor further loads the instructions to: When receiving a streaming recording command, determining a category of streaming media to be recorded based on the streaming recording command; Sending a streaming media transfer request to the sender, the streaming media category being included.

[0023] Furthermore, calculating the amount of data included in each GOP packet data based on the key frame position information, The method includes calculating a difference between key frame position information of two adjacent GOP packet data, and obtaining the amount of data included in the former of the two adjacent GOP packet data.

[0024] Furthermore, the MMTP packet data further includes a transmission time of the key frame position information, and the processor loads the instructions to: Calculating the difference between the transmission times of the key frame position information of the first and last two GOP packet data in the buffer, and obtaining a theoretical time interval required to complete decoding of all GOP packet data in the buffer; and further using a predetermined timer to turn on entry of the GOP packet data into a buffer after the theoretical time interval. [Effects of the Invention]

[0025] A streaming media data transmission method according to an embodiment of the present invention includes receiving TLV packet data transmitted from a transmitting side and including a plurality of MMTP packet data, analyzing the TLV packet data to obtain a plurality of MMTP packet data arranged in order of transmission time within the TLV packet data, each of the plurality of MMTP packet data including GOP packet data and key frame position information for the GOP packet data, and calculating the amount of data included in each GOP packet data based on the key frame position information, and upon receiving a streaming media playback command, arranging the GOP packet data in order of transmission time and sequentially sending them to a decoder buffer, detecting in real time whether the total amount of GOP packet data entered into the buffer exceeds a maximum load threshold of the buffer, and if the total amount of data exceeds the maximum load threshold, temporarily suspending the sending of GOP packet data to the buffer to prevent GOP packet data that would cause the total amount of data to exceed the maximum load threshold from entering the buffer, and outputting video corresponding to the decoded GOP packet data in the buffer in real time. Decoding can be sent to a vessel and decoded, Decoding The number of GOP packet data entering the device can be controlled within a reasonable range. Decoding Do not overload the appliance, Decoding This can prevent incomplete decoding of GOP packet data or data loss due to device overload, and can also prevent playback of the final output video from pausing or part of the video from being unable to be displayed. [Brief explanation of the drawings]

[0026] [Figure 1] FIG. 2 is a flow chart of a streaming media data transmission method provided in an embodiment of the present invention; [Figure 2]1 is a schematic diagram of a specific display method of a streaming media data transmission method provided in an embodiment of the present invention; [Figure 3] 1 is a schematic diagram of the configuration of a streaming media data transmission device provided in an embodiment of the present invention; [Figure 4] FIG. 2 is a schematic diagram of the configuration of a terminal device provided in an embodiment of the present invention; DETAILED DESCRIPTION OF THE INVENTION

[0027] The technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are only some of the embodiments of this application, not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this application without any creative work fall within the scope of protection of this application.

[0028] The present invention provides a streaming media data transmission method applicable to a terminal device. The terminal device may be a television, a smartphone, a tablet, etc., and the present invention is mainly applied to a television. Specifically, the streaming media data transmission method provided by the present invention transmits GOP packet data in order. Decoding can be sent to a vessel and decoded, Decoding The number of GOP packet data entering the device can be controlled within a reasonable range. Decoding Do not overload the appliance, Decoding This can prevent incomplete decoding of GOP packet data or data loss due to device overload, and can also prevent playback of the final output video from pausing or part of the video from being unable to be displayed.

[0029] MMTP (MPEG Media Transport Protocol, Motion Picture Experts Group Media Transport Protocol) is a digital container standard or format that specifies the delivery technology of encoded media data for multimedia services over various IP network environments. The delivered encoded media data includes audiovisual media data in specific units, i.e., timing data, which are synchronously decoded and displayed at specified times, and other types of data, i.e., non-timing data, which are decoded and displayed at any time based on the user's service or interaction context. When playing video using MMTP, video data is encapsulated in media processing unit (MPU) data, and the video MPUs are played back and their synchronization is controlled during video playback.

[0030] In data communication networks, most of the contents of messages transmitted and exchanged between devices are displayed in TLV format (Type Length Value, ISDB S3 encapsulation format). For example, OAM messages in EPON systems. TLV format data consists of three parts: type, length, and value. The T field represents the type of message, the L field represents the length of the message, and the V field is used to hold the contents of the message.

[0031] A GOP (Group of Pictures) represents a set of consecutive pictures, and the number of pictures in a GOP is the number of frames from the start of one I-frame (key frame) to the start of the next I-frame, i.e., the number of frames between two consecutive I-frames.

[0032] 1-2, which is a flow diagram of a streaming media data transmission method provided in an embodiment of the present invention. The streaming media data transmission method applied to a terminal device may include the following steps:

[0033] Step 101: Receive TLV packet data transferred from the sender and including multiple MMTP packet data.

[0034] This solution will be explained in detail using the example of loop playback of television programs through local recording on a television. In this embodiment, the coordination that triggers the terminal device (i.e., television) to receive TLV packet data transmitted from the sender (i.e., television station) involves configuring an operation interface (e.g., a touch screen, physical keys, or virtual keys) for user operation on the terminal device, and when the user issues a streaming record instruction on the operation interface, indicating that the user needs to record a certain television program in real time. The terminal device determines the category of streaming media to be recorded according to the streaming record instruction, sends a streaming transfer request including the streaming media category to the sender, and receives TLV packet data including multiple MMTP packet data transmitted from the sender after the streaming transfer request is responded to by the sender. Streaming Media of The category refers to a television program channel (e.g. CCTV5), and it is also possible to record only audio or only video.

[0035] Step 102: Analyze the TLV packet data to obtain a plurality of MMTP packet data arranged in order of transmission time in the TLV packet data, and each of the plurality of MMTP packet data includes GOP packet data and key frame position information of the GOP packet data.

[0036] In this embodiment, when a terminal device receives TLV packet data transmitted from the transmitting side, it analyzes the TLV packet data and obtains multiple MMTP packet data arranged in order of transmission time in the TLV packet data.

[0037] Here, each MMTP packet data includes GOP packet data and key frame position information of the GOP packet data. The GOP packet data is used to store screen information between two consecutive I-frames. The key frame position information marks each GOP packet data to distinguish each GOP packet data. Furthermore, by using the key frame position information, the amount of data included in each GOP packet data, i.e., the amount of screen information between two consecutive I-frames, is calculated. By calculating the amount of data included in each GOP packet data and controlling the number of GOP packets entering the decoder buffer according to the amount of data of the GOP packet data, the number of GOP packets entering the decoder buffer can be controlled within a reasonable range. Decoding Do not overload the appliance, Decoding This can prevent incomplete decoding of GOP packet data or data loss due to device overload, and can also prevent playback of the final output video from pausing or part of the video from being unable to be displayed.

[0038] Step 103: Based on the key frame position information, the amount of data included in each GOP packet data is calculated.

[0039] In this embodiment, the method for calculating the amount of data included in the GOP packet data is specifically as follows: The method includes calculating a difference between key frame position information of two adjacent GOP packet data, and acquiring the amount of data included in the former of the two adjacent GOP packet data.

[0040] Step 104: Upon receiving a streaming media playback command, arrange the GOP packet data in order of transmission time, and then sequentially send them to a decoder buffer. Detect in real time whether the total amount of GOP packet data entered into the buffer is greater than the maximum load threshold of the buffer.

[0041] In this embodiment, when a terminal device receives a streaming media playback instruction from a user, it uses a demultiplexer to arrange the GOP packets in transmission order so that the video output after decoding can be restored and played back in the recording order. It then sequentially sends the arranged GOP packet data to a decoder buffer to wait for decoding. At the same time, it uses middleware to detect in real time whether the total data volume of the GOP packet data stored in the buffer is greater than the maximum load threshold of the buffer, and performs corresponding operations according to the respective detection results.

[0042] Here, the maximum buffer load threshold is set to, for example, two-thirds of the maximum capacity of the buffer, which can ensure high-speed decoding of the decoder while avoiding waste of the available capacity of the buffer. In other embodiments, the maximum buffer load threshold may be set to another value, which is not limited herein.

[0043] Here, a demultiplexer (demux) is a device that carries multiple payloads and splits them into multiple streams for remote communication signal transmission. In this technical solution, the demux no longer needs to detect whether the total amount of GOP packet data stored in the buffer exceeds the maximum buffer load threshold, as in the traditional solution. In this technical solution, the demux mainly pushes GOP packet data into the decoder buffer and only pushes GOP packet data upon receiving a push command. Converting from the traditional active push method to a passive push method avoids the following problems that may occur in the demux or other base devices: for example, the demux is triggered by GOP packet data overflow and pushes excess GOP packet data to the decoder, overwriting the original incompletely decoded data, i.e., discarding the original incompletely decoded GOP packet data, ultimately affecting normal video playback.

[0044] Step 105: If the total amount of data is greater than the maximum load threshold, temporarily suspend the sending of GOP packet data to the buffer, and prevent GOP packet data from entering the buffer, which would cause the total amount of data to exceed the maximum load threshold.

[0045] In this embodiment, if it is detected that the total data volume of all GOP packet data stored in the buffer is greater than the maximum bearer threshold, the system suspends the entry of GOP packet data into the buffer and prevents GOP packet data whose total data volume exceeds the maximum bearer threshold from entering the current buffer. That is, the system suspends the entry of GOP packet data whose total data volume exceeds the maximum bearer threshold into the next buffer. If it is detected that the total data volume of all GOP packet data stored in the buffer is equal to or less than the maximum load threshold, the system allows the GOP packet data to be sent to the buffer, thereby maximizing the use of the available buffer space. Note that the above detection operation is performed before the GOP packet data enters the buffer. That is, before each GOP packet enters the buffer, the system calculates the data volume, and if the data volume does not exceed the maximum load threshold, the GOP packet is allowed to enter the buffer. If the entry of a GOP packet causes the total data volume of all GOP packet data stored in the buffer to exceed the maximum load threshold, the system suspends the detection operation, moves the GOP packet data causing the buffer overload to the next buffer, and simultaneously sends the previous GOP packet data into the buffer for decoding.

[0046] When calculating the video display time progress bar, conventional technologies usually rely on empirical values ​​to control the average amount of data transmitted per second. For streaming media data with large code rate differences, conventional technologies will cause errors in the video display recording time and playback time. At the same time, for streaming media data with large hops in the Presentation Time Stamp (PTS), the hops in the time progress bar will be large due to the non-constant push, which will ultimately cause abnormalities in the output video playback.

[0047] Through this technology, the number of GOP packets entering the decoder buffer is controlled within a reasonable range. Decoding Do not overload the appliance, DecodingThis avoids incomplete decoding of GOP packet data or data loss due to device overload, and also solves the problem of streaming media data with large code rate differences.

[0048] Step 106: Output the video corresponding to the decoded GOP packet data in the buffer in real time.

[0049] In this embodiment, when the decoding of GOP packet data in the buffer is completed, the corresponding video is immediately output, thereby realizing playback while decoding and ensuring the continuity of video playback.

[0050] In some embodiments, the MMTP packet data further includes a transmission time of the key frame position information, and the streaming media data transmission method further comprises: Calculating the difference between the transmission times of the key frame position information of the first and last two GOP packet data in the buffer, and obtaining a theoretical time interval required to complete decoding of all GOP packet data in the buffer; The method further includes using a predetermined timer to turn on entry of the GOP packet data into a buffer after the theoretical time interval.

[0051] In this embodiment, data is pushed to the demultiplexer in an orderly and accurate manner based on key frame position information and the amount of data contained in all GOP packet data entering the buffer. The entire main thread is controlled using an asynchronous message mechanism, reducing CPU consumption when it is not essential and ensuring the accuracy of timing for some function interface calls that require timing. Because buffer space is limited, files recorded on television are often several gigabytes or even tens of gigabytes in size. Therefore, a timer must be used to notify the main thread when the next data push is due. That is, after all GOP packet data in the buffer has been decoded, the main thread is notified to send the next batch of GOP packet data to the buffer.

[0052] Specifically, a difference is calculated between the transmission times of the key frame position information of the first and last two GOP packet data in the buffer to obtain the theoretical time interval required for the decoding of all GOP packet data in the buffer to be completed, and a predetermined timer is used to turn on the entry of GOP packet data into the buffer after the theoretical time interval.

[0053] Furthermore, timers include select, semaphore, and user timer. At the 100 millisecond level, the accuracy comparison between select, semaphore, and user timer is select > semaphore > user timer, but all have small errors. Because the timing methods of semaphore and select are blocking, another thread must be added to complete the timing function. Considering issues such as thread resource overhead, the user timer is preferred as the final timer.

[0054] In some embodiments, the streaming media data transmission method includes: Statisticing the actual time interval required to complete decoding of all GOP packet data in the buffer; performing a difference calculation between the theoretical time interval and the actual time interval to obtain an error value; The method further includes correcting the theoretical time interval of the GOP packet data that will next enter the buffer based on the error value, so that the sum of the theoretical time intervals of the two GOP packet data before and after entering the buffer is equal to the sum of the actual time intervals.

[0055] In this embodiment, since the timer cannot be 100% accurate, an error occurs between the theoretical time interval and the actual time interval, and the main thread cannot be notified immediately that the data of the next GOP packet has entered the buffer, which affects the smoothness of video playback.

[0056] Therefore, the actual time interval required to complete decoding of all GOP packet data in the buffer is calculated, and the difference between the theoretical time interval and the actual time interval is calculated to obtain an error value. Based on the error value, the theoretical time interval of the next GOP packet data entering the buffer is corrected so that the sum of the theoretical time intervals of the two GOP packet data before and after entering the buffer is equal to the sum of the actual time intervals. That is, the middleware detection interval time is also in units of GOPs.

[0057] Specifically, if the theoretical time interval is greater than the actual time interval, the absolute value of the error value is subtracted from the theoretical time interval of the next GOP packet data entering the buffer, and if the theoretical time interval is less than the actual time interval, the absolute value of the error value is added to the theoretical time interval of the next GOP packet data entering the buffer.

[0058] For example, if the theoretical time interval is 10 seconds and the actual time interval is 15 seconds, the time interval at which the middleware will perform the next buffer detection will be 5 seconds.

[0059] In some embodiments, the streaming media data transmission method includes: When receiving a streaming media double speed playback command, determining a playback speed based on the streaming media double speed playback command; The method further includes outputting the video according to a predetermined playback rule based on the playback speed.

[0060] In this embodiment, the video can be played back at double speed according to a predetermined playback rule, which includes that GOP packet data enters the buffer in the following manner, and GOP packet data that does not meet the following manner is discarded:

[0061] T1, Tn+1, T2n+1, . . . , Tmn+1, Here, T1 is the GOP packet data at the start position of the buffer, m is the maximum number of GOP packet data that has entered the buffer, and n is the playback speed.

[0062] Any combination of all the above-mentioned technical solutions can be adopted to form any embodiment of the present application, which will not be described here.

[0063] In a specific implementation, the present application is not limited to the execution order of each step described, and some steps may be performed in a different order or simultaneously if no conflict occurs. A streaming media data transmission method according to an embodiment of the present invention includes receiving TLV packet data transmitted from a transmitting side and including a plurality of MMTP packet data; analyzing the TLV packet data to obtain a plurality of MMTP packet data arranged in order of transmission time within the TLV packet data, each of the plurality of MMTP packet data including GOP packet data and key frame position information for the GOP packet data; calculating the amount of data included in each GOP packet data based on the key frame position information; upon receiving a streaming media playback command, arranging the GOP packet data in order of transmission time and sequentially sending the GOP packet data to a decoder buffer; detecting in real time whether the total amount of GOP packet data entered into the buffer exceeds a maximum load threshold of the buffer; if the total amount of data exceeds the maximum load threshold, temporarily suspending the sending of GOP packet data to the buffer to prevent GOP packet data that would cause the total amount of data to exceed the maximum load threshold from entering the buffer; and outputting video corresponding to the decoded GOP packet data in the buffer in real time. The GOP packet data can be sent to the decoder in an orderly manner and decoded, and the number of GOP packet data simultaneously entering the decoder can be controlled within a reasonable range, preventing the decoder from being overloaded, avoiding incomplete decoding of GOP packet data or data loss due to decoder overload, and ultimately preventing the playback of the output video from pausing or part of the video from being unable to be displayed. .

[0064] An embodiment of the present invention provides a streaming media transmission device, which may be built into a terminal device, such as a television, a smartphone, a tablet, etc.

[0065] 3 is a schematic diagram of a streaming media data transmission device provided in an embodiment of the present invention. The streaming media data transmission device 30 includes: a receiving module 31 for receiving TLV packet data transferred from a sending side and including a plurality of MMTP packet data; an analysis module 32 that analyzes the TLV packet data to obtain a plurality of MMTP packet data arranged in order of transmission time in the TLV packet data, the plurality of MMTP packet data all including GOP packet data and key frame position information of the GOP packet data; a calculation module 33 for calculating the amount of data included in each GOP packet data based on the key frame position information; a detection module 34 that, upon receiving a streaming media playback command, arranges the GOP packet data in order of transmission time, and then sequentially sends the GOP packet data to a buffer of a decoder, and detects in real time whether the total amount of the GOP packet data input into the buffer is greater than a maximum load threshold of the buffer; a determining module 35 for suspending the sending of GOP packet data to the buffer when the total amount of data is greater than a maximum load threshold, and preventing the entry of GOP packet data into the buffer that would cause the total amount of data to exceed the maximum load threshold; and an output module 36 for outputting video corresponding to the decoded GOP packet data in the buffer in real time.

[0066] In some embodiments, the streaming media data transmission device 30 further includes a trigger module used to, when receiving a streaming recording command, determine a category of streaming media to be recorded based on the streaming recording command, and send a streaming media transfer request to the sending side, the streaming media category being included in the streaming media category.

[0067] In some embodiments, the calculation module 33 is used to perform a difference calculation on the key frame position information of two adjacent GOP packet data to obtain the amount of data contained in the former of the two adjacent GOP packet data.

[0068] In some embodiments, the streaming media data transmission device 30 further includes a notification module used to perform a differential calculation on the transmission times of key frame position information of the first and last two GOP packet data in the buffer to obtain a theoretical time interval required for completing decoding of all GOP packet data in the buffer, and to use a predetermined timer to turn on the entry of the GOP packet data into the buffer after the theoretical time interval.

[0069] In some embodiments, the streaming media data transmission device 30 further includes a correction module used to calculate the actual time interval required to complete decoding of all GOP packet data in the buffer, perform a difference calculation between the theoretical time interval and the actual time interval to obtain an error value, and correct the theoretical time interval of the next GOP packet data to enter the buffer based on the error value so that the sum of the theoretical time intervals of the two GOP packet data before and after entering the buffer is equal to the sum of the actual time intervals.

[0070] In some embodiments, the correction module is used to subtract the absolute value of the error value from the theoretical time interval of the next GOP packet data entering the buffer if the theoretical time interval is greater than the actual time interval, and to add the absolute value of the error value to the theoretical time interval of the next GOP packet data entering the buffer if the theoretical time interval is less than the actual time interval.

[0071] In some embodiments, the streaming media data transmission device 30 further includes a double-speed playback module, which is used to, when receiving a streaming media double-speed playback command, determine a playback speed based on the streaming media double-speed playback command, and output video according to a predetermined playback rule based on the playback speed.

[0072] In concrete implementation, each of the above modules can be realized as an independent entity, or can be arbitrarily combined and realized as the same or multiple entities.

[0073] In the streaming media data transmission device 30 provided in the embodiment of the present invention, a receiving module 31 receives TLV packet data transferred from a sending side and including a plurality of MMTP packet data, an analyzing module 32 analyzes the TLV packet data to obtain a plurality of MMTP packet data arranged in order of transmission time in the TLV packet data, and the plurality of MMTP packet data each include GOP packet data and key frame position information of the GOP packet data, a calculating module 33 calculates the amount of data included in each GOP packet data based on the key frame position information, and a detecting module 34 detects the amount of data included in the streaming media data. When a streaming media playback command is received, the GOP packet data is arranged in order of transmission time and then sequentially sent to a buffer of the decoder, and a determination module 35 detects in real time whether the total amount of GOP packet data sent to the buffer is greater than a maximum load threshold of the buffer, and if the total amount of data is greater than the maximum load threshold, the determination module 35 suspends the sending of GOP packet data to the buffer to prevent GOP packet data that would cause the total amount of data to exceed the maximum load threshold from entering the buffer, and an output module 36 outputs video corresponding to the decoded GOP packet data in the buffer in real time. Decoding can be sent to a vessel and decoded, Decoding The number of GOP packet data entering the device can be controlled within a reasonable range. Decoding Do not overload the appliance, Decoding This can prevent incomplete decoding of GOP packet data or data loss due to device overload, and can also prevent playback of the final output video from pausing or part of the video from being unable to be displayed.

[0074] 3 is a schematic diagram of a streaming media data transmission device provided in an embodiment of the present invention. The streaming media data transmission device 30 includes a memory 120, one or more processors 180, and one or more application programs. The one or more application programs are stored in the memory 120 and configured to be executed by the processor 180. The processor 180 may include a receiving module 31, an analyzing module 32, a calculating module 33, a detecting module 34, a determining module 35, and an output module 36. For example, the structure and connection relationship of each of the above components are as follows:

[0075] The memory 120 is used to store applications and data. The application programs stored in the memory 120 include executable code. The applications may comprise various functional modules. The processor 180 executes the application programs stored in the memory 120 to perform various functional applications and data processing. The memory 120 may also include a high-speed random access memory, at least one magnetic disk storage device, a flash memory device, or a non-volatile memory such as other volatile solid-state memory devices. Correspondingly, the memory 120 may further include a memory controller that provides access to the memory 120 by the processor 180.

[0076] Processor 180 is the control center of the device, connecting each part of the entire terminal device using various interfaces and lines, executing application programs stored in memory 120, and accessing data stored in memory 120 to perform various functions of the device and process data, thereby monitoring the entire device. Optionally, processor 180 may include one or more processing cores. Preferably, processor 180 may integrate an application processor and a modulation / demodulation processor that mainly process the operating system, user interface, and application programs.

[0077] In this embodiment, the processor 180 loads executable code corresponding to the processes of one or more application programs into the memory 120 in accordance with the following instructions, and the processor 180 executes the application programs stored in the memory 120 to realize various functions.

[0078] The receiving module 31 receives TLV packet data transferred from the transmitting side and containing multiple MMTP packet data. The parsing module 32 parses the TLV packet data to obtain multiple MMTP packet data arranged in transmission time order within the TLV packet data. Each of the multiple MMTP packet data includes GOP packet data and key frame position information for the GOP packet data. The calculation module 33 calculates the amount of data included in each GOP packet data based on the key frame position information. Upon receiving a streaming media playback command, the detection module 34 arranges the GOP packet data in transmission time order and sequentially sends them to the decoder buffer. It detects in real time whether the total amount of GOP packet data entered into the buffer exceeds the maximum load threshold of the buffer. If the total amount of data exceeds the maximum load threshold, the determination module 35 suspends the sending of GOP packet data to the buffer and prevents GOP packet data that would cause the total amount of data to exceed the maximum load threshold from entering the buffer. An output module 36 outputs video corresponding to the decoded GOP packet data in the buffer in real time.

[0079] In some embodiments, the streaming media data transmission device 30 further includes a trigger module used to, when receiving a streaming recording command, determine a category of streaming media to be recorded based on the streaming recording command, and send a streaming media transfer request to the sending side, the streaming media category being included in the streaming media category.

[0080] In some embodiments, the calculation module 33 is used to perform a difference calculation on the key frame position information of two adjacent GOP packet data to obtain the amount of data contained in the former of the two adjacent GOP packet data.

[0081] In some embodiments, the streaming media data transmission device 30 further includes a notification module used to perform a differential calculation on the transmission times of key frame position information of the first and last two GOP packet data in the buffer to obtain a theoretical time interval required for completing decoding of all GOP packet data in the buffer, and to use a predetermined timer to turn on the entry of the GOP packet data into the buffer after the theoretical time interval.

[0082] In some embodiments, the streaming media data transmission device 30 further includes a correction module used to calculate the actual time interval required to complete decoding of all GOP packet data in the buffer, perform a difference calculation between the theoretical time interval and the actual time interval to obtain an error value, and correct the theoretical time interval of the next GOP packet data to enter the buffer based on the error value so that the sum of the theoretical time intervals of the two GOP packet data before and after entering the buffer is equal to the sum of the actual time intervals.

[0083] In some embodiments, the correction module is used to subtract the absolute value of the error value from the theoretical time interval of the next GOP packet data entering the buffer if the theoretical time interval is greater than the actual time interval, and to add the absolute value of the error value to the theoretical time interval of the next GOP packet data entering the buffer if the theoretical time interval is less than the actual time interval.

[0084] In some embodiments, the streaming media data transmission device 30 further includes a double-speed playback module, which is used to, when receiving a streaming media double-speed playback command, determine a playback speed based on the streaming media double-speed playback command, and output video according to a predetermined playback rule based on the playback speed.

[0085] An embodiment of the present invention further provides a terminal device, which may be a device such as a television, a smartphone, a tablet, etc.

[0086] 4 is a schematic diagram of a terminal device according to an embodiment of the present invention, which may implement the streaming media data transmission method according to the embodiment. The terminal device 1200 may be a television, a smartphone, or a tablet.

[0087] 4, terminal device 1200 may include components such as radio frequency (RF) circuitry 110, memory 120 including one or more computer-readable storage media (only one is shown in the figure), input unit 130, display unit 140, sensor 150, audio circuitry 160, transmission module 170, processor 180 including one or more processing cores (only one is shown in the figure), and power supply 190. Those skilled in the art will appreciate that the structure of terminal device 1200 shown in FIG. 4 does not constitute a limitation of terminal device 1200, and that terminal device 1200 may include more or fewer components than those shown, may combine some components, or may include a different arrangement of components.

[0088] The RF circuitry 110 is used to receive and transmit electromagnetic waves, convert electromagnetic waves to electrical signals, and communicate with a communications network or other devices. The RF circuitry 110 may include various conventional circuit elements for performing these functions, such as an antenna, a radio frequency transceiver, a digital signal processor, an encryption / decryption chip, a user identity module (SIM) card, and memory. The RF circuitry 110 may communicate with various networks, such as the Internet, a corporate intranet, a wireless network, or other devices via a wireless network.

[0089] The memory 120 may be used to store software programs and modules, such as program instructions / modules corresponding to the streaming media data transmission method in the above-described embodiments. The processor 180 executes the software programs and modules stored in the memory 120 to perform various functional applications and data processing. A vibration reminder mode may be automatically selected for streaming media data transmission depending on the current scene in which the terminal device is located. This may ensure that scenes such as meetings are not disturbed, ensure that users can sense incoming calls, and improve the intelligence of the terminal device. The memory 120 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some embodiments, the memory 120 may further include memory located remotely from the processor 180, which may be connected to the terminal device 1200 via a network. Examples of such networks include, but are not limited to, the Internet, a corporate intranet, a local area network, a mobile communication network, and combinations thereof.

[0090] The input unit 130 may be used to receive input numeric or character information and generate keyboard, mouse, joystick, optical, or trackball signal inputs related to user settings and function control. Specifically, the input unit 130 may include a touch-sensitive surface 131 and other input devices 132. The touch-sensitive surface 131, also known as a touch display or touchpad, can collect a user's touch operations on or near the touch-sensitive surface 131 (e.g., a user's operations on or near the touch-sensitive surface 131 using any suitable object or accessory, such as a finger or stylus) and drive a corresponding connected device according to a predetermined program. Alternatively, the touch-sensitive surface 131 may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch direction, detects a touch operation signal, and transmits the signal to the touch controller. The touch controller receives touch information from the touch detection device, converts it into contact coordinates, and sends them to the processor 180, where it can receive and execute commands from the processor 180. Furthermore, the touch-sensitive surface 131 can be realized using multiple types, such as a resistive type, a capacitive type, an infrared type, a surface acoustic wave type, etc. The input unit 130 may include other input devices 132 in addition to the touch-sensitive surface 131. Specifically, the other input devices 132 may include one or more of a physical keyboard, function keys (e.g., volume control keys, switch keys, etc.), a trackball, a mouse, a control lever, etc., but are not limited to these.

[0091] Display unit 140 may be used to display information entered or provided by a user, or various graphical user interfaces of terminal device 1200. These graphical user interfaces may be composed of graphics, text, icons, videos, or any combination thereof. Display unit 140 may include display panel 141. Optionally, display panel 141 may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like. Furthermore, touch-sensitive surface 131 may cover display panel 141. After touch-sensitive surface 131 detects a touch operation on or near it, the type of touch event is transmitted to processor 180 for determination. Processor 180 then provides a corresponding visual output on display panel 141 according to the type of touch event. Although touch-sensitive surface 131 and display panel 141 are shown as two independent components realizing input / output functions in FIG. 4 , in some embodiments, touch-sensitive surface 131 and display panel 141 may be integrated to realize input / output functions.

[0092] The terminal device 1200 may include at least one sensor 150, such as a light sensor, a motion sensor, or other sensor. Specifically, the light sensor may include an ambient light sensor that can adjust the brightness of the display panel 141 depending on the brightness of the ambient light, and a proximity sensor that can turn off the display panel 141 and / or the backlight when the terminal device 1200 is moved close to the ear. As one type of motion sensor, a gravity acceleration sensor detects the magnitude of acceleration in all directions (generally three axes) and can detect the magnitude and direction of gravity when stationary. This can be used for applications that recognize the orientation of the mobile phone (for switching between portrait and landscape screens, games, and magnetometer orientation calibration), vibration recognition functions (for pedometers, knocks, etc.), and the like. The terminal device 1200 may also include other sensors, such as a gyroscope, a barometer, a hygrometer, a thermometer, and an infrared sensor, but these will not be described here.

[0093] The audio circuit 160, speaker 161, and microphone 162 can provide an audio interface between the user and the terminal device 1200. The audio circuit 160 converts received audio data into an electrical signal and transmits it to the speaker 161, which then converts it into an audio signal and outputs it. Meanwhile, the microphone 162 converts collected audio signals into an electrical signal, which is received by the audio circuit 160 and then converted into audio data. The audio data output processor 180 processes the signal and transmits it to, for example, another terminal device via the RF circuit 110, or outputs the audio data to the memory 120. The audio circuit 160 may include an earplug jack for communication between a peripheral headphone and the terminal device 1200.

[0094] The terminal device 1200 can assist a user in sending and receiving e-mails, browsing web pages, and accessing streaming media via a transmission module 170 (e.g., a Wi-Fi (registered trademark) module), thereby providing the user with wireless broadband Internet access. Although Fig. 4 shows the transmission module 170, it should be understood that the transmission module 170 is not an essential component of the terminal device 1200 and may be omitted, if necessary, without changing the essence of the application.

[0095] Processor 180 is the control center of the device, connecting various components of the entire terminal device using various interfaces and lines, executing application programs stored in memory 120, and accessing data stored in memory 120 to perform various device functions and process data, thereby monitoring the entire device. Optionally, processor 180 may include one or more processing cores. In some embodiments, processor 180 may integrate an application processor and a modulation / demodulation processor. Here, the application processor mainly processes the operating system, user interface, and application programs. The modulation / demodulation processor mainly processes wireless communications. Note that the modulation / demodulation processor described above does not necessarily have to be integrated into processor 180.

[0096] Terminal device 1200 further includes a power supply 190 that provides power to the various components. In some embodiments, the power supply is logically connected to processor 180 via a power management system, which can implement functions such as managing power discharge and managing power consumption. Power supply 190 may also include optional components such as one or more DC or AC power sources, power failure detection circuitry, power converters or inverters, power status indicators, etc.

[0097] Although not shown, the terminal device 1200 may include a camera (e.g., a front camera, a rear camera), a Bluetooth module, etc., which will not be described here. Specifically, in this embodiment, the display unit 140 of the terminal device 1200 is a touchscreen display. The terminal device 1200 further includes a memory 120 and one or more programs. The one or more programs are stored in the memory 120 and configured to be executed by the one or more processors 180, and include instructions for performing the following operations:

[0098] Receives TLV packet data transferred from the sender and containing multiple MMTP packet data. The TLV packet data is analyzed to obtain a plurality of MMTP packet data arranged in order of transmission time in the TLV packet data, and the plurality of MMTP packet data each includes GOP packet data and key frame position information of the GOP packet data. The amount of data contained in each GOP packet data is calculated based on the key frame position information. When a streaming media playback command is received, the GOP packet data is arranged in order of transmission time and then sequentially sent to a decoder buffer, and it is detected in real time whether the total amount of GOP packet data entered into the buffer is greater than the maximum load threshold of the buffer. If the total amount of data is greater than the maximum load threshold, the sending of GOP packet data to the buffer is temporarily suspended, and any GOP packet data that would cause the total amount of data to exceed the maximum load threshold is prevented from entering the buffer. The video corresponding to the decoded GOP packet data in the buffer is output in real time.

[0099] In some embodiments, the program further includes a trigger instruction used to, when receiving a streaming recording instruction, determine a category of streaming media to be recorded based on the streaming recording instruction, and send a streaming media transfer request to the sending side, the streaming media transfer request including the category of streaming media.

[0100] In some embodiments, the calculation command is used to perform a difference calculation on key frame position information of two adjacent GOP packet data to obtain the amount of data contained in the former of the two adjacent GOP packet data.

[0101] In some embodiments, the program further includes a notification instruction used to perform a difference calculation on the transmission times of key frame position information of the first and last two GOP packet data in the buffer to obtain a theoretical time interval required for completing decoding of all GOP packet data in the buffer, and to use a predetermined timer to turn on the entry of the GOP packet data into the buffer after the theoretical time interval.

[0102] In some embodiments, the program further includes correction instructions used to: calculate the actual time interval required to complete decoding of all GOP packet data in the buffer; calculate the difference between the theoretical time interval and the actual time interval to obtain an error value; and correct the theoretical time interval of the next GOP packet data to enter the buffer based on the error value, so that the sum of the theoretical time intervals of the two GOP packet data before and after entering the buffer is equal to the sum of the actual time intervals.

[0103] In some embodiments, the correction command is used to subtract the absolute value of the error value from the theoretical time interval of the next GOP packet data entering the buffer if the theoretical time interval is greater than the actual time interval, and to add the absolute value of the error value to the theoretical time interval of the next GOP packet data entering the buffer if the theoretical time interval is less than the actual time interval.

[0104] In some embodiments, the program further includes a speed-up playback command used to, when receiving a streaming media speed-up playback command, determine a playback speed based on the streaming media speed-up playback command, and output video according to predetermined playback rules based on the playback speed.

[0105] An embodiment of the present invention further provides a terminal device, which may be a device such as a television, a smartphone, a tablet, etc.

[0106] The terminal device 1200 provided in this embodiment of the present invention receives TLV packet data transmitted from a transmitter and including a plurality of MMTP packet data, analyzes the TLV packet data to obtain a plurality of MMTP packet data arranged in transmission time order within the TLV packet data, each of which includes GOP packet data and key frame position information for the GOP packet data, calculates the amount of data included in each GOP packet data based on the key frame position information, arranges the GOP packet data in transmission time order upon receiving a streaming media playback command, and sequentially sends the GOP packet data to a decoder buffer, detects in real time whether the total amount of GOP packet data entered into the buffer exceeds a maximum load threshold of the buffer, and if the total amount of data exceeds the maximum load threshold, temporarily suspends the sending of GOP packet data to the buffer to prevent GOP packet data that would cause the total amount of data to exceed the maximum load threshold from entering the buffer, and outputs video corresponding to the decoded GOP packet data in the buffer in real time. Decoding can be sent to a vessel and decoded, Decoding The number of GOP packet data entering the device can be controlled within a reasonable range. Decoding Do not overload the appliance, Decoding This can prevent incomplete decoding of GOP packet data or data loss due to device overload, and can also prevent playback of the final output video from pausing or part of the video from being unable to be displayed.

[0107] An embodiment of the present invention provides a storage medium, in which a computer program is stored, and when the computer program is executed on a computer, the computer performs the streaming media data transmission method described in any of the above embodiments.

[0108] It should be understood by those skilled in the art that all or part of the flow for implementing the streaming media data transmission method described in the embodiments of the present specification can be achieved by a computer program that controls related hardware, and the computer program is stored in a memory of a terminal device and executed by at least one processor in the terminal device, and during execution, includes the embodiment flow of the streaming media data transmission method. Here, the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), a random access memory (RAM), etc.

[0109] In the streaming media data transmission method according to the embodiment of the present invention, each functional module may be integrated into one processing chip, each module may exist physically separately, or two or more modules may be integrated into one module. The integrated modules may be implemented in the form of hardware or software functional modules. When the integrated modules are implemented in the form of software functional modules and sold or used as independent products, they may be stored in a computer-readable storage medium such as a read-only memory, a magnetic disk, or an optical disk.

[0110] The above has described in detail the streaming media data transmission method, device, storage medium, and terminal device according to the embodiments of the present invention. Although the present specification uses specific examples to describe the principles and embodiments of the present application, the description of the above examples is only used to help understand the method and core idea of ​​the present application. At the same time, those skilled in the art will recognize that there may be changes in the specific embodiments and application scope based on the concept of the present application, and as stated above, the contents of the specification should not be construed as limitations on the present application.

Claims

1. A streaming media data transmission method, comprising: Receiving TLV packet data transferred from a sending side and including a plurality of MMTP packet data; The TLV packet data is analyzed to obtain a plurality of MMTP packet data arranged in order of transmission time in the TLV packet data, and each of the plurality of MMTP packet data includes GOP packet data and key frame position information of the GOP packet data; Calculating the amount of data included in each GOP packet data based on the key frame position information; Upon receiving a streaming media playback command, arranging the GOP packet data in order of transmission time and then sequentially sending the GOP packet data to a buffer of a decoder, and detecting in real time whether a total amount of the GOP packet data input into the buffer is greater than a maximum load threshold of the buffer; If the total amount of data is greater than a maximum load threshold, temporarily suspending the sending of GOP packet data to the buffer and preventing GOP packet data that would cause the total amount of data to exceed the maximum load threshold from entering the buffer; outputting in real time video corresponding to the decoded GOP packet data in the buffer.

1. A streaming media data transmission method comprising:

2. Before receiving TLV packet data transferred from the sending side and including multiple MMTP packet data, When receiving a streaming recording command, determine a category of streaming media to be recorded according to the streaming recording command, and the category of streaming media is a TV program channel; sending a streaming media transfer request to the sending side, the streaming media category being included; 2. The streaming media data transmission method according to claim 1.

3. Calculating the amount of data included in each GOP packet data based on the key frame position information performing a difference calculation on key frame position information of two adjacent GOP packet data to obtain the amount of data included in the former of the two adjacent GOP packet data; 2. The streaming media data transmission method according to claim 1.

4. The MMTP packet data further includes a transmission time of the key frame position information, calculating a difference between the transmission times of the key frame position information of the first and last two GOP packet data in the buffer, and obtaining a theoretical time interval required for completing decoding of all GOP packet data in the buffer; and using a predetermined timer to turn on entry of the GOP packet data into a buffer after the theoretical time interval.

2. The streaming media data transmission method according to claim 1.

5. Statisticing the actual time interval required to complete decoding of all GOP packet data in the buffer; performing a difference calculation between the theoretical time interval and the actual time interval to obtain an error value; and correcting the theoretical time interval of the GOP packet data that will next enter the buffer based on the error value, so that the sum of the theoretical time intervals of the two GOP packet data before and after entering the buffer is equal to the sum of the actual time intervals.

5. The streaming media data transmission method according to claim 4.

6. correcting a theoretical time interval of next GOP packet data entering the buffer based on the error value; If the theoretical time interval is greater than the actual time interval, subtracting the absolute value of the error value from the theoretical time interval of the next GOP packet data entering the buffer; if the theoretical time interval is less than the actual time interval, adding the absolute value of the error value to the theoretical time interval of the next GOP packet data entering the buffer; 6. The streaming media data transmission method according to claim 5.

7. When receiving a streaming media double speed playback command, determining a playback speed based on the streaming media double speed playback command; outputting the video according to a predetermined playback rule based on the playback speed; 2. The streaming media data transmission method according to claim 1.

8. The playback rules include selecting GOP packet data to enter the buffer according to the following scheme: T1, Tn+1, T2n+1, ..., Tmn+1, where T1 is the GOP packet data at the start position of the buffer, m is the maximum number of GOP packet data that have entered the buffer, and n is the playback speed. The streaming media data transmission method according to claim 7.

9. A streaming media data transmission device, comprising: A receiving module that receives TLV packet data transferred from a sending side and including a plurality of MMTP packet data; an analysis module that analyzes the TLV packet data to obtain a plurality of MMTP packet data arranged in order of transmission time in the TLV packet data, and the plurality of MMTP packet data each includes GOP packet data and key frame position information of the GOP packet data; a calculation module for calculating the amount of data included in each GOP packet data based on the key frame position information; a detection module that, upon receiving a streaming media playback command, arranges the GOP packet data in order of transmission time, and then sequentially sends the GOP packet data to a buffer of a decoder, and detects in real time whether a total amount of the GOP packet data input into the buffer is greater than a maximum load threshold of the buffer; a determining module for suspending the sending of GOP packet data to the buffer when the total amount of data is greater than a maximum load threshold, and preventing the entry of GOP packet data into the buffer that would cause the total amount of data to exceed the maximum load threshold; an output module for outputting video corresponding to the decoded GOP packet data in the buffer in real time; A streaming media data transmission device characterized by:

10. Further, the trigger module is used for: when receiving a streaming recording command, determining a category of streaming media to be recorded according to the streaming recording command, the category of streaming media being a TV program channel; and sending a streaming media transfer request including the category of streaming media to the sending side; 10. The streaming media data transmission device according to claim 9.

11. Calculating the amount of data included in each GOP packet data based on the key frame position information performing a difference calculation on key frame position information of two adjacent GOP packet data to obtain the amount of data included in the former of the two adjacent GOP packet data; 10. The streaming media data transmission device according to claim 9.

12. The MMTP packet data further includes a transmission time of the key frame position information, and the streaming media data transmission device: The method further includes a notification module for: calculating a difference between the transmission times of key frame position information of the first and last two GOP packet data in the buffer, to obtain a theoretical time interval required for completing decoding of all GOP packet data in the buffer; and using a predetermined timer to turn on the entry of the GOP packet data into the buffer after the theoretical time interval.

10. The streaming media data transmission device according to claim 9.

13. Statisticing an actual time interval required for completing decoding of all GOP packet data in the buffer, and comparing the theoretical time interval and the actual time interval; The method further includes a correction module for: performing a difference calculation to obtain an error value; and correcting the theoretical time interval of the GOP packet data that will next enter the buffer based on the error value, so that the sum of the theoretical time intervals of the two GOP packet data before and after entering the buffer is equal to the sum of the actual time intervals; 13. The streaming media data transmission device according to claim 12.

14. correcting a theoretical time interval of next GOP packet data entering the buffer based on the error value; If the theoretical time interval is greater than the actual time interval, subtracting the absolute value of the error value from the theoretical time interval of the next GOP packet data entering the buffer; if the theoretical time interval is less than the actual time interval, adding the absolute value of the error value to the theoretical time interval of the next GOP packet data entering the buffer; 14. The streaming media data transmission device according to claim 13.

15. a speed-up playback module for determining a playback speed based on a streaming media speed-up playback command when the streaming media speed-up playback command is received, and outputting a video according to a predetermined playback rule based on the playback speed; 10. The streaming media data transmission device according to claim 9.

16. The playback rules include selecting GOP packet data to enter the buffer according to the following scheme: T1, Tn+1, T2n+1, ..., Tmn+1, where T1 is the GOP packet data at the start position of the buffer, m is the maximum number of GOP packet data that have entered the buffer, and n is the playback speed.

16. The streaming media data transmission device according to claim 15.

17. A terminal device, a processor and a memory storing a plurality of instructions, the processor loading the instructions to: Receiving TLV packet data transferred from a sending side and including a plurality of MMTP packet data; The TLV packet data is analyzed to obtain a plurality of MMTP packet data arranged in order of transmission time in the TLV packet data, and the plurality of MMTP packet data each includes GOP packet data and key frame position information of the GOP packet data; Calculating the amount of data included in each GOP packet data based on the key frame position information; Upon receiving a streaming media playback command, arranging the GOP packet data in order of transmission time and then sequentially sending the GOP packet data to a buffer of a decoder, and detecting in real time whether a total amount of the GOP packet data input into the buffer is greater than a maximum load threshold of the buffer; If the total amount of data is greater than a maximum load threshold, temporarily suspending the sending of GOP packet data to the buffer and preventing GOP packet data that would cause the total amount of data to exceed the maximum load threshold from entering the buffer; outputting in real time video corresponding to the decoded GOP packet data in the buffer. A terminal device characterized by:

18. The processor loads the instructions and When receiving a streaming recording command, determine a category of streaming media to be recorded according to the streaming recording command, and the category of streaming media is a TV program channel; sending a streaming media transfer request to the sending party, the streaming media category being included in the request; 18. The terminal device according to claim 17,

19. Calculating the amount of data included in each GOP packet data based on the key frame position information performing a difference calculation on key frame position information of two adjacent GOP packet data to obtain the amount of data included in the former of the two adjacent GOP packet data; 18. The terminal device according to claim 17,

20. The MMTP packet data further includes a transmission time of the key frame position information, and the processor loads the instruction to: calculating a difference between the transmission times of the key frame position information of the first and last two GOP packet data in the buffer, and obtaining a theoretical time interval required for completing decoding of all GOP packet data in the buffer; using a predetermined timer to turn on entry of the GOP packet data into the buffer after the theoretical time interval; 18. The terminal device according to claim 17,

Citation Information

Patent Citations

  • Video image distributing system, video image relay apparatus, and video image relay method

    JP2009100411A

  • Transmission device, reception device, transmission method and reception method

    JP2016063534A

  • Video recording / reproducing apparatus

    JP2018129782A

  • Data receiving device and method for shortening channel switching time in digital multimedia broadcasting system

    US20070195892A1

  • Image processing apparatus and control method thereof

    US20130242186A1