无法播放视频,只能听到它

时间:2015-04-18 06:01:09

标签: html html5 google-chrome video codec

有一件有趣的事情发生了!当我尝试播放如下视频时:

<div class='vcontainer' id='vc'> 
        <video id="match" width="700" controls>
              <source src='tsk1.mp4' type="video/mp4">
                Your browser does not support HTML5 video.
        </video>
</div>

我只能听到它并且没有视频。它的框架高度为576,框架宽度为720。但我能够播放另一个视频(通常),帧高为320,帧宽为568。这可能是什么原因?

注意:作为参考,我还uploaded the video file导致了问题

1 个答案:

答案 0 :(得分:1)

您的视频可能位于评论中所说的不受支持的编解码器中。 通过说编解码器,它不是容器格式(mp4)。

容器格式是将多个轨道(音频或视频)与一些额外信息(如元数据)组合到一个文件或流中的格式。

目前大多数浏览器都支持mp4格式的视频,使用基线H.264作为图像编解码器,使用arc / mp3作为音频编解码器。

检查您的视频编解码器是否为H.264。您的浏览器可以播放声音,证明您获得了正确的音频编解码器,但也许您正在使用一些不受支持的视频编解码器。

即使您的视频是H.264,您仍可能遇到问题。 AFAIK,Chrome仅支持yuv420p像素格式,而safari也支持yuvj420p。 H.264的版本也可能引起问题,使用基线将是一个不错的选择。

使视频正常工作的唯一方法是将其转码为浏览器兼容格式(大多数视频托管网站都会为您执行此操作)。您可以使用以下命令使用FFmpeg执行此操作。

ffmpeg -i <Your video path here> -c:v libx264 -c:a aac -strict -2 -pix_format yuv420p -profile:v baseline -preset:v fast <Output video path here>