使用Python检查MPEG传输流的第一个字节是否为同步字节

问题描述 投票:0回答:1

我正在尝试使用Python查看传输流,并读取第一个字节。完成此操作后,我将检查此字节是否为0x47,以确定传输流是否为有效的。

这是我尝试过的代码:

with open("my_ts_file.ts", "rb") as file_object:
    byte = file_object.read(1)
    if byte == 0x47:
        print("Found first sync byte")
        print(byte)
    else:
        print("Not a valid Transport Stream")
        print(byte)

因此,如果第一个字节为0x47,则应显示该字节。

我在这里遇到的问题是此代码的输出显示:

Not a valid Transport Stream
b'G'

并且正如@szatmary在这里指出的:Using Python to extract the first 188-byte packet from MPEG Transport Stream but do not see the sync byte字母G实际上是0x47(十六进制)的ASCII表示形式。

我如何有效地比较基本相同的值,但是用两种不同的方式表示?

我正在尝试使用Python查看传输流,并读取第一个字节。完成此操作后,我将检查此字节是否为0x47,以确定传输流是否有效。这是...

python mpeg transport-stream
1个回答
0
投票

您需要将0x47转换为使用chr()表示的字符串:

© www.soinside.com 2019 - 2024. All rights reserved.