2013-12-10 2 views
0

ffmpeg를 사용하여 rtp 프로토콜로 도착하는 여러 실시간 비디오 스트림을 캡처하고 싶습니다. 녹음을 시작할 때 ffmpeg <command line parameters> 명령을 실행하면 연결이 구축되고 실제 녹음이 시작될 때까지 시간이 걸립니다. 경우에 따라 2 초 이상 걸릴 수 있으므로 재생시 일정한 시간 차이가 발생할 수 있습니다.ffmpeg가 동기식으로 캡처 됨

ffmpeg에서 실제로 기록 된 첫 번째 프레임의 시간을 포함하는 정보를 어떻게 추출 할 수 있습니까? 소스를 편집하지 않고 ffmpeg로 할 수 없다면 (다른 이유로 피하고 싶습니다), 비슷한 멀티 플랫폼 오픈 소스 도구를 사용할 수 있습니까?

답변

0

노력이 필요하지 않습니다. live555와 같은 것을 사용하여 스트림을 캡처하십시오. 모든 소스는 ntp를 사용하여 단일 클럭에 동기화해야하며 rtp 타임 스탬프는 다양한 스트림을 동기화하기 위해 수신단에서 사용될 수 있습니다. 이것은 사소하지 않고 화상 회의 시스템에 사용됩니다. 나는 그것의 자유로운 실시를 인식하고 있지 않다.

소스를 제어 할 수없는 경우 스트림 전체에 공통 기본 시간 같은 것이 없으므로 운이 좋지 않습니다. 그렇다면 스트림과 타임 클럭의 타임 스탬프를 사용하여 동기화하려면 live555와 플레이어를 수정해야합니다. 내가 말했듯이 사소한 것이 아닙니다.

아마도 gstreamer에는 이미 플러그인이있을 수 있습니다. 사용하고 나서 꽤 오래되었습니다. 확실하지 않습니다. 그곳을 들여다 볼 수 있습니다. (gstreamer.net).

+0

고맙습니다. 사실 스 트리머 서버의 절대 시간 동기화는 그다지 중요하지 않습니다. 스트림 녹화가 언제 시작되는지를 아는 것으로 충분합니다. 동일한 PC에 녹화 할 때 충분합니다. 플레이어는 이미 재생 된 동영상. – Mkoch

관련 문제