FFmpeg 无法正确转换为 ogg

Riz*_*wan 3 ffmpeg ogg

我正在使用 ffmpeg 在我的网站上转换音频和视频。Ffmpeg 可以正确转换为其他格式,如 mp3、mp4 等,但无法正确转换为 ogg。虽然 ffmpeg 正在创建 ogg 文件,但新创建的 ogg 文件已损坏,并且大小比原始文件大很多。我正在使用以下 PHP 代码转换为 ogg。

exec("/usr/bin/ffmpeg -i ".$_FILES['thefile1']['tmp_name']." ./ogg/$file_name".".ogg");
Run Code Online (Sandbox Code Playgroud)

mat*_*boy 5

我假设您正在寻找 ogg 视频,而不是音频。如果你想要音频,只需删除 vcodec 的东西即可。

添加以下参数:

vcodec libtheora
acodec libvorbis
Run Code Online (Sandbox Code Playgroud)

所以你的命令将变成:

exec("/usr/bin/ffmpeg -i ".$_FILES['thefile1']['tmp_name']." -vcodec libtheora -acodec libvorbis ./ogg/$file_name".".ogg");
Run Code Online (Sandbox Code Playgroud)

您必须确保已安装 libtheora 和 libvorbis。如果您执行该命令并且没有安装它们,ffmpeg 将抛出错误。您可以使用检查

ffmpeg -codecs
Run Code Online (Sandbox Code Playgroud)

并搜索 libtheora 和 libvorbis。