Eyevinn / mp4ff

Library and tools for parsing and writing MP4 files including video, audio and subtitles. The focus is on fragmented files. Includes mp4ff-info, mp4ff-encrypt, mp4ff-decrypt and other tools.
MIT License
444 stars 81 forks source link

mp4ff-info error "stpp size mismatch in stsd: 62 - 64" in a webvtt fragmented mp4 input file #228

Closed Murmur closed 1 year ago

Murmur commented 1 year ago

mp4ff-info and wvttlister error stpp size mismatch in stsd: 62 - 64 in a webvtt fragmented mp4 input file. File was created in MP4Box cmdline tool, using other dvbreaders look ok. File is really broken(mp4box bug) or mp4ff-info cannot handle this type of webvtt.mp4 files?

https://refapp.hbbtv.org/videos/dashtest/test4/temp/temp-sub_eng.mp4

c:\temp> mp4ff-info.exe temp-sub_eng.mp4
2023/03/16 11:39:46 decode box "moov": decode box trak: decode box mdia: decode box minf: decode box stbl: decode box stsd: child stpp size mismatch in stsd: 62 - 64

c:\temp\mp4ff-wvttlister.exe temp-sub_eng.mp4
2023/03/16 11:43:43 decode moov: decode box trak: decode box mdia: decode box minf: decode box stbl: decode box stsd: child stpp size mismatch in stsd: 62 - 64
tobbee commented 1 year ago

Thanks for reporting the issue and providing an example file.

stpp is indeed supported, but the standard was wrongly interpreted for the optional fields which were not set in your asset. The issue is fixed in PR #229.

However, the stpp sample descriptor is used for TTML/EBU-TT-D/IMSC fragmented subtitles and not WebVTT so the subject of this Issue is wrong.

The fragmented WebVTT format is called wvtt and is better supported in the mp4ff library in the sense that all its actual payload boxes are supported, and there is a special tool mp4ff-wvttlister to list the text cues from wvtt files.

Murmur commented 1 year ago

Thanks, true I had to write TTML.xml subtitles fragments instead of WebVTT. mp4ff-info.exe works now fine.