Mam problem. Chciałbym zrobić transmisję na żywo z ffmpeg z mojej kamery internetowej.Jak zminimalizować opóźnienie w transmisji na żywo za pomocą ffmpeg
- Uruchamiam serwer FTP i działa.
Z innego terminalu ja uruchomić ffmpeg do strumienia z tego polecenia i to działa:
sudo ffmpeg -re -f video4linux2 -i /dev/video0 -fflags nobuffer -an http://localhost:8090/feed1.ffm
W moim pliku konfiguracyjnego mam ten strumień:
<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>
ja uruchomić strumień z
ffplay http: // 192.168.1.2: 8090/test.webm Działa, ale mam opóźnienie 4 sekund i chciałbym zminimalizować to opóźnienie, ponieważ jest to istotne dla mojej aplikacji. Dzięki
Można spróbować zmniejszyć wartość probesize: 'ffplay -probesize 500000 http: //192.168.1.2: 8090/test.webm' (do 500 Kb, eksperymentuj z tą wartością, domyślną wartością jest 5 Mb, jeśli się nie mylę.) – pogorskiy
ok dzięki. Teraz muszę oglądać strumień w przeglądarce mobilnej, więc nie mogę użyć ffplay. Potrzebuję sugestii, aby zoptymalizować plik konfiguracyjny. –
Czytanie http://ffmpeg.org/sample.html Mogę sobie wyobrazić, że możesz spróbować z VideoBufferSize lub zmniejszając GOP (zwiększa to wykorzystanie przepustowości). –