近期项目需要,把N个MP4文件压缩处理为流媒体格式,并放至服务器,使用CDN加速供WEB播放器点播。出现几个问题,作下记录。
问题:MP4格式非流媒体,即不能边下载边播放,用户体验非常差。
原因:
由于转码后的视频存在moov标记了元数据信息(即一些参数),且其位置在mdat(媒体内容)之后,播放器解析需要moov,待下载完mdat,才能读取到moov,之后再进行播放,(此标记信息可用 mp4info.exe查看,如下图)。现在只需要用一个工具,将moov标记移至mdat前即可。
解决办法:
使用ffmpeg(https://ffmpeg.zeranoe.com/builds/),下载static版本,解压.。
下载qt-faststart.exe(http://www.ckplayer.com/down/qt-faststart.rar)
将qt-faststart.exe放至ffmpeg解压后的文件夹bin中。
打开cmd,执行 qt-faststart.exe d:/mp4/1.mp4 d:/201902008/1.mp4
即将d:/mp4/1.mp4的moov标记移至mp4正片之前,将文件复制至d:/201902008/1.mp4。
测试OK!
网友评论