0

I am reading about IMSC and the docs say it should be in XML https://developer.mozilla.org/en-US/docs/Related/IMSC

Meanwhile, I have an RTMP stream with embedded caption data from the HLS manifest. When I look at the fragments, it all looks like binary to me rather than XML. I actually checked all network traffic from the browser and only see the manifest and fragment calls. In sample players online I DO see the captions getting built up and displayed, but I'm not sure how they go from Manifest -> XML.

As far as I can tell devs should be using https://developer.mozilla.org/en-US/docs/Related/IMSC/Using_the_imscJS_polyfill if they want to show live captions.

Dave Stein
  • 8,653
  • 13
  • 56
  • 104

1 Answers1

0

ISMC is carried inside fragmented mp4 files, they are not stand alone text files like WebVTT.

szatmary
  • 29,969
  • 8
  • 44
  • 57
  • Right so if I have the manifest, something must be able to parse them to get to the XML, no? That is where I am getting lost. – Dave Stein Dec 04 '19 at 16:26
  • The manifest has urls pointing to the mo4 fragments, and the mp4 fragments contain the captions. Payers know how to parse the mp4 and extract the XML. – szatmary Dec 04 '19 at 17:03
  • yeah i saw a few players handle it but i couldn't find anything for videojs with IMSC so I was hoping to parse on my end. – Dave Stein Dec 04 '19 at 20:11
  • I realized with my vendor, being embedded in the files means the XML is after the binary. Is this universal, or does being "carried inside" mean sometimes it's not simply binary followed by XML in same response? – Dave Stein Dec 05 '19 at 15:46
  • It’s a fragmented mp4. The spec is available online. You should read it. It’s not before or after. The binary around it has information on how it is to be read. – szatmary Dec 05 '19 at 16:03