网页播放MP4遇故障
2015-11-30
故障现象
单位开设了一个视频网站,最近网站发布了一批MP4格式的视频文件,有的需要等待很长一段时间才能播放,有的一打开网页就能播放,严重影响了网站的用户体验度。
打开视频网站后,随机点开了一些播放页面进行故障测试,发现有的网页不能马上出现视频内容,网页播放器一直停留在默认显示画面,大约5分钟后才能正常播放视频内容。
故障排查
下载其中一个可疑的MP4文件,用暴风影音查看文件属性(如图1),从文件属性来看,该文件近700MB,通过http方式下载时间超过5分钟,与打开网页后到开始播放视频内容的时间大体相当,确认浏览器先将该文件下载到本地硬盘再播放。换用不同电脑和不同浏览器进行测试,结果大致相同,排除客户端存在问题。
图1 原始MP4视频文件属性
为了检验视频网站设置是否存在问题,随机打开播放视频正常的网页,发现非常流畅,从打开网页到显示视频内容,只需几秒钟时间,而且可以明显看出是边下载边播放,至此可以确认MP4视频文件存在可疑。
图2 重新H.264编码的MP4视频文件属性
故障处理
仔细观察图1,发现该视频文件的编码为AVC1,即H.264编码,是目前网站视频文件采用的主流编码。用“狸窝全能视频转换器”对下载的MP4文件进行编码转换,注意预置方案选择“MPEG-4 AVC Video Format(*.mp4)”(视频编码器为H.264)。
转换完毕后,在暴风影音播放器中查看文件属性如图2所示,与图1对比,比特率和文件大小有所增大。将重新H.264编码转换后的文件发布,打开播放网页约2秒钟后出现视频内容,从页面播放器上能明显看出缓存进度条向前移动,达到了网页播放MP4文件的效果。对其他存在同样问题的MP4视频文件照此处理,重新发布能正常播放,至此问题解决。
故障分析
当前MP4视频文件非常适合网络播放,但并不是所有的都支持边缓存边播放。进一步试验,用“狸窝全能视频转换器”进行编码转换,假如预置方案选择“MP4-MPEG-4 Video(*.mp4)”(视频编码器为 XVID,编码为 MP4V),转码后的文件也要全部下载后才能播放。即使采用H.264编码的MP4视频文件,但因为标准问题也需要重新标准化转码后才能正常播放。