Systems and methods for converting hypertext transfer protocol (HTTP) live streaming (HLS) streams to real-time broadcast streams that include closed captions and society of cable and telecommunications engineers (SCTE) markers
A server system comprises one or more hardware processors; memory storing computer instructions executable by the one or more hardware processors, the computer instructions when executed by the one or more hardware processors causing the server system to perform: receiving TS files of an HLS data stream; receiving VTT files containing VTT closed caption segments; converting the VTT closed caption segments to 608/708 closed captions based on the CTA 608/708 specification; generating CC-enriched TS files using the TS files and the 608/708 closed captions; encoding SCTE markers into the CC-enriched TS files to generate SCTE/CC-enriched TS files; converting the SCTE/CC-enriched TS files to a real-time broadcast stream; and preparing the real-time broadcast stream for transmission to a consumer system.
1 . A server system comprising:
one or more hardware processors;
memory storing computer instructions executable by the one or more hardware processors, the computer instructions when executed by the one or more hardware processors causing the server system to perform:
by a media processing system,
using a HyperText Transfer Protocol (HTTP) live streaming (HLS) data stream manifest to select a highest bitrate variant provided in variant playlists;
receiving Transport Stream (TS) files of an HLS data stream of the highest bitrate variant;
receiving Web Video Text to Track (VTT) files containing VTT closed caption (CC) segments;
converting the VTT closed caption segments to 608 / 708 closed captions based on the Consumer Technology Association (CTA) 608 / 708 specification;
generating CC-enriched TS files using the TS files and the 608 / 708 closed captions;
generating a single-variant reduced manifest without a VTT playlist; by a broadcasting system,
receiving the reduced manifest in real time from the media processing system;
using the reduced manifest to retrieve the CC-enriched TS files in real time;
encoding Society of Cable and Telecommunications Engineers (SCTE) markers into tags of the CC-enriched TS files in real time to generate SCTE/CC-enriched TS files;
converting the SCTE/CC-enriched TS files in real time to a real-time broadcast stream; and
preparing the real-time broadcast stream in real time for transmission to a consumer system.
2 . The server system of claim 1 , wherein the server system is distributed across a network.
3 . The server system of claim 1 , wherein generating the CC-enriched TS files includes inserting the 608 / 708 closed captions into the TS files to generate the CC-enriched TS files.
4 . The server system of claim 1 , wherein generating the CC-enriched TS files includes generating an MP4 data stream, inserting the 608 / 708 closed captions into the MP4 data stream, and converting the MP4 data stream to the CC-enriched TS files.
5 . The server system of claim 1 , wherein the real-time broadcast stream includes a Secure Reliable Transport (SRT) stream.
6 . The server system of claim 1 , wherein the real-time broadcast stream includes a Real-Time Messaging Protocol (RTMP) stream.
7 . The server system of claim 1 , wherein the real-time broadcast stream includes a single-variant HLS stream.
8 . The server system of claim 1 , wherein the receiving the TS files of an HLS data stream includes receiving the TS files from a content provider system remote from the server system.
9 . A method comprising:
by a media processing system,
using a HyperText Transfer Protocol (HTTP) live streaming (HLS) data stream manifest to select a highest bitrate variant provided in variant playlists;
receiving Transport Stream (TS) files of an HLS data stream of the highest bitrate variant;
receiving Web Video Text to Track (VTT) files containing VTT closed caption (CC) segments;
converting the VTT closed caption segments to 608 / 708 closed captions based on the Consumer Technology Association (CTA) 608 / 708 specification;
generating CC-enriched TS files using the TS files and the 608 / 708 closed captions;
generating a single-variant reduced manifest without a VTT playlist; by a broadcasting system,
receiving the reduced manifest in real time from the media processing system;
using the reduced manifest to retrieve the CC-enriched TS files in real time;
encoding Society of Cable and Telecommunications Engineers (SCTE) markers into tags of the CC-enriched TS files in real time to generate SCTE/CC-enriched TS files;
converting the SCTE/CC-enriched TS files in real time to a real-time broadcast stream; and
preparing the real-time broadcast stream in real time for transmission to a consumer system.
10 . The method of claim 9 , wherein the method is performed by a server system distributed across a network.
11 . The method of claim 9 , wherein generating the CC-enriched TS files includes inserting the 608 / 708 closed captions into the TS files to generate the CC-enriched TS files.
12 . The method of claim 9 , wherein generating the CC-enriched TS files includes generating an MP4 data stream, inserting the 608 / 708 closed captions into the MP4 data stream, and converting the MP4 data stream to the CC-enriched TS files.
13 . The method of claim 9 , wherein the real-time broadcast stream includes a Secure Reliable Transport (SRT) stream.
14 . The method of claim 9 , wherein the real-time broadcast stream includes a Real-Time Messaging Protocol (RTMP) stream.
15 . The method of claim 9 , wherein the real-time broadcast stream includes a single-variant HLS stream.
16 . The method of claim 9 , wherein the receiving the TS files of an HLS data stream includes receiving the TS files from a content provider system.