Historischer Hintergrund: Ich arbeite gerade mit Wowza und versuche, die AMFPackets zu entschlüsseln, die von IMediaStream stammen. Die Videopakete haben einen 5-Byte-Header und das erste Paket ist die Codec-Konfiguration.
Bei meiner Überprüfung stimmt die Codec-Konfiguration mit dem Layout ISO / IEC 14496-15 AVCDecoderConfigurationRecord überein. Ich habe jedoch Probleme beim Dekodieren der Einheiten SPS und PPS .
17 00 00 00 00 01 4D 00 15 03 01 00 2F 67 4D 40 15 96 52 02 83 F6 02 A1 00 00 03 00 01 00 00 03 00 28 E0 60 03 0D 40 00 49 3E 7F 18 E3 03 00 18 6A 00 02 49 F3 F8 C7 0E D0 B1 68 90 01 00 04 68 EB 73 52
17 00 00 00 00
67 4D 40 15 96 52 02 83 F6 02 A1 00 00 03 00 01 00 00 03 00 28 E0 60 03 0D 40 00 49 3E 7F 18 E3 03 00 18 6A 00 02 49 F3 F8 C7 0E D0 B1 68 90
Angenommen, dies ist eine NAL-Einheit mit SPS-Typ: (Verwenden von ITU-T H.264 06/2011 7.3.1 NAL-Einheitensyntax )
Angenommen, die SPS-Payload folgt: (Verwenden von ITU-T H.264 06/2011 7.3.2.1.1 Sequenz-Parametersatz-Datensyntax )
Angenommen, das ist nur ein SPS: (Verwenden von ITU-T H.264 06/2011 7.3.2.1.1 Sequenzparametersatz-Datensyntax )
Es sieht so aus, als wäre es der ehemalige NAL-Unit-Header + SPS-Record, und ich bezweifle, dass es schlechte Daten sind, weil jedes eingefangene Config-Paket dasselbe ist, aber was wirft mich ab, warum ist das Verbotene 0-Bit auf 1 gesetzt?
Danke
Ich habe das Problem gefunden ... zu viel auf die 1 und 0 zu starren und du wirst eins vermissen (Wortspiel beabsichtigt).
67 4D 40 15 ...
Angenommen, es handelt sich um eine NAL-Einheit mit SPS-Typ: (Verwenden von ITU-T H.264 06/2011 7.3.1 NAL-Einheitensyntax)
Erstes Byte: 67 = 1100111
Das ist falsch, weil 1100111 nur aus 7 Bits besteht. Ich habe die Konvertierung mit MS Calculator durchgeführt und es hat die führende 0 entfernt. Die korrekte Binärdatei ist 01100111 , und dort ist das verbotene Null-Bit.
Danke an diejenigen, die versucht haben, diese Frage zu lösen.