Baja latencia DASH Nginx RTMP
Yo uso arut nginx-rtmp-module (https://github.com/arut/nginx-rtmp-module) en el servidor de medios, luego intenté transmitir usando FFmpeg adash
aplicación, luego pruebo la transmisión mediante VLC.
Y espera alrededor de 30 segundos para comenzar a jugar, y se reproduce desde el principio, no la marca de tiempo actual.
Esta es mi configuración actual en el bloque RTMP
rtmp {
server {
listen 1935;
application live {
live on;
exec ffmpeg -re -i rtmp://localhost:1935/live/$name
-c:a libfdk_aac -b:a 32k -c:v libx264 -b:v 128K -f flv rtmp://localhost:1935/hls/$name_low
-c:a libfdk_aac -b:a 64k -c:v libx264 -b:v 256k -f flv rtmp://localhost:1935/hls/$name_mid
-c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 512K -f flv rtmp://localhost:1935/hls/$name_hi
-c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 512K -f flv rtmp://localhost:1935/dash/$name_dash;
}
application hls {
live on;
hls on;
hls_path /tmp/hls;
hls_nested on;
hls_variant _low BANDWIDTH=160000;
hls_variant _mid BANDWIDTH=320000;
hls_variant _hi BANDWIDTH=640000;
}
application dash {
live on;
dash on;
dash_path /tmp/dash;
dash_nested on;
}
}
}
Este es el comando que uso para transmitir
ffmpeg -re -i 2014\ SPRING.mp4 -c copy -f flv
rtmp://52.221.221.163:1935/dash/spring
¿Cómo puedo reducir el retraso y hacer que se reproduzca desde la misma marca de tiempo que el streamer?
¿Puedo lograr una latencia inferior a 5 segundos?
ACTUALIZAR
Intenté cambiar la longitud de la lista de reproducción y la longitud del fragmento, usando esta directiva
dash_playlist_length 10s;
dash_fragment 2s;
Pero aún tengo algún problema de latencia, a veces es más pequeño que antes, a veces es lo mismo