CN106998478B - Offset correction method and device for current playlist of smart television - Google Patents
Offset correction method and device for current playlist of smart television Download PDFInfo
- Publication number
- CN106998478B CN106998478B CN201710153879.7A CN201710153879A CN106998478B CN 106998478 B CN106998478 B CN 106998478B CN 201710153879 A CN201710153879 A CN 201710153879A CN 106998478 B CN106998478 B CN 106998478B
- Authority
- CN
- China
- Prior art keywords
- time
- slice file
- current
- source server
- program source
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000005540 biological transmission Effects 0.000 claims abstract description 11
- 230000001360 synchronised effect Effects 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
The invention provides an offset correction method and device for a current playlist of a smart television, wherein the method comprises the following steps: acquiring actual playing time corresponding to a slice file in a current playing list, traversing the slice file in the current playing list according to the actual playing time corresponding to the slice file, and judging whether a failed slice file exists in the current playing list; and if the invalid slice file exists, deleting the invalid slice file from the current playlist, and updating the tag value of the current playlist. Therefore, the invention can synchronously play the slice file in the current play list and the slice file of the program source server, thereby correcting the content offset problem caused by transmission time delay and play time delay and correcting the play progress of different intelligent televisions.
Description
Technical Field
The invention relates to the technical field of televisions, in particular to an offset correction method and device for a current playlist of an intelligent television.
Background
With the increasing number of smart television users, the demand of the users for video functions is more and more strong. The on-demand content which is widely applied at present cannot meet the increasing video demand of users, and the video demand of the live broadcast or carousel function is gradually increased. Given that the resources of real-time media stream data (e.g., video stream) of a live broadcast or a carousel are limited, which may be generally sourced from a plurality of program source servers distributed in different geographies, when a smart tv user actively selects a certain channel to play, the smart tv carousel application will obtain the corresponding real-time media stream data from the different program source servers. Compared with the on-demand function, the live broadcast or carousel function of the smart television has higher requirements on the real-time performance of the streaming media data, and especially has higher requirements when watching real-time program contents such as sports event rebroadcasting and the like.
In the prior art, a slice file of a live video stream or a carousel video stream needs to be transmitted to a smart television via an HTTP network for playing, during which, transmission time delay generated during network transmission and playing time delay generated in abnormal playing situations such as playing pause during playing are caused. For example, two smart tvs simultaneously play the same channel, such as a real-time "football game" program. After a certain time, the playing schedules of the two televisions may deviate to different degrees, and especially the deviation degree may be larger as the playing time is prolonged. Meanwhile, the two television broadcast contents may have great deviation from the current real-time code stream of the program source server, so that the user watches the live game information no longer in real time but the game information a few minutes ago.
Therefore, the prior art cannot ensure that the current live video streams of different smart televisions and the real-time code stream of the program source server keep a precise synchronous state, so that the experience of smart television users on live video streams with high real-time requirements cannot be met.
Disclosure of Invention
In view of the above, the present invention provides an offset correction method and apparatus for a current playlist of a smart television, so as to solve the problem that a live video stream in the smart television cannot be synchronized with a program source server in the prior art.
Specifically, the invention is realized by the following technical scheme:
in one aspect, the present invention provides an offset correction method for a current playlist of a smart television, where the method includes:
acquiring actual playing time corresponding to a slice file in a current playing list;
traversing the slice files in the current play list and judging whether the current play list has invalid slice files according to the actual play time corresponding to the slice files;
and if the invalid slice file exists, deleting the invalid slice file from the current play list, and updating the tag value of the current play list.
Optionally, the obtaining of the actual playing time corresponding to the slice file in the current playlist specifically includes:
and acquiring the synchronous time difference between the intelligent television and the program source server, and configuring the sum of the current time of the intelligent television and the synchronous time difference as the actual playing time corresponding to the slice file in the current playing list.
Optionally, the obtaining of the synchronization time difference between the smart television and the program source server specifically includes:
sending a request message to a program source server, and recording the starting time of sending the request message by the intelligent television;
receiving a response message returned by the program source server aiming at the request message, and recording the end time when the smart television receives the response message;
and calculating the synchronous time difference between the intelligent television and the program source server according to the starting time and the ending time.
Optionally, the traversing the slice file in the current playlist and determining whether a failed slice file exists in the current playlist according to the actual playing time corresponding to the slice file specifically includes:
traversing a current play list sent by a program source server, wherein the current play list comprises a slice file and a timestamp of the slice file, and the timestamp is effective play time set for the slice file by the program source server;
and if the time stamp of the slice file is earlier than the actual playing time, the slice file is a failed slice file.
Optionally, the updating the tag value of the current playlist specifically includes:
and updating the EXT-X-DISCONTINUITY label of the current playlist, and performing re-initialization on the parameter value.
In another aspect, based on the same concept, the present invention further provides an offset correction apparatus for a current playlist of a smart tv, the apparatus including:
the time acquisition unit is used for acquiring the actual playing time corresponding to the slice file in the current playing list;
the failure judgment unit is used for traversing the slice files in the current play list and judging whether the failed slice files exist in the current play list according to the actual play time corresponding to the slice files;
and the file deleting unit is used for deleting the invalid slice file from the current playlist and updating the label value of the current playlist if the invalid slice file exists.
Optionally, the time obtaining unit includes:
the first subunit is used for acquiring the synchronous time difference between the intelligent television and the program source server;
and the second subunit is used for configuring the sum of the current time of the smart television and the synchronization time difference as the actual playing time corresponding to the slice file in the current playlist.
Optionally, the first subunit is specifically configured to:
sending a request message to a program source server, and recording the starting time of sending the request message by the intelligent television; receiving a response message returned by the program source server aiming at the request message, and recording the end time when the smart television receives the response message; and calculating the synchronous time difference between the intelligent television and the program source server according to the starting time and the ending time.
Optionally, the failure determining unit is specifically configured to:
traversing a current play list sent by a program source server, wherein the current play list comprises a slice file and a timestamp of the slice file, and the timestamp is effective play time set for the slice file by the program source server; and if the time stamp of the slice file is earlier than the actual playing time, the slice file is a failed slice file.
Optionally, the file deleting unit is specifically configured to:
and updating the EXT-X-DISCONTINUITY label of the current playlist, and performing re-initialization on the parameter value.
The technical scheme provided by the embodiment of the invention has the following beneficial effects:
the method and the device can acquire the actual playing time corresponding to the slice file in the current playing list, traverse the slice file in the current playing list and judge whether the current playing list has a failed slice file according to the actual playing time corresponding to the slice file; and if the invalid slice file exists, deleting the invalid slice file from the current playlist, and updating the tag value of the current playlist. The current play list comprises the time stamp set by the program source server for the slice file, so that the slice file in the current play list and the slice file of the program source server can be played synchronously according to the time stamp, the problem of content deviation caused by transmission time delay and play time delay is solved, the play progress of different intelligent televisions is corrected, and the user experience of the intelligent television user on the live network video stream with higher real-time requirement is improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a schematic diagram of an application scenario in an exemplary embodiment of the invention;
fig. 2 is a process flow diagram of an offset correction method for a current playlist of a smart tv in an exemplary embodiment of the present invention;
FIG. 3a is a flow diagram of offset correction processing for a current playlist in an exemplary embodiment of the invention;
FIG. 3b is a schematic diagram of offset correction of a current playlist in an exemplary embodiment of the invention;
fig. 4 is a hardware structure diagram of a device in which an offset correction apparatus for a current playlist of a smart tv is located according to an exemplary embodiment of the present invention;
fig. 5 is a logical block diagram of an offset correction apparatus for a current playlist of a smart tv according to an exemplary embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
Before explaining the embodiments of the present invention in detail, an application scenario of the embodiments of the present invention will be described. As shown in fig. 1, the video playing scene main device to which the offset correction method for the current playlist of the smart television is applied includes: program source server and intelligent TV, pass through Http network connection between the two, wherein:
the program source server is used for continuously providing a real-time video stream to the smart television, wherein the real-time video stream contains a playlist describing each slice file (for example, M3U8 TS slice files);
the intelligent television is used for acquiring a play list in the program source server and completing corresponding operations such as audio and video data initialization, coding and the like according to a slice file address provided by the play list so as to realize video playing. In an optional embodiment, the smart television comprises a channel proxy service module and a video playing module, wherein the channel proxy service module is configured to provide a playlist in a program source server to the video playing module of the smart television; the video playing module is used for carrying out corresponding operations such as audio and video data initialization, coding and the like according to the slice file address obtained from the play list, so as to realize video playing.
In order to solve the problems in the prior art, the invention provides an offset correction method and device for a current playlist of a smart television, which can acquire the actual playing time corresponding to a slice file in the current playlist, traverse the slice file in the current playlist according to the actual playing time corresponding to the slice file, and judge whether a failed slice file exists in the current playlist; and if the invalid slice file exists, deleting the invalid slice file from the current playlist, and updating the tag value of the current playlist. The current play list comprises the time stamp set by the program source server for the slice file, so that the slice file in the current play list and the slice file of the program source server can be played synchronously according to the time stamp, the problem of content deviation caused by transmission time delay and play time delay is solved, the play progress of different intelligent televisions is corrected, and the user experience of the intelligent television user on the live network video stream with higher real-time requirement is improved.
Referring to fig. 2, a flowchart of a method for offset correction of a current playlist of a smart tv according to an exemplary embodiment of the present invention is shown, where the method includes:
in this embodiment, the smart television may request a playlist from the program source server through the Http network, so as to obtain a current playlist sent by the program source server, where the playlist may include a tag value and a slice file, each slice file includes a timestamp corresponding to the slice file, and the timestamp is effective playing time set for the slice file by the program source server.
As an embodiment, the content of the current playlist of the present invention specifically includes:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=747800,RESOLUTION=640x480,CODECS="avc1.640014,mp4a.40.2"
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:611075
#EXTINF:10.000,
#EXT-X-PROGRAM-DATE-TIME:2016-08-17T06:38:00Z
20160607T084833-12-611075.ts
#EXTINF:10.000,
#EXT-X-PROGRAM-DATE-TIME:2016-08-17T06:38:10Z
20160607T084833-12-611076.ts
#EXTINF:10.000,
#EXT-X-PROGRAM-DATE-TIME:2016-08-17T06:38:20Z
20160607T084833-12-611077.ts
#EXTINF:10.000,
#EXT-X-PROGRAM-DATE-TIME:2016-08-17T06:38:30Z
20160607T084833-12-611078.ts
#EXTINF:10.000,
#EXT-X-PROGRAM-DATE-TIME:2016-08-17T06:38:40Z
20160607T084833-12-611079.ts
wherein, the first four rows represent coding modes; documents suffixed with ". ts" are slide documents such as "20160607T 084833-12-611075.ts," 20160607T084833-12-611076.ts, "and the like; each slice file is provided with the TIME stamp of the slice file, namely the character string at the beginning of EXT-X-PROGRAM-DATE-TIME, for example, the TIME stamp corresponding to 20160607T084833-12-611075.ts is 2016-08-17T06:38:00Z, and the TIME stamp corresponding to 20160607T084833-12-611076.ts is 2016-08-17T06:38: 10Z. Other matters in the above examples do not relate to the gist of the present invention, and are not described in detail herein.
In this embodiment, after the smart television acquires the current playlist, the actual playing time corresponding to the slice file in the current playlist may be acquired, where the actual playing time refers to the actual time when the smart television plays the slice file. In this embodiment, the current time of the smart television may be used as the actual playing time of the slice file, and in consideration of the network transmission delay between the smart television and the program source server, the time of the network transmission delay is referred to as the synchronization time difference between the smart television and the program source server, so that the sum of the current time of the smart television and the synchronization time difference may also be used as the actual playing time of the slice file. For example, the current time of the smart television is 10:10:20, and the synchronization time difference is 5 seconds, then the actual playing time is 10:10: 25.
As an embodiment, a method for acquiring a synchronization time difference between a local computer and a program source server by an intelligent television specifically includes that the intelligent television sends a request message to the program source server, and records a start time of sending the request message by the intelligent television; then receiving a response message returned by the program source server aiming at the request message, and recording the end time when the smart television receives the response message; and calculating the synchronous time difference between the intelligent television and the program source server according to the starting time and the ending time.
For example, if the local time t1 when the smart television sends the http request message to the program source server is 10:10:10, t1 is the start time; when the smart television receives the response message replied by the program source server, the local time t2 is 10:10:15, and then t2 is the end time; the synchronization time difference is the difference between the start time and the end time, i.e. t2-t1 is 5 seconds, then the synchronization time difference between the smart television and the program source server is 5 seconds. In practical applications, the time of the network transmission delay between the smart television and the program source server may be changed due to a change in the network state, and in order to obtain a more accurate synchronization time difference, the smart television may further average and calculate a final synchronization time difference according to the synchronization time differences calculated several times, or may also average and calculate a final synchronization time difference by weighting. The calculation method of the synchronization time difference is only an exemplary illustration, and is not limited in practical application.
after the time playing time corresponding to the slice file is obtained, the smart television may traverse the slice file in the current play list according to the time playing time, as an embodiment, the current play list may include the slice file and a timestamp of the slice file, where the timestamp is effective playing time set for the slice file by the program source server. The smart television can further compare the time stamp of the slice file with the actual playing time, and if the time stamp of the slice file is earlier than the actual playing time, the slice file is a failed slice file.
For example, the actual playing time of the smart television is 10:10: 25; if the time stamp of the slice file is 10:10:15, the slice file is considered to be invalid because the time stamp 10:10:15 of the slice file is earlier than the actual playing time 10:10: 25; if the time stamp of the slice file is 10:10:35, the slice file is considered valid because the time stamp of the slice file is 10:10:35 later than the actual playing time 10:10: 25.
Since the current playlist in the prior art only contains the slice files and does not have timestamps corresponding to the slice files, the smart television cannot determine the effective playing time of the slice files in the current playlist after acquiring the current playlist, and therefore the current playlist can only be played according to the local current time, which results in that whether the slice files are invalid or not cannot be determined. Each slice file in the current play list has a corresponding time stamp, which can represent the effective play time of the slice file, so that the invalid slice file can be screened out by comparing the actual play time with the time stamp, and the offset correction of the video stream is realized. In addition, as the time stamp is set for the slicing file by the program source server, and the time stamps of the same slicing file received by different intelligent televisions are the same, the invention can ensure that the synchronous playing of the video can be realized by comparing the same time stamp by different intelligent televisions.
After the current playlist is traversed to obtain the failed slice file, the failed slice file can be deleted from the current playlist. Since the playlist changes after deleting the expired slice file, the tag value of the current playlist can be updated. The method and the device can correct the playing of the live video stream by deleting the invalid slice file, thereby ensuring the synchronous playing of the live video streams of different players and the program source server.
As an embodiment, the smart television updates a tag value of a current playlist, which mainly refers to updating an EXT-X-DISCONTINUITY tag in the playlist, where the tag is used to indicate different encodings of a slice file of the current playlist and a slice file of a previous playlist, and if the slice file of the current playlist changes, parameter values of the tag, such as encoding parameters, file formats, and other parameters, need to be reinitialized.
As an embodiment, in order to better correct the current playlist, an update flag may be added to the playlist, and the attribute of the update flag includes updated and non-updated, for example, 0 may be used to indicate updated and 1 may be used to indicate non-updated. After obtaining the current playlist, the channel proxy service layer may further determine whether the tag value of the current playlist needs to be updated according to the update flag of the previous playlist; for example, if the attribute value of the update flag is 0, the update is not necessary, and if the attribute value of the update flag is 1, the update is necessary. If the current playlist needs to be updated, the channel proxy service layer may update the tag value of the current playlist, and the update method of the tag value may refer to the tag value update method in the previous embodiment. After the tag value is updated, the attribute of the update flag may be set to be updated in the current playlist.
As an embodiment, a specific method for updating a tag is as follows:
(1) playlist before tag update:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=747800,RESOLUTION=640x480,CODECS="avc1.640014,mp4a.40.2"
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:611075
#EXTINF:10.000,
#EXT-X-PROGRAM-DATE-TIME:2016-08-17T06:38:00Z
20160607T084833-12-611075.ts
#EXTINF:10.000,
#EXT-X-PROGRAM-DATE-TIME:2016-08-17T06:38:10Z
20160607T084833-12-611076.ts
#EXTINF:10.000,
#EXT-X-PROGRAM-DATE-TIME:2016-08-17T06:38:20Z
20160607T084833-12-611077.ts
#EXTINF:10.000,
#EXT-X-PROGRAM-DATE-TIME:2016-08-17T06:38:30Z
20160607T084833-12-611078.ts
#EXTINF:10.000,
#EXT-X-PROGRAM-DATE-TIME:2016-08-17T06:38:40Z
20160607T084833-12-611079.ts
assume that the first 3 slice files "20160607T 084833-12-611075.ts in the current playlist
20160607T084833-12-611076.ts, 20160607T084833-12-611077.ts "are disabled and can be removed. Because the encoding mode of the media stream is not changed, the original encoding mode is still used; but a hop label needs to be added at the updated position: # EXT-X-DISCONTINUITY, and update flag is added: True/False, or 0/1, where True or 0 may represent updated and False or 1 may represent not updated; here, by way of example only, the update flag may be replaced by other indicia and may be placed elsewhere.
The updated playlist is as follows.
(2) Tag updated playlist:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=747800,RESOLUTION=640x480,CODECS="avc1.640014,mp4a.40.2"
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:611075
#EXT-X-DISCONTINUITY
#EXTINF:10.000,True
#EXT-X-PROGRAM-DATE-TIME:2016-08-17T06:38:30Z
20160607T084833-12-611078.ts
#EXTINF:10.000,True
#EXT-X-PROGRAM-DATE-TIME:2016-08-17T06:38:40Z
20160607T084833-12-611079.ts
it can be seen that the updated playlist retains two slice files of 20160607T084833-12-611078.ts and 20160607T084833-12-611079.ts, an update mark "True" is added to the identifier at extinnf: 10.000 of the slice file to represent that the slice file is updated, and a jump tag "# EXT-X-DISCONTINUITY" is added before 20160607T084833-12-611078.ts to indicate that the slice file of the current playlist has changed to generate a slice file with a discontinuous timestamp, the parameter value of the tag needs to be reinitialized, if the jump tag is not added, a situation of flashing or instantaneous black screen due to discontinuous slice file occurs, so after the playlist is updated, the tag needs to be updated, thereby ensuring that the video is normally played.
In order to make the objects, technical solutions and advantages of the present invention more apparent, the following describes the solution of the present invention in detail with reference to fig. 3a and 3 b.
FIG. 3a is a flow chart of offset correction processing for a current playlist according to an exemplary embodiment of the present invention, which includes;
in this embodiment, the smart tv may obtain a current playlist from the program source server through an http request, where the current playlist is shown as playlist 1 in fig. 3b, where the current playlist includes a tag value and a slice file, i.e., TS files 1-6.
the smart television judges whether the current playlist needs to be updated according to the update flag of the previous playlist, for example, when the update flag is 1, the current playlist needs to be updated, and when the update flag is 0, the current playlist does not need to be updated.
when the updating is needed, the smart television can update the EXT-X-DISCONTINUITY label in the current playlist, and the parameter value of the label is initialized again.
and when the updating is not needed, directly acquiring the synchronous time difference between the intelligent television and the program source server, and taking the sum of the synchronous time difference and the current time as the actual playing time. The synchronous time difference obtained by the intelligent television is assumed to be 5 seconds, and the current local time of the intelligent television is 2017-01-20T10:10: 20; the actual playing time of the slice file of the current playlist is 2017-01-20T10:10: 25.
each slice file in the current playlist has a corresponding timestamp, for example, as shown in table 1:
slice file | Time stamp |
1.ts | 2017-01-20T10:10:00 |
2.ts | 2017-01-20T10:10:10 |
3.ts | 2017-01-20T10:10:20 |
4.ts | 2017-01-20T10:10:30 |
5.ts | 2017-01-20T10:10:40 |
6.ts | 2017-01-20T10:10:50 |
TABLE 1
And comparing the actual playing time of the slice file with the time stamp of the actual playing time, wherein the slice file with the time stamp being earlier than the actual playing time is a failure slice file. For example, the timestamps of 1.ts, 2.ts, and 3.ts are 2017-01-20T10:10:00, 2017-01-20T10:10:10, 2017-01-20T10:10:20, respectively, earlier than the time play time 2017-01-20T10:10:25, so 1.ts, 2.ts, and 3.ts are invalid; and the time stamps of other slice files are not earlier than the playing time, and the slice files are effective.
Step 306, deleting the invalid slice file, updating the tag value of the current playlist, and ending;
the smart television deletes all the invalid slice files to obtain an updated playlist, as shown in the playlist 2 in fig. 3b, where the playlist 2 includes valid slice files, i.e. 4.ts, 5.ts, and 6. ts. While updating the tag value of the playlist.
And 307, analyzing the slice file for playing, and ending.
And analyzing the effective slice file for playing for the user to watch.
Therefore, the invention can achieve the purpose of approximately synchronizing the real-time video streams of different intelligent televisions with the program source server.
Based on the same conception, the invention also provides an offset correction device for the current play list of the intelligent television, which can be realized by software or hardware or a combination of the software and the hardware. Taking software implementation as an example, the offset correction device for the current playlist of the smart television is a logical device, and is formed by reading a corresponding computer program instruction in a memory and then operating through a CPU of a device where the offset correction device is located.
Referring to fig. 4, an offset correction apparatus 500 for a current playlist of a smart tv in an exemplary embodiment of the present invention is shown, where the basic operating environment of the apparatus includes a CPU, a memory and other hardware, and from a logic level, the logical structure of the apparatus 500 is as shown in fig. 5, where:
a time obtaining unit 501, configured to obtain an actual playing time corresponding to a slice file in a current playlist;
a failure determining unit 502, configured to traverse a slice file in a current playlist according to an actual playing time corresponding to the slice file and determine whether a failed slice file exists in the current playlist;
a file deleting unit 503, configured to delete a failed slice file from the current playlist and update the tag value of the current playlist if the failed slice file exists.
Optionally, the time obtaining unit 501 includes:
the first subunit 5011 is configured to acquire a synchronization time difference between the smart television and the program source server;
the second subunit 5012 is configured to configure the sum of the current time of the smart tv and the synchronization time difference as an actual playing time corresponding to the slice file in the current playlist.
Optionally, the first subunit 5011 is specifically configured to send a request packet to a program source server, and record start time of sending the request packet by the smart television; receiving a response message returned by the program source server aiming at the request message, and recording the end time when the smart television receives the response message; and calculating the synchronous time difference between the intelligent television and the program source server according to the starting time and the ending time.
Optionally, the failure determining unit 502 is specifically configured to traverse a current playlist sent by a program source server, where the current playlist includes a slice file and a timestamp of the slice file, and the timestamp is effective playing time set for the slice file by the program source server; and if the time stamp of the slice file is earlier than the actual playing time, the slice file is a failed slice file.
Optionally, the file deleting unit 503 is specifically configured to update an EXT-X-disablement tag of the current playlist, and reinitialize a parameter value.
In summary, the present invention can obtain the actual playing time corresponding to the slice file in the current playlist, traverse the slice file in the current playlist according to the actual playing time corresponding to the slice file, and determine whether there is a failed slice file in the current playlist; and if the invalid slice file exists, deleting the invalid slice file from the current playlist, and updating the tag value of the current playlist. The current play list comprises the time stamp set by the program source server for the slice file, so that the slice file in the current play list and the slice file of the program source server can be played synchronously according to the time stamp, the problem of content deviation caused by transmission time delay and play time delay is solved, the play progress of different intelligent televisions is corrected, and the user experience of the intelligent television user on the live network video stream with higher real-time requirement is improved.
The implementation process of the functions and actions of each unit in the above device is specifically described in the implementation process of the corresponding step in the above method, and is not described herein again.
For the device embodiments, since they substantially correspond to the method embodiments, reference may be made to the partial description of the method embodiments for relevant points. The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the scheme of the application. One of ordinary skill in the art can understand and implement it without inventive effort.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like made within the spirit and principle of the present invention should be included in the scope of the present invention.
Claims (6)
1. An offset correction method for a current playlist of a smart television, the method comprising:
acquiring actual playing time corresponding to a slice file in a current playing list, specifically acquiring a synchronization time difference between an intelligent television and a program source server, and configuring the sum of the current time of the intelligent television and the synchronization time difference as the actual playing time corresponding to the slice file in the current playing list; the synchronous time difference is the time of network transmission delay between the intelligent television and the program source server;
traversing a current play list sent by a program source server, wherein the current play list comprises a slice file and a timestamp of the slice file, the timestamp is effective play time set for the slice file by the program source server, and if the timestamp of the slice file is earlier than actual play time, the slice file is a failed slice file;
and if the invalid slice file exists, deleting the invalid slice file from the current play list, and updating the tag value of the current play list.
2. The method according to claim 1, wherein the obtaining of the synchronization time difference between the smart tv and the program source server specifically comprises:
sending a request message to a program source server, and recording the starting time of sending the request message by the intelligent television;
receiving a response message returned by the program source server aiming at the request message, and recording the end time when the smart television receives the response message;
and calculating the synchronous time difference between the intelligent television and the program source server according to the starting time and the ending time.
3. The method according to any one of claims 1 to 2, wherein the updating of the tag value of the current playlist is specifically:
and updating the EXT-X-DISCONTINUITY label of the current playlist, and performing re-initialization on the parameter value.
4. An offset correction apparatus for a current playlist of a smart tv, the apparatus comprising:
the time acquisition unit is used for acquiring the actual playing time corresponding to the slice file in the current playing list;
the time acquisition unit includes:
the first subunit is used for acquiring the synchronous time difference between the intelligent television and the program source server; the synchronous time difference is the time of network transmission delay between the intelligent television and the program source server;
the second subunit is used for configuring the sum of the current time of the smart television and the synchronization time difference as the actual playing time corresponding to the slice file in the current playlist;
the system comprises a failure judgment unit and a processing unit, wherein the failure judgment unit is used for traversing a current play list sent by a program source server, the current play list comprises a slice file and a timestamp of the slice file, and the timestamp is effective play time set for the slice file by the program source server; if the time stamp of the slice file is earlier than the actual playing time, the slice file is a failed slice file;
and the file deleting unit is used for deleting the invalid slice file from the current playlist and updating the label value of the current playlist if the invalid slice file exists.
5. The apparatus according to claim 4, wherein the first subunit is specifically configured to:
sending a request message to a program source server, and recording the starting time of sending the request message by the intelligent television; receiving a response message returned by the program source server aiming at the request message, and recording the end time when the smart television receives the response message; and calculating the synchronous time difference between the intelligent television and the program source server according to the starting time and the ending time.
6. The apparatus according to any one of claims 4 to 5, wherein the file deleting unit is specifically configured to:
and updating the EXT-X-DISCONTINUITY label of the current playlist, and performing re-initialization on the parameter value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710153879.7A CN106998478B (en) | 2017-03-15 | 2017-03-15 | Offset correction method and device for current playlist of smart television |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710153879.7A CN106998478B (en) | 2017-03-15 | 2017-03-15 | Offset correction method and device for current playlist of smart television |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106998478A CN106998478A (en) | 2017-08-01 |
CN106998478B true CN106998478B (en) | 2020-12-11 |
Family
ID=59431053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710153879.7A Active CN106998478B (en) | 2017-03-15 | 2017-03-15 | Offset correction method and device for current playlist of smart television |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106998478B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI690878B (en) * | 2018-11-02 | 2020-04-11 | 緯創資通股份有限公司 | Synchronous playback system and synchronous playback method |
CN111866553B (en) * | 2020-07-24 | 2022-07-08 | 聚好看科技股份有限公司 | Media information calibration method and server |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104683884A (en) * | 2015-02-09 | 2015-06-03 | 网宿科技股份有限公司 | Live method and system for stream medium |
CN105657578A (en) * | 2015-10-29 | 2016-06-08 | 乐视致新电子科技(天津)有限公司 | Live broadcast method, system and client based on HLS protocol |
CN106454493A (en) * | 2016-10-20 | 2017-02-22 | 青岛海信电器股份有限公司 | Method for inquiring currently played television program information and smart TV |
CN106454553A (en) * | 2016-11-15 | 2017-02-22 | 深圳市视维科技有限公司 | A precise time delay live video network transmission control method |
CN106470352A (en) * | 2015-08-18 | 2017-03-01 | 中兴通讯股份有限公司 | Direct broadcast band player method, apparatus and system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752669B (en) * | 2011-04-19 | 2015-09-16 | 中国电信股份有限公司 | The transfer processing method of multichannel real time flow medium file and system, receiving system |
CN103634610B (en) * | 2012-08-24 | 2018-02-16 | 中兴通讯股份有限公司 | live content distribution system and method |
CN104581190B (en) * | 2014-12-29 | 2018-08-31 | 上海昭宁信息科技有限公司 | A kind of multi-screen synchronous method and system |
-
2017
- 2017-03-15 CN CN201710153879.7A patent/CN106998478B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104683884A (en) * | 2015-02-09 | 2015-06-03 | 网宿科技股份有限公司 | Live method and system for stream medium |
CN106470352A (en) * | 2015-08-18 | 2017-03-01 | 中兴通讯股份有限公司 | Direct broadcast band player method, apparatus and system |
CN105657578A (en) * | 2015-10-29 | 2016-06-08 | 乐视致新电子科技(天津)有限公司 | Live broadcast method, system and client based on HLS protocol |
CN106454493A (en) * | 2016-10-20 | 2017-02-22 | 青岛海信电器股份有限公司 | Method for inquiring currently played television program information and smart TV |
CN106454553A (en) * | 2016-11-15 | 2017-02-22 | 深圳市视维科技有限公司 | A precise time delay live video network transmission control method |
Also Published As
Publication number | Publication date |
---|---|
CN106998478A (en) | 2017-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102484054B1 (en) | Establishment and use of temporal mapping based on interpolation using low-rate fingerprinting to facilitate frame-accurate content modification | |
US10820065B2 (en) | Service signaling recovery for multimedia content using embedded watermarks | |
US9426196B2 (en) | Live timing for dynamic adaptive streaming over HTTP (DASH) | |
CN106454493B (en) | Currently playing TV program information querying method and smart television | |
US8402494B1 (en) | Switching content | |
US10715571B2 (en) | Self-adaptive streaming medium processing method and apparatus | |
US20110264727A1 (en) | Method and apparatus for playing live content | |
US11496781B2 (en) | Advanced preparation for content revision based on expected latency in obtaining new content | |
US10979477B1 (en) | Time synchronization between live video streaming and live metadata | |
JP2010171697A (en) | Video delivering system, video delivering device, and synchronization correcting processing device | |
TWI788701B (en) | Methods for using in-band metadata as a basis to access reference fingerprints to facilitate content-related action and media client | |
CN105723723A (en) | Correlating timeline information between media streams | |
US11323768B2 (en) | Reducing latency during service change and improving robustness in advanced television systems committee (ATSC) 3.0 system | |
CN113852824A (en) | Video transcoding method and device, electronic equipment and storage medium | |
CN115119009B (en) | Video alignment method, video encoding device and storage medium | |
CN106998478B (en) | Offset correction method and device for current playlist of smart television | |
EP2479984A1 (en) | Device and method for synchronizing content received from different sources | |
CN108271040B (en) | Method and device for playing video | |
US20220182692A1 (en) | Use of Video Frame Format as Basis for Differential Handling of Automatic Content Recognition and Associated Action | |
KR102401372B1 (en) | Method and apparatus for inserting content received via heterogeneous network |
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 | ||
CB02 | Change of applicant information |
Address after: 266555 Qingdao economic and Technological Development Zone, Shandong, Hong Kong Road, No. 218 Applicant after: Hisense Visual Technology Co., Ltd. Address before: 266555 Qingdao economic and Technological Development Zone, Shandong, Hong Kong Road, No. 218 Applicant before: QINGDAO HISENSE ELECTRONICS Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |