2010-11-23 9 views
2

내가 입력으로 PCAP 파일을 소요하고 나중에는 FFmpeg 인코딩 할 수있는 원시 .h264 파일을 생성하고, 마지막으로 VLC 플레이어를 재생할 수 있습니다 videosnarf 같은 도구를 시도했습니다. 그러나 videosnarf는 h264 데이터 만 처리 할 수 ​​있습니다.pcap 파일에서 H263/H264 데이터를 검색하는 방법.

은 내가 PCAP 파일에서 H263 데이터를 덤프 할 수있는 유사한 도구를 찾을 수 없습니다입니다. wireshark에서 h263 스트림을 디코딩하려고 시도했지만 지금까지 행운이 없었습니다.

나는 펄/Python으로 프로그램 할 수 있지만, 나는 내가 전에 PCAP 캡처 파일을 재생하지 않은 등의 PCAP 파일에서 H263 원시 데이터를 검색하기 위해 수행 정확히 어떤 단계 모른다.

+0

정말 이상하게 보입니다. 왜 그게 필요할거야? 기회는 존재하지 않는 틈새이기 때문입니다. 그러나 근원은 열려있다! 필요한 경우, 추가하거나 다른 사람을 찾아보아야합니다. – OmnipotentEntity

+0

잘 내가 pcap에서 비디오 데이터를 검색하려고하는 유일한 이유는 전송 중에 사용되는 참조 비디오에 비해 수신 측에서 비디오 전송의 품질을 아는 것입니다. – sjd

답변

1

SJD, 당신은 트위스트 파이썬 라이브러리를 사용하여 스니퍼 (Twisted)이 당신이 아니라 당신이 어떤 포트를 듣고 트위스트를 말할 수있는 네트워크를 통해 들어오는 원시 데이터를 캡처 할 수 것를 설정하십시오 (또는 청취 할 수 있습니다 모두) 및 파일을 덤프 할 위치 등을 지정하고 새 파일을 사용하여 무언가를 수행합니다 (예 : ffmpeg로 보내서 .mov로 저장을 테스트합니다).

당신이 과정의 단계를 자동화하지 않는, 그래서는 FFmpeg의 .sdp 파일을 생성해야

는, 정말 짜증나. 나는 현재 자동화 부분에서 일하고 있지만 동시에 많은 노력을 기울이고있다.

나는 FFMPEG와 루비 EventMachine을 사용하고 SIP에서 .sdp하고 있습니다.

희망이 조금 도움이됩니다.

+0

멋진 감사, 좋은 생각 나는 그것을 시도 할 수 있습니다. – sjd

+1

@sjd 코멘트 주셔서 감사합니다. 한 가지 방법은 pcap 파일에서 RTP 헤더를 제거하는 것입니다. h263을 사용하는 것은 쉽습니다. 어떤 작업을하는지 알아야합니다. RTP 헤더를 스트라이핑하고 0000을 페이로드 데이터에 추가하여 원시 h263 프레임 데이터를 가져올 수 있습니다. (rtp 패킷 화는 프레임에서 네 개의 0을 제거해야합니다.) 여기 RTP 패킷 용 rtp 헤더 파서가 있습니다 (wireshark로 쉽게 얻을 수 있습니다). https://github.com/newfront/dailyhacking/blob/master/source/media/rtp_header_parser.rb. (루비 코드지만, 파이썬으로 번역하기가 어렵지 않아야 함). – newfront

관련 문제