0

mpegts.c ( libavformathandle_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 回答