0

mpegts.c ( libavformat ) の関数handle_packet()で、188 より小さい正の値の位置を取得しました。これにより、アサーション エラーが発生しました。この問題の理由と解決策を教えてください。

pos = avio_tell(ts->stream->pb); // pos giving +ve value less than 188
av_assert0(pos >= TS_PACKET_SIZE). // which cause assertion issue
4

1 に答える 1

1

いくつかの原因が考えられますが、主に次のとおりです。

  • TS ファイルにゴミが含まれています
  • プロセス中に非同期化が発生しました

何が起こっても、次のトランスポート パケット同期バイトに到達するまで、バイトをスキップすることで同期を取得できます。0x47

于 2014-06-06T08:04:23.557 に答える