Mpeg Dash-Streaming
我正在撰写关于直播的论文.我使用ffmpeg,ngix服务器和rtmp模块以及Dash industry的dash.js.我通过ffmpeg开始流到服务器,并且用破折号播放,播放器运行良好,但是有一些问题.
如果mpd-dash播放列表仍然具有块t = 0,则播放器仅播放,因此每当用户请求播放器和* .mpd更新时,块t = 0播放器都不会运行.
我将* .mpd文件上传到Dash Validator并收到错误:“Schematron验证未成功 – DASH无效!”.但是玩家是由Nginx生成的 – rtmp模块而不是我.
在搜索了一些论坛后,我得到了一些信息,即Nginx-rtmp模块生成错误的短划线播放列表* .mpd Nginx rtmp module -bug,并且可能是该错误被修复并合并到github中的主人(我认为是Mered – report).但我尝试下载最新的Nginx和rtmp模块,播放器也播放不正确.
如果我玩2年前的dash.all.js版本:视频只播放好(播放结束)如果播放列表* .mpd中存在chunk t = 0,或播放器不播放(播放中间播放)
如果我玩dash.all.js持续版本:视频播放并停止播放或循环播放.
我真的需要一些帮助,我的截止日期即将到来.
这是我的Nginx配置(主配置):
@H_301_21@ 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; } } }
and some others config:
@H_301_21@location /hls { # Serve HLS fragments types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } root /tmp; add_header Cache-Control no-cache; add_header Access-Control-Allow-Origin *; } location /dash.js { root /usr/share/Nginx/html; } location /streaminghls { root /usr/share/Nginx/html; } location /dash { # Serve DASH fragments root /tmp; add_header Access-Control-Allow-Origin *; }
and in html player :
@H_301_21@
Hls play excellently but not dash. I tried changing dash config in Nginx config and C-source of rtmp-module with recompiling but not thing changed.
My mpd play list :
@H_301_21@
I really need help.
Thanks for reading,and am so sorry about my bad english.