tamaño - Cómo minimizar el retraso en una transmisión en vivo con ffmpeg
reducir tamaño de video sin perder calidad linux (1)
tengo un problema. Haría una transmisión en vivo con ffmpeg desde mi cámara web.
- Lanzo el ffserver y funciona.
Desde otro terminal, ejecuto ffmpeg para transmitir con este comando y funciona:
sudo ffmpeg -re -f video4linux2 -i /dev/video0 -fflags nobuffer -an http://localhost:8090/feed1.ffm
En mi archivo de configuración tengo esta secuencia:
<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>
Lanzo la transmisión con
ffplay http: // 192.168.1.2 : 8090 / test.webm Funciona, pero tengo un retraso de 4 segundos y quisiera minimizar este retraso porque es esencial para mi aplicación. Gracias
La guía de transmisión de FFMpeg tiene una sección específica sobre cómo reducir la latencia. No he probado todas sus sugerencias todavía. http://ffmpeg.org/trac/ffmpeg/wiki/StreamingGuide#Latency
Hacen una nota particular sobre latencia que presenta ffplay:
Por defecto,
ffplay
introduce una pequeña latencia propia. También es útilmplayer
con su-nocache
para probar la latencia (o-benchmark
). También se dice que usar SDL sale para ver marcos con latencia mínima:ffmpeg ... -f sdl -