Search

US-12627845-B2 - Methods and systems for fault tolerant video packaging

US12627845B2US 12627845 B2US12627845 B2US 12627845B2US-12627845-B2

Abstract

Disclosed are various systems and methods for fault tolerant video packaging and transmission. A video packager may receive one or more video content transmissions from a transcoder, and may identify deficient segments, packets, or other portions of the video content transmission. The video packager may also maintain or have access to a default video output that is free of the identified deficiencies. For example, the default video output can include one or more segments of video data comprising a blank or solid color frame, or a still image. The deficient data may be determined based on validation parameters. If the validation parameters are satisfied, the received data is packaged and transmitted. Otherwise, the default video output is packaged to replace deficient portions, and transmitted instead of the received video content.

Inventors

  • Neill Kipp
  • Michael Reedell
  • Blake Orth

Assignees

  • COMCAST CABLE COMMUNICATIONS, LLC

Dates

Publication Date
20260512
Application Date
20240904

Claims (20)

  1. 1 . A method comprising: receiving, by a video packager, a first portion of a video stream; determining, by the video packager, that the first portion of the video stream does not conform to one or more validation parameters; and sending, by the video packager based on the first portion of the video stream not conforming to the one or more validation parameters, a default video output instead of the first portion of the video stream.
  2. 2 . The method of claim 1 , wherein the default video output comprises one or more of a still image, a solid color video output having a silent corresponding audio track or an image associated with a content source of the video stream.
  3. 3 . The method of claim 1 , wherein determining, by the video packager, that the first portion of the video stream does not conform to the one or more validation parameters comprises comparing a stream index value of the first portion of the video stream to an expected stream index.
  4. 4 . The method of claim 1 , wherein determining, by the video packager, that the first portion of the video stream does not conform to the one or more validation parameters comprises detecting one or more corrupt packets in the first portion of the video stream.
  5. 5 . The method of claim 1 , wherein determining, by the video packager, that the first portion of the video stream does not conform to the one or more validation parameters comprises determining that a number of missing packets in the first portion of the video stream satisfies a threshold.
  6. 6 . The method of claim 1 , further comprising: receiving, by the video packager, signaling data associated with the first portion of the video stream; and sending, by the video packager, the signaling data with the default video output.
  7. 7 . The method of claim 1 , wherein determining, by the video packager, that the first portion of the video stream does not conform to the one or more validation parameters comprises determining that one or more attributes of the first portion of the video stream does not match a corresponding one or more attributes indicated in a profile used to encode the first portion of the video stream.
  8. 8 . One or more non-transitory computer-readable media storing processor-executable instructions that, when executed by at least one processor, cause the at least one processor to: receive a first portion of a video stream; determine that the first portion of the video stream does not conform to one or more validation parameters; and send, based on the first portion of the video stream not conforming to the one or more validation parameters, a default video output instead of the first portion of the video stream.
  9. 9 . The one or more non-transitory computer-readable media of claim 8 , wherein the default video output comprises one or more of a still image, a solid color video output having a silent corresponding audio track or an image associated with a content source of the video stream.
  10. 10 . The one or more non-transitory computer-readable media of claim 8 , wherein the processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to determine that the first portion of the video stream does not conform to the one or more validation parameters, cause the at least one processor to compare a stream index value of the first portion of the video stream to an expected stream index.
  11. 11 . The one or more non-transitory computer-readable media of claim 8 , wherein the processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to determine that the first portion of the video stream does not conform to the one or more validation parameters, cause the at least one processor to detect one or more corrupt packets in the first portion of the video stream.
  12. 12 . The one or more non-transitory computer-readable media of claim 8 , wherein the processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to determine that the first portion of the video stream does not conform to the one or more validation parameters, cause the at least one processor to determine that a number of missing packets in the first portion of the video stream satisfies a threshold.
  13. 13 . The one or more non-transitory computer-readable media of claim 8 , wherein the processor-executable instructions, when executed by the at least one processor, further cause the at least one processor to: receive signaling data associated with the first portion of the video stream; and send the signaling data with the default video output.
  14. 14 . The one or more non-transitory computer-readable media of claim 8 , wherein the processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to determine that the first portion of the video stream does not conform to the one or more validation parameters, cause the at least one processor to determine that one or more attributes of the first portion of the video stream does not match a corresponding one or more attributes indicated in a profile used to encode the first portion of the video stream.
  15. 15 . An apparatus comprising: one or more processors; and memory storing processor-executable instructions that, when executed by the one or more processors, cause the apparatus to: receive a first portion of a video stream; determine that the first portion of the video stream does not conform to one or more validation parameters; and send, based on the first portion of the video stream not conforming to the one or more validation parameters, a default video output instead of the first portion of the video stream.
  16. 16 . The apparatus of claim 15 , wherein the default video output comprises one or more of a still image, a solid color video output having a silent corresponding audio track or an image associated with a content source of the video stream.
  17. 17 . The apparatus of claim 15 , wherein the processor-executable instructions that, when executed by the one or more processors, cause the apparatus to determine that the first portion of the video stream does not conform to the one or more validation parameters, cause the apparatus to compare a stream index value of the first portion of the video stream to an expected stream index.
  18. 18 . The apparatus of claim 15 , wherein the processor-executable instructions that, when executed by the one or more processors, cause the apparatus to determine that the first portion of the video stream does not conform to the one or more validation parameters, cause the apparatus to detect one or more corrupt packets in the first portion of the video stream.
  19. 19 . The apparatus of claim 15 , wherein the processor-executable instructions that, when executed by the one or more processors, cause the apparatus to determine that the first portion of the video stream does not conform to the one or more validation parameters, cause the apparatus to determine that a number of missing packets in the first portion of the video stream satisfies a threshold.
  20. 20 . The apparatus of claim 15 , wherein the processor-executable instructions, when executed by the one or more processors, further cause the apparatus to receive signaling data associated with the first portion of the video stream; and send the signaling data with the default video output.

Description

CROSS REFERENCE TO RELATED PATENT APPLICATIONS This application claims priority under 35 U.S.C. § 120 to, and is a continuation of, U.S. patent application Ser. No. 17/890,932, filed on Aug. 18, 2022, which claims priority under 35 U.S.C. § 120 to, and is a continuation of, U.S. patent application Ser. No. 15/460,860, filed on Mar. 16, 2017, now U.S. Pat. No. 11,457,251, the entire contents of each of which are hereby incorporated herein by reference in their entirety for all purposes. BACKGROUND Content delivery systems utilize video streams to deliver video and/or data from an input source to a content consumer (e.g., a playback device/software). Video stream transmissions are susceptible to various errors during the transport along a transmission path from the input source to the playback device. For example, fragments or packets may be lost during transfer from a content source or transcoder to a video packager. As another example, data may become corrupted prior to receipt by a video packager. The resulting packaged video may cause a variety of problems at the playback device. For a service provider, the missing or corrupted data may cause errors that can necessitate maintenance of network components. These and other shortcomings are addressed by the methods and systems disclosed herein. SUMMARY It is to be understood that both the following general description and the following detailed description are exemplary and explanatory only and are not restrictive. Provided are methods and systems for fault tolerant video packaging. In one aspect, a transcoder in a content delivery network can receive one or more streams of video data from one or more input sources. The one or more input sources may correspond to particular channels or content providers of video data. The one or more streams of video data can comprise transmissions having segments or fragments. In an internet protocol network, the segments or fragments can be packaged in one or more packets. The transcoder can encode the one or more streams of video data according to various profiles and transmit the one or more streams of encoded video data to a video packager. Encoding the one or more streams of video data can also include segmenting the one or more streams of video data such that the one or more streams of encoded video data is divided into segments, e.g. two second segments, or segments of another predefined time duration. The video packager can perform one or more validation checks on the one or more streams of encoded video data received from the transcoder. In an aspect, the video packager may determine whether portions of the received encoded video data satisfy one or more validation parameters. For example, the video packager may confirm that a portion of received encoded video data conforms to a particular profile used by the transcoder to encode the encoded video data. The video packager may also confirm that no portions or packets of the stream of encoded video data have been corrupted, dropped, lost, or are otherwise not usable. In another aspect, the video packager can also be configured to maintain a default video output for each of the one or more streams of encoded video data received from the transcoder. The default video output can include default video data. The default video output can comprise one or more segments of video data generated by the video packager. In an aspect, default video data can comprise one or more still image frames, one or more single color frames, or other video data generated by the video packager. The default video may be encoded according to a respective profile used by the transcoder. For example, if the transcoder encodes video data according to a plurality of profiles, the video packager can generate default video output encoded according to each one of the plurality of profiles. In use, if a portion of a stream of received encoded video data satisfies one or more validation parameters, the video packager can package the received encoded video data by applying timing data or signaling data, and then output the packaged encoded video data to an origin, or source, that will serve the stream of packaged encoded video data to playback devices. If one or more validation parameters for a portion of encoded video data is unsatisfied, the video packager instead packages a portion of the default video output encoded according to the profile of the encoded video data. The packaged default video output portion is transmitted to the origin or source. As the default video output is generated and maintained by the video packager, it is not susceptible to errors introduced during transport between the one or more input sources and the transcoder, or between the transcoder and the video packager. Thus, the playback devices always receive playable video data, either packaged encoded video data originating from the input source or packaged default video output generated by the video packager. This eliminates so