既知のヘッダーと長さを使用して、Python で生のバイナリ ファイルを解析しようとしています。
データは 6 チャンネル多重ビデオです。
ファイルは、次の規則に従ってフレームを分離します。
- バイト 1: チャネル番号を示します (例: 0xE0、0xE1、0xE2 ...)
- バイト 4 & 5: 画像データの長さを表します
- バイト 6: 長さ: 画像データ
- すべての画像チャンクが 16 バイト行の最初のバイトから始まるように、画像データの最後に 0xFF が埋め込まれます。
画像データの先頭
E0 01 00 00 D2 59 80 C1 27 3F EC BB 31 7B 3F EC
BB 31 7B 0F 9B 90 5D A8 81 AA 5F A9 C1 D2 4B B9
9D 0A 8D 1B 8F 89 44 FF 4E 86 92 AD 00 90 5B A8
画像データの終了
67 49 0B B5 BC 82 38 AE 5E 46 49 86 6A FF 24 97
69 8C 6F 17 6D 67 B5 11 C7 E5 FB E3 3F 65 1F 22
5C F3 7C D0 7C 49 2F CD 26 37 4D 40 FF FF FF FF
ソース ファイルは数 GB の大きさです。各チャネルを個別のファイルに解析する最良の方法は何ですか? また、入力名に従ってファイルを保存し、一度に複数のファイルをバッチ処理するにはどうすればよいですか?