문제가 있습니다. 웹캠에서 ffmpeg로 실시간 스트리밍을하고 싶습니다.ffmpeg로 라이브 스트리밍의 지연을 최소화하는 방법
- ffserver가 실행됩니다. 다른 터미널에서
- 내가이 명령 으로 스트리밍 할 수는 FFmpeg를 시작하고 그것을 작동 :
나는 스트림이 시작 :
내 구성 파일에서sudo ffmpeg -re -f video4linux2 -i /dev/video0 -fflags nobuffer -an http://localhost:8090/feed1.ffm
내가이 스트림을
ffplay http : // 192.168.1.2 : 8090/test.webm 작동하지만 4 초의 지연이 있으며 응용 프로그램에 필수적이므로이 지연을 최소화해야합니다.
<Stream test.webm>
Feed feed1.ffm
Format webm
NoAudio
VideoCodec libvpx
VideoSize 720x576
VideoFrameRate 25
# Video settings
VideoCodec libvpx
VideoSize 720x576 # Video resolution
VideoFrameRate 25 # Video FPS
AVOptionVideo flags +global_header # Parameters passed to encoder
# (same as ffmpeg command-line parameters)
AVOptionVideo cpu-used 0
AVOptionVideo qmin 10
AVOptionVideo qmax 42
#AVOptionVideo quality good
PreRoll 5
StartSendOnKey
VideoBitRate 400 # Video bitrate
</Stream>
당신은 probesize의 값을 줄이기 위해 시도 할 수 있습니다 : 500000 HTTP를 -probesize ffplay': //192.168.1.2 : 8090/test.webm' SDL에를 사용 은 최소한의 대기 시간 프레임을 볼 수 있다고 (500Kb까지,이 값으로 실험 해 봅시다, 내가 잘못하지 않으면 기본값은 5Mb입니다.) – pogorskiy
감사합니다. 이제 모바일 브라우저에서 스트림을 시청해야하므로 ffplay를 사용할 수 없습니다. 구성 파일을 최적화하려면 몇 가지 제안이 필요합니다. –
http://ffmpeg.org/sample.html 읽기 VideoBufferSize로 시도하거나 GOP를 줄이면 (대역폭 사용량이 늘어남) 상상할 수 있습니다. –