【发布时间】:2017-05-09 11:47:10
【问题描述】:
我在媒体服务器上使用 arut nginx-rtmp-module (https://github.com/arut/nginx-rtmp-module),然后尝试使用 FFmpeg 流式传输到 dash 应用程序,然后我通过使用 VLC 播放来测试流。
它会等待大约 30 秒开始播放,它从头开始播放,而不是当前时间戳。
这是我当前在 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;
}
}
}
这是我用于流式传输的命令
ffmpeg -re -i 2014\ SPRING.mp4 -c copy -f flv
rtmp://52.221.221.163:1935/dash/spring
如何减少延迟,并使其从与流媒体相同的时间戳开始播放?
我可以实现低于 5 秒的延迟吗?
更新
尝试使用此指令更改播放列表长度和片段长度
dash_playlist_length 10s;
dash_fragment 2s;
但还是有一些延迟问题,有时比以前小,有时还是一样
【问题讨论】:
标签: nginx ffmpeg rtmp mpeg-dash