>백엔드 개발 >Golang >SDT에 대한 CRC-32를 ts로 생성합니다. 문서

SDT에 대한 CRC-32를 ts로 생성합니다. 문서

PHPz
PHPz앞으로
2024-02-10 20:20:071120검색

为 SDT 到 ts 生成 CRC-32。文件

php 편집기 Yuzai는 파일의 무결성을 확인하기 위해 SDT를 통해 CRC-32를 TS로 생성하는 방법을 소개합니다. CRC-32는 파일의 바이너리 데이터를 계산하여 32비트 검사 값을 생성하는 일반적으로 사용되는 체크섬 알고리즘입니다. 이 검사 값은 파일 전송이나 저장 중에 오류나 손상이 발생했는지 여부를 확인하는 데 사용할 수 있습니다. 이 방법을 사용하면 파일 무결성을 보장하고 데이터 전송 안정성을 향상시킬 수 있습니다.

질문 내용

내 임무는 서버에서 비디오 스트림을 캡처하여 TS에 쓰는 것입니다. 문서. TS에 SDT 패키지를 작성하는 데 문제가 있습니다. 수동으로 패킷을 바이트 단위로 구성했지만 SDT 끝에 있는 4바이트의 CRC-32를 계산하는 방법을 모르겠습니다. (golang 사용)

SDT 패킷에 쓰여진 데이터의 체크섬을 기반으로 CRC를 구해보려고 했는데 안되네요. 바이트 단위로 구문 분석한 SDT에서 CRC가 제가 계산한 것과 다릅니다.

해결 방법

mpeg-2에 대해 이야기하는 경우 crc는 다음과 같이 정의됩니다.

으아악

rfc 4326에 예가 있습니다.

으아악

마지막 4바이트는 그 앞의 모든 바이트 중 crc-32/mpeg-2(빅 엔디안 순서)입니다.

다음은 crc를 계산하는 C 코드 예입니다.

으아악

(mem等于null일 때 초기 crc 값을 반환합니다.)

위 내용은 SDT에 대한 CRC-32를 ts로 생성합니다. 문서의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제