Wireshark で YouTube ビデオをキャプチャしています。itag=34 で次のようなメタデータ情報を含む FLV ファイルがキャプチャされていることがわかります。
...K.........
onMetaData.......duration.@.y.C.....starttime..........
totalduration.@.y.C.....width.@.........height.@v....... videodatarate.@v.....|.
audiodatarate.@`.=ET8N. totaldatarate.@~.z..m+..framerate.@7...f...
bytelength.A~....... canseekontime...
sourcedata..
ここで、解像度を 480p に切り替えて itag を 35 に変更しますが、ビデオは最初から開始されませんが、次のタイムスタンプから 360p が停止し、切り替えが発生したため、FLV のこの新しいフラグメントにはメタデータ情報がありません。代わりに、次のような amf メッセージが表示されます。
.'bytelength_low_word.....)bytelength_high_word...width..V
height..`.video_duration...Y.audio_duration...F.avc.W......M@.....gM@....=..............H..
.h.. .aac.%...................timestamp..K..
ここで、FLV パーサーにフィードする新しいフラグメントのヘッダーを作成する必要がありますが、AMF メッセージ構造と、FLV パーサーの新しいヘッダーを作成する方法を理解できません。誰でも助けることができますか?