EasyDSS视频平台观看视频推流直播不需要安装插件,网页直接即可播放,通过浏览器进入平台即可进行配置,对用户来说,便捷可控,无需另行搭建服务器,具有很大的优势。
EasyDSS开启虚拟直播,使用ffmpeg转码的m3u8文件作为直播源时,部分直播无法播放视频。
于是查看源文件MP4是否也没有视频,结果MP4源文件是正常的,所以我们确定到是m3u8文件问题,查看ts文件时,发现无视频流信息。
最后排查确定是在点播文件转码时ts生成问题,ffmpeg转码问题,于是将“-vcodec copy” 改为“-vcodec libx264”,这么修改可以解决ts生成问题,但是在转码时会时间比较久,比较消耗资源。
原先程序中转码命令:
EasyTrans.exe -fflags genpts -hide_banner -i 4NGpW0M7g.MP4 -vcodec copy -acodec copy -ac 2 -strict -2 -f hls -hls_time 8 -hls_list_size 0 video.m3u8
于是直接用ffmpeg命令本地转码,发现是成功的,并且ts也有视频流。
ffmpeg命令MP4转m3u8:
ffmpeg -i Cx8J6oM7R.mp4 -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 2 -hls_time 15 output.m3u8
最后将代码中的命令修改:
具体执行的转码命令:
EasyTrans.exe -fflags genpts -hide_banner -i 4NGpW0M7g.MP4 -vcodec libx264-acodec copy -ac 2 -strict -2 -f hls -hls_time 8 -hls_list_size 0 video.m3u8