nilaoda / av3a_decoder

AVS3-P3 / Audio Vivid Decoder
15 stars 2 forks source link

extractor大文件时提前结束 #3

Open raddyfiy opened 1 month ago

raddyfiy commented 1 month ago

问题出现在30多行,打印一下: if payload_unit_start_indicator == 1: print(pes_header_length,AV3A_START) print(chunk) to_skip_len = chunk[pes_header_length:].index(AV3A_START)

-------------------------结果--------------------------------------

10 b'\xff\xf2' b'G\xc1\x01\xc1&\xac\xfe\x98\x98x\xc1*/\xa3\x19\xa7\xc7\xe0\x10\x93\xa5\xa6\xb2~\x18.\xb7\xd9\xbd_\x10\xf02\xc7A\xadJ\x84\xa5[\xdf\x938,l\xd6}\xb0G\x01\x00\x14$S\xdd\xca\xd7\xb1\xee\xce\xcc\x11akF\xefn\xb8e=\xad\x95bHT\x91W\xc4/\x0c\xe9\xf0\x12\x85>\xdaM\xd3\x8aB\xd4\xaew\xc7\xfer\x8f\x9bG4b\xe1\xac-\r\xa1^\xbf\x84^\xa2u\xd6\xad\xe8\xe6\x12VWQ\x1f\x81\xdeS\xa4\x8cA\xb0,\x03\xea\xd5\x7fr\x9b\xc7\xb9eE\xfdJc\nf\x1c\xa0M\x11\xbc^\xf7P\x9d\xfd\x7f\xf6"u=;\x9c\xd7\x08\x99\xd2A#\x1d\xc0\xe8\x8f\x19\xd79\xb5\xa4\xab\xd9`\xde)z\xacZ\xe2i' Traceback (most recent call last): File "D:\CTFTool\TV\CCTV\av3a_decoder-main\es_extractor.py", line 54, in extract_pes_payload(sys.argv[1], sys.argv[2], int(sys.argv[3], 16) if sys.argv[3].startswith('0x') else int(sys.argv[3])) File "D:\CTFTool\TV\CCTV\av3a_decoder-main\es_extractor.py", line 34, in extract_pes_payload to_skip_len = chunk[pes_header_length:].index(AV3A_START) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ValueError: subsection not found

很明显因为chunk里找不到'\xff\xf2'导致的,这种如何解决? 是直接用try except跳过还是默认index=0呢,由于我不知道这chunk含义,只能麻烦作者大大修复了

nilaoda commented 1 month ago

我有空看看,可以先用支持av3a的ffmpeg来提取

ffmpeg -i input.ts -c copy export.av3a

https://github.com/nilaoda/Blog/discussions/81