我正在撰写关于直播的论文.我用的ffmpeg,与RTMP模块和dash.js从ngix服务器短跑行业.我通过ffmpeg开始流向服务器,并且通过破折号播放,播放器运行良好,但是存在一些问题.
如果mpd-dash播放列表仍然具有块t = 0,则播放器仅播放,因此每当用户请求播放器和*.mpd更新时,块t = 0播放器都不会运行.
我将*.mpd文件上传到Dash Validator并收到错误:"Schematron验证未成功 - DASH无效!".但是玩家是由nginx生成的 - rtmp模块而不是我.
在搜索了一些论坛后,我得到了一些信息,nginx-rtmp模块生成错误的短划线播放列表*.mpd Nginx rtmp模块-bug,可能是该bug被修复并合并到github中的master(我认为是Mered - 报告).但我尝试下载最新的nginx和rtmp模块,播放器也播放不正确.
如果我玩2年前的dash.all.js版本:视频只播放好(播放结束)如果播放列表*.mpd中存在chunk t = 0,或播放器不播放(播放中间播放)如果我玩dash.all.js持续版本:视频播放并很快停止播放或循环播放.
我真的需要一些帮助,我的截止日期即将到来.
这是我的nginx配置(主配置):
rtmp {
server {
listen 1935;
ping 30s;
notify_method get;
chunk_size 4000;
allow play all;
application myapp {
live on;
dash on;
dash_path /tmp/dash;
hls on;
hls_cleanup on;
hls_sync 100ms;
hls_fragment 2s;
hls_path /tmp/hls;
allow play all;
}
}
}
Run Code Online (Sandbox Code Playgroud)
和其他一些配置:
location /hls {
# Serve HLS fragments …Run Code Online (Sandbox Code Playgroud)