视频无法在所有浏览器上播放 (FFMPEG)

时间:2021-02-11 18:28:22

标签: html ffmpeg ffmpeg-php

这几天我一直在努力使用 ffmpeg (PHP)。

我有一个网站,用户可以在其中上传视频。显然,人们使用由各种设备(如相机、移动电话、平板电脑和更多设备)创建的 .mov、.mp4 和 .mpeg。我的问题是这些电影要么在 Firefox 上运行,要么在 Chrome 上运行,但几乎从不在两者上运行。不知道为什么,我猜这与编解码器和浏览器支持有关。

我正在使用 FFMpeg 将它们转换为 webm 文件。这在 95% 的情况下都有效。在所有浏览器中,我都有一个有效的视频,声音也有效。但有时根本没有声音。

当我在其他浏览器(或例如 Windows 媒体播放器)中打开电影时,我确实听到了声音。它在什么浏览器或软件中工作或不工作是如此随机。

有没有人知道一种方法可以确保您的电影在所有浏览器(例如 Chrome、FireFox 和 Safari)中都能播放视频和音频?如果是这样,我该如何将它们转换成什么格式(编解码器?)

我不介意将一部电影转换成三种不同的格式,只要视频和音频都可以。

希望有人能给我一些建议。我尝试了很多方法,但到目前为止都没有跨浏览器工作。

我使用的代码示例:

$video->save(new FFMpeg\Format\Video\WebM(), 'export-webm.webm');

有谁知道我如何让它在每个浏览器上都能运行?

我已经尝试过的是(其中包括):

使用原始 mp3 或 mov 并使用以下代码将其转换为 webm:

ffmpeg -i origin.mov -c:a libvorbis -strict -2 -c:v libvpx-vp9 output.webm

不幸的是,在 FireFox 中我有视觉和音频,但在 Chrome 中我什么都没有,只有一个空白屏幕。

1 个答案:

答案 0 :(得分:0)

在 MP4 容器中带有 AAC 音频的 H.264 视频可能是您最好的选择。

ffmpeg -i input.mov -c:v libx264 -c:a aac output.mp4