Closed bbgdzxng1 closed 3 months ago
The text you refer to never passed ballot, and 2nd edition of 14496-30 only indicates that carriage of embedded CC is possible, but does not mandate any signaling - instead it relies on the manifest (for dash/hls) or higher level info.
So no implementation on our side for this.
regarding your question of box patching, as you noticed writing the patch for a complete track is a bit tricky. My approach would be to add an empty track (e.g. from an existing DASH init segment) and write the box patch against this new track.
I hope to add a reference within an MP4/ISOBMFF file to a CTA-608/708 caption track contained in the video SEI side data, in accordance with ISO/IEC 14496-30:2018/Amendment 1:2022, Part 30: Timed text and other visual overlays in ISOBMFF.
csei
tag.ccea
, for CEA-608 and CEA-708 where "CEA-608 and CEA-708". Due to paywall, and older public version is available here.csei
data is analogous to thecaption_service_descriptor()
in ATSC A/65 MPEG-2 Transport Streams.clcp:c608
box in an Apple Quicktime MOVCMAF ISO/IEC 23000-19 states that ISOBMFF ISO/IEC 14496-30 Amendment 1 is required.
ISO/IEC 14496-30 Amendment 1 states that referencing 608/708 data contained within the SEI data of a video track requires:
Most of the excellent MP4Box examples at https://github.com/gpac/gpac/wiki/Subtitling-with-GPAC relate to importing a subtitle track from an external file, rather than cross-referencing existing CTA-608/708 data contained in a video track's SEI messages. I have tried MP4Box's builtin
-add 'self':hdlr='sbtl':lang='eng'
options, but it looks like the standard command line tool does not support ISO/IEC 14496-30:2018/Amendment 1:2022.I assume that since it is not directly supported through command-line options, I need to use a boxpatch/patch file. Assuming an MP4 containing a single video track, how can I use boxpatch/patch to add the following to the structure?
In my case, I would like to add CTA-708, service number 1, easy_reader false.
As someone inexperienced with MP4Box patch files, I hope someone more familiar with box structures can point me in the right direction to how the above quotation from ISO/IEC 14496-30:2018/Amendment 1:2022 can be mapped within an MP4Box Patch File, for compliance with both ISO/IEC 14496-30:2018/Amendment 1:2022 and CMAF Appendix A.5 Table 11.
Unfortunately, I do not have the experience to understand which of the above boxes map to which nodes in a patch file in order to produce a compliant file. I hope that readers will appreciate that I have researched and cross-referenced the standards, however I am suffering from lack of experience with MP4Box patch file structure.
It seems that only a few ISOBMFF implementations utilize the standards-compliant boxes defined by ISOBMFF ISO/IEC 14496-30 Amendment 1 and CMAF ISO/IEC 23000-19:2020, Annex A.4/5, Table 11. Of course, in DASH/WAVE, it would be expected that the manifest would declare this same data to the player through the
<Accessibility schemeIdUri="urn:scte:dash:cc:cea-608:2015">
tag, but the Box data should still be accurate for unsegmented ISOBMFFs and standalone media segments where no manifest is guaranteed to be present.It seems that an MP4Box Patch File would be the appropriate tool to set these boxes in the ISOBMFF.
Can the above be achieved with a MP4Box patch file? And if so, could someone point me in the right direction to at least get some of the boxes accurate. My experience is more in the MPEG-2 TS / HLS domain.
Many thanks in advance.
System Information