2017-02-22 8 views
0

Windows에서 ffmpeg 3.2.2를 사용하여 5MP USB 카메라에서 비디오를 캡처하고 스트리밍하려고합니다. 여기에 내가 사용하고 명령 줄입니다 :재생시 ffmpeg 비디오 스트림 지연이 발생합니까?

ffmpeg -f dshow -video_size 320x240 -framerate 30 -i video="HD USB Camera" -vcodec libx264 -preset ultrafast -tune zerolatency -g 60 -f mpegts udp://192.168.1.100:10000 

내 스트림 (동일한 서브넷에 우분투 상자)에 대한 대상을 통해 ffplay를 실행 :

ffplay -i udp://127.0.0.1:10000 

이 작동하지만 비디오 스트림이 보인다 8 초에서 10 초 정도 지연됩니다. 목적지가 I- 프레임을받을 때까지 스트림을 표시 할 수 없기 때문에 60 초의 GOP 값을 지정하면 I- 프레임이 매 2 초 (@ 30FPS)마다 삽입됩니다.

트랜스 코딩을 수행하는 Windows 컴퓨터는 i7-3840QM @ 2.80GHz를 실행 중이며 32GB RAM이 있습니다. FFmpeg는 CPU 사용률이 2 % 정도로 매우 적은 것으로 보이므로 CPU 사용량이 많지 않습니다. 테스트와 마찬가지로 MP4 파일을 가져 와서 트랜스 코딩하지 않고 (ffmpeg -re -i localFile.mp4 -c copy -f mpegts udp://192.168.1.100:10000) 스트림이 우분투 시스템에 표시되기까지 몇 초가 걸립니다.

관련 메모에서 Wowza 스트리밍 엔진 서버의 평가판도 평가 중이며 fowmpeg 스트림을 Wowza로 보내면 Wowza 테스트 플레이어가 재생을 시작하기 전에 동일한 8-10 초 지연이 발생합니다. 뒤로. 가치가있는 부분에 대해 스트림이 재생되기 시작하면 모든 것이 "수초 뒤"라는 사실 이외에 잘 돌아가는 것 같습니다.

동영상 스트리밍에 처음 들어서 뭔가 이상한 부분이 누락되었지만이 지연의 원인을 알려주거나 다른 문제를 해결하는 방법을 제안 할 수 있습니까? 고맙습니다! 이 값을 설정

답변

2

보십시오

analyzeduration 정수 (입력)

입력을 검사하기 위해 분석되는 방법 마이크로 초 지정. 값이 높을수록 더 정확한 정보를 감지 할 수 있지만 지연 시간은 증가합니다. 기본값은 5,000,000 마이크로 초 = 5 초입니다. 상기 데이터의 크기, 즉

probesize 정수 (입력) 바이트

프로브 세트 크기, 스트림 정보를 얻기 위하여 분석한다. 값이 클수록 정보가 스트림으로 분산 될 경우 더 많이 감지 할 수 있지만 대기 시간이 증가합니다. 32보다 작지 않은 정수 여야합니다. 기본값은 이고 5000000입니다.

FFmpeg docs