使用Python从MPEG传输流中提取第一个188字节的数据包,但看不到同步字节

使用Python从MPEG传输流中提取第一个188字节的数据包,但看不到同步字节,python,mpeg,Python,Mpeg,我有以下Python代码: with open("my_transport_stream_file.ts", "rb") as f: data = f.read(188) print(data) 在我看来,我相信我正在从文件中提取前188个字节,即第一个传输流数据包。以下是我得到的: b'G@\x00\x10\x00\x00\xb0\r\x00\x01\xc1\x00\x00\x00\n\xe0e\x8d,\xa3\xec\xff\xff\xff\xff\xff\xff\xff

我有以下Python代码:

with open("my_transport_stream_file.ts", "rb") as f:
    data = f.read(188)
    print(data)
在我看来,我相信我正在从文件中提取前188个字节,即第一个传输流数据包。以下是我得到的:

b'G@\x00\x10\x00\x00\xb0\r\x00\x01\xc1\x00\x00\x00\n\xe0e\x8d,\xa3\xec\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'
虽然这非常令人兴奋,因为我可以看到一些数据,但我没有看到我期望看到的0x47同步字节


我遗漏了什么?

我可以在那里看到它,它是第一个字节

0x47是大写字母G的ASCII码

无论您使用什么来打印该字符串,都会按原样打印ASCII字符,但会将不可打印的值(小于0x20且大于0x7e的值)转换为十六进制或另一个转义码,如\r为0x0d,\n为0x0a


我可以在那里看到它,它是第一个字节

0x47是大写字母G的ASCII码

无论您使用什么来打印该字符串,都会按原样打印ASCII字符,但会将不可打印的值(小于0x20且大于0x7e的值)转换为十六进制或另一个转义码,如\r为0x0d,\n为0x0a


我不确定您的错误可能是什么,但是您是否检查过您是否有
同步错误
,通常当出现一些错误时,
同步位
将丢失我不熟悉的同步错误。你能提供一个简短的解释吗?另外,你会碰巧知道G@在开头是什么吗?如果不是十六进制,那会是什么?谢谢我不确定您的错误可能是什么,但您是否检查过是否存在
同步错误
,通常当出现一些错误时,
同步位
将丢失我不熟悉的同步错误。你能提供一个简短的解释吗?另外,你会碰巧知道G@在开头是什么吗?如果不是十六进制,那会是什么?谢谢谢谢你,先生!像往常一样,你对我的学习很有帮助。我非常感激:)谢谢你,先生!像往常一样,你对我的学习很有帮助。我永远感激:)