无法播放视频,只能听到

Unable to play the video, could only hear it

有一件有趣的事情发生了!当我尝试播放类似 :

的视频时
<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 导致问题

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

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

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

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

即使您的视频是 H.264,您也可能会遇到问题。 AFAIK,Chrome 仅支持 yuv420p 像素格式,而 safari 也可以支持 yuvj420p。 H.264的版本也可能有问题,使用baseline是个不错的选择。

使视频正常工作的唯一方法是将其转码为浏览器兼容的格式(大多数视频托管网站都会为您完成此操作)。您可以使用以下命令通过 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>