大家好,我利用ffmpeg和mp4box得到了dash的segment和描述文件,(如此文中的做法Making Your Own Simple MPEG-DASH Server),然后我将得到的全部文件放入nginx的/wwwroot/default/(自己放网页文件的文件夹,可以通过浏览器正常访问)文件夹中,然后尝试用dashif 播放器来播放,控制台提示Failed to load http://******/manifest.mpd: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://dashif.org' is therefore not allowed access.
这个错误,我搜索了一下这个错误,尝试在nginx的配置文件中添加了
location /
{
add_header Access-Control-Allow-Methods "GET,OPTIONS,POST,HEAD,PUT,DELETE";
add_header Accept-Ranges "bytes";
add_header Access-Control-Allow-Origin "*";
add_header Access-Control-Expose-Headers "Content-Lengrh,Content-Range,Date,Server,Transfer-Encoding,origin,range,x-goog-meta-foo1";
}
然后使用“nginx -s reload”来使配置生效,重启浏览器再次尝试播放,结果还是同样的错误。请各位有相关经验的老师指点迷津,万分感谢!
应该是采用的工具的问题,我使用的Mp4box得到的segment好像是这种播放器不支持的,我换成另外一个bento4中的提供的mp4dash来作切片后,将得到的output上传到服务器,在用播放器就可以正常播放了。