kvm000
Separate from DVB, the old PAL OP42/47 teletext payload gets inserted into the MPEG-TS using SMPTE 2038[1] then when decoded, it would go into regular ancillary data of the uncompressed stream per ITU-R BT.1120-7[2].
The broadcast industry really loves standards[3].
[1] https://ieeexplore.ieee.org/document/7290549
[2] https://www.freetv.com.au/wp-content/uploads/2019/08/OP-42-C...
In that context, “teletext” just works the same as the North American 608 captions and has nothing to do with the older full-screen data stuff. There are no restrictions around authority for “teletext equipment” - for those channels they actually use systems fully based in AWS with the playout engine running on an EC2 instance so all software-only to generate the single MPEG transport stream with video/graphics + audio + captions + subtitles.
It’s also common to send a DVB subtitle multiplex that has a number of languages (up to 20+) embedded in the same signal.
The requirements are quite high in Canada[1] and have been expanding in the US as well[2].
The company I work for makes products for broadcast customers, around asset management, linear playout automation, and the playout servers that insert the captions (from files or live data sources) so working out how that all happens is part of every big project.
[1] https://crtc.gc.ca/eng/info_sht/b321.htm [2] https://www.fcc.gov/consumers/guides/closed-captioning-telev...
I don’t know too much about it but I had read recently that ASL sign language can be thought of as a different language, rather than a direct equivalent to text subtitles[2].
[1] https://eegent.com/icap [2] https://imanyco.com/closed-captions-and-sign-language-not-a-...
In UK/Europe the older/simpler format would be OP-42/OP-47 Teletext[3] which can be used for captions instead of the full-screen data pages, or DVB Subtitles[4], which get into more uses around “subtitles” in terms of language translation, rather than only the “closed caption” use case where it matches the content language. DVB subtitles can be sent as pre-rendered bitmaps or as data for client-side rendering.
[1] https://en.wikipedia.org/wiki/EIA-608 [2] https://en.wikipedia.org/wiki/CTA-708 [3] https://en.wikipedia.org/wiki/Teletext [4] https://en.wikipedia.org/wiki/Subtitles
Low-latency is also important for when the SDN system initiates a route to switch since it generally needs to happen according to a tight broadcast playlist schedule and we found that with SDN (central controller telling all the switches what to do) rather than IGMP type system (multicast subscribe with switches doing a lot more work parsing packets) is the best approach to handling very large volumes of routes and having them take effect in a low-latency predictable way.
We've been deploying larger and larger systems based around our hardware IP switch fabrics (EXE/IPX) and using our SDN controller (https://evertz.com/solutions/magnum) to manage network topology for systems over 150,000 multicast flows with television broadcast critical timing/latency on stream switching.
We're hiring! https://evertz.com/about/careers/
There are valid use cases for both hardware solutions where appropriate, and software solutions for other use cases. There are many low latency use cases where crazy requirements are still actual requirements.
There are a lot of scenarios with massive scale on the back-end, with lots of streams managed as part of the production process ahead of delivery to consumers... We have an IP video router (https://evertz.com/products/EXE-VSR) that has 2,304 10Gbps ports (moving to 25Gbps per port), each of which can do 6x fully uncompressed SMPTE 2110 video (1080i 29.97fps) flows in each direction, with a 46Tbps non-blocking back-plane so the scale can get a bit crazy.
The full scale back-end stuff is pretty invisible from the consumer side. Eventually that internal infrastructure feeds into distribution encoders that produce lower bitrate streams for cable/sat/web distribution (for real-time events, with separate file delivery for VOD platforms like iTunes & Netflix)
With IP, it's usually a software defined network model, along with some IGMP components for controlling video flow.
So the clients (software or control panels) would send a request to the routing orchestration system to request a route to send multicast flows (SMPTE 2110, separate multicast for video, audio streams, ancillary data) from a source to a destination, same as with a baseband router. With IP, the orchestration layer also drives the receiving device to join the multicast explicitly if it isn't IGMP based.
This is our SDN orchestration; https://evertz.com/solutions/magnum
(we're hiring!)
I write 100-200 page functional spec documents at a vendor for large scale file based broadcast systems (10-300 linux servers) for a number of customer projects, and have been trying to get away from word since it's slow at that scale and I don't want to spend any time on formatting, and want to get to a templated approach for the others on my team with a consistent output.
Currently I'm using markdown with some CSS and just use Marked2 (Mac) to export but don't have it all worked out yet. Markdown + LaTeX + Pandoc is probably better and more powerful or precise than using CSS. I don't use equations but I do use tables a lot and I'm using multimarkdown ascii ones for now (with a nice atom.io auto-format plugin to make it easy to author) and some code blocks with syntax highlighting.
The idea is to have a folder per customer/project spec, with a consistent structure of one .md file for the body and a local sub-folder for images (svg workflow(bpmn)/system diagrams mostly, some jpgs for logos, screenshots). The folder would be in a local git repo so we can commit changes and export diffs to see what changed between versions and have multiple people work on the same doc with tracking.
I'm using "invisible links" for in-line comments at the bottom of each section that are added while going though it with the customer since it usually takes 5-30 versions before it's finalized and signed off. Those keep a record of discussion with the customer and don't get rendered out in the final output. Also using standard set of status tags (@outstanding, @done, @info) within the comment text.
Ex; `[Note: <initials> YYY-MM-DD]: # (comment text @status-tag)`.
Going through the in-progress spec with customers and typing notes inline has been much better than word's commenting system and using markdown makes it easy for the customer to read without extraneous formatting code in-line.
Currently using a multimarkdown header for variables; customer name, project name, author, author email, spec version, etc., but I might move that to a separate YAML file.
Ideally, to make each version of the spec it would be markdown through LaTeX/Pandoc to render a PDF with;
- Title page generated automatically using variables (multi markdown header or separate YAML) - Automatic Table of Contents - Automatic header numbering (h1-h6) - Automatic header/footer using variables & auto page numbering - Ability for basic control of image size; 80% width (svg), original pixel resolution (pngs), etc., positioning. - Ability to have global paragraph numbering in sidebar that the customer can reference while discussions are ongoing, and turn that off for final output to PDF.
I'm going to spend time with the examples from the original link to try to work that all out but any suggestions or tips would be greatly appreciated. I'd be happy to post an example of the final template and write-up of the approach on GitHub.