2012-05-18 2 views
0

UDP 및 UDP를 사용하여 h.264 스트림을 패킷 화하는 데 문제가 있습니다. mp4에서 비디오 avc 트랙에 FU-A 패킷 화 모드를 사용하고 있습니다. 조각화 된 유닛의 마지막 패킷에서 마커 비트를 설정할뿐만 아니라 RTP 패킷의 지속 시간 타임 스탬프를 사용하여 조각화를 올바르게 처리하는 데 시간을 보냈습니다. 누군가 아래에 표시된 mp4를 스트리밍하는 링크 아래에 게시 한 패킷을 살펴볼 수 있습니까? 패킷 화하려고하는 스트림 인 ssrc 0x1653을 사용하여 wireshark pcap에서 첫 번째 h264 RTP 스트림을 확인해야합니다. 스트림을 수신하는 비디오 폰에 스트림이 표시되지 않고 왜 문제를 해결하려고합니다. 모든 분석에 감사드립니다. 폴 내가 MP4 파일 구조를 모르지만 H.264 패킷 화를 아는 모든RTP UDP를 통해 FU-A 모드에서 h264 스트림을 패킷화할 때 문제가 발생했습니다.

http://antinori.us/h264.packets.pcap

http://antinori.us/beck-videoplayback.mp4

답변

1

첫째. H.264 패킷 화 지식을 기반으로 두 가지 문제가있는 것으로 보입니다.

조각 단위 구조 자체가 잘 보입니다. 당신의 패킷 파일 "http://antinori.us/h264.packets.pcap"에서

,
  1. 는 PPS (패킷 # 72) 정확합니다 값이 SPS와 정확히 동일하지 않습니다 수 있음 (패킷 # 71). PPS가 맞다고 가정합시다. 일반적으로 PPS는 SPS보다 짧습니다 (제 경우에는 H.264 기본 프로필과 심지어 H.264 하이 프로필뿐입니다).
  2. SDP (패킷 # 67)의 중간에 필드 "a"가 있습니다. 매개 변수 "프로필 수준-ID"로 값이 NAL IDR 그래서 값이 될 "42C01E"당신을 위해

정보 나 SPS의 사본을 제작해야 직후 처음 3 바이트를해야한다 (시퀀스 파라미터 세트 - 패킷을 # 71)

6742c01e924405017fcb080000030008000003018078b177ffffffffffffe0

첫 번째 NAL 단위 시퀀스 매개 변수 세트 바이트 (67) 이후에 "profile-level-id"에 사용 된 다음 세 바이트

관련 문제