如何解析 MP4 破折号文件的 `sidx`

how to parse `sidx` of MP4 dash file

我正在尝试解析 sidx 片段以在短跑流中使用它! (我更喜欢用 javascript )

我有 sidx 范围并且我已经缓冲了它..但它都是十六进制的。 . 我正在尝试将其作为已知对象来计算段范围并将其缓冲到 sourcebuffer.

这是 sidx

0000 01dc 7369 6478 0000 0000 0000 0001
0001 5f90 0000 0000 0000 0000 0000 0025
0002 9ae6 0006 df92 9000 0000 0002 95b8
0006 df92 9000 0000 0002 96d5 0006 df92
9000 0000 0002 96d7 0006 df92 9000 0000
0002 97d2 0006 df92 9000 0000 0002 a0ae
0006 df92 9000 0000 0002 990c 0006 df92
9000 0000 0002 9814 0006 df92 9000 0000
0002 967f 0006 df92 9000 0000 0002 929c
0006 df92 9000 0000 0002 98a3 0006 df92
9000 0000 0002 96b3 0006 df92 9000 0000
0002 9715 0006 df92 9000 0000 0002 95bb
0006 df92 9000 0000 0002 956e 0006 df92
9000 0000 0002 9513 0006 df92 9000 0000
0002 9816 0006 df92 9000 0000 0002 9e21
0006 df92 9000 0000 0002 9603 0006 df92
9000 0000 0002 99aa 0006 df92 9000 0000
0002 9956 0006 df92 9000 0000 0002 9c49
0006 df92 9000 0000 0002 988e 0006 df92
9000 0000 0002 97a6 0006 df92 9000 0000
0002 9992 0006 df92 9000 0000 0002 9d00
0006 df92 9000 0000 0002 9567 0006 df92
9000 0000 0002 93bd 0006 df92 9000 0000
0002 9775 0006 df92 9000 0000 0002 99c3
0006 df92 9000 0000 0002 920f 0006 df92
9000 0000 0002 96cd 0006 df92 9000 0000
0002 00bd 0006 df92 9000 0000 0002 96f5
0006 df92 9000 0000 0002 97f2 0006 df92
9000 0000 0001 5ee9 0006 df92 9000 0000
0000 37e3 0001 b7d5 9000 0000

我必须从中得到这个:

Screenshot from mp4parser

我有一些参考资料,但我不能完全理解 ref1 ref2

解决

其实我自己找到了解决办法。感谢来自 bitparser 的@kanongil,现在我可以轻松地解析这些位了。结构与 mp4parser 相同,位长在我共享的参考资料中。你可以从我分享的链接中找到你需要的一切。