为 SDT 到 ts 生成 CRC32。文件
php小编鱼仔给大家介绍一种方法,可以通过SDT到ts生成CRC-32来验证文件的完整性。CRC-32是一种常用的校验和算法,通过对文件的二进制数据进行计算,生成一个32位的校验值。这个校验值可以用于验证文件在传输或存储过程中是否发生了错误或损坏。使用这种方法,我们可以确保文件的完整性,提高数据传输的可靠性。
问题内容
我的任务是从服务器捕获视频流并将其写入ts。文件。我在尝试将 SDT 包写入 ts 时遇到了问题。我按字节手动形成数据包,但不知道如何计算 SDT 结尾的 4 个字节的 CRC-32。 (使用golang)
我尝试根据已写入SDT数据包的数据的校验和来获取CRC,但它不起作用。在逐字节解析的SDT中,CRC与我计算的不同。
解决方法
如果您谈论的是 mpeg-2,则 crc 定义为:
width=32 poly=0x04c11db7 init=0xffffffff refin=false refout=false xorout=0x00000000 check=0x0376e6e7 residue=0x00000000 name="crc-32/mpeg-2" 登录后复制