1
私はバイナリを学び、Matroskaに基づいてPHPで簡単なWebMパーサーを作成しようとしています。バイナリWebMファイルからフロートを読み取る方法は?
私はunpack(format, data)
でTimecodeScale、MuxingAppm WritingAppなどを読みました。私の問題はDuration
(0x4489)がSegment Information
(0x1549a966)に達したときですfloat
を読んで、TimecodeScale
に基づいてそれを秒に変換しなければなりません:261.564s-> 00:04:21.564と私はどのようにわかりません。
これは、サンプル・シーケンスです:
`2A D7 B1 83 0F 42 40 4D 80 86 67 6F 6F 67 6C 65 57 41 86 67 6F 6F 67 6C 65 44 89 88 41 0F ED E0 00 00 00 00 16 54 AE 6B`
TimecodeScale := 2ad7b1 uint [ def:1000000; ]
MuxingApp := 4d80 string; ("google")
WritingApp := 5741 string; ("google")
Duration := 4489 float [ range:>0.0; ]
Tracks := 1654ae6b container [ card:*; ]{...}
私は(0x4489)の後にフロートを読み、261.564sを返す必要があります。
たTHX @aergistalは、それは私がまさに必要だ、あなたは(私はあなたから多くのことを学びました)私の一日保存しました – jvambio