php - 使用 php 从 mp3 转换为 ogg

标签 php ffmpeg exec mp4 ogg

我想将 mp3 文件转换为 ogg。我尝试了以下代码

exec("/usr/local/bin/ffmpeg -i 1.mp4 -vcodec libtheora -acodec libvorbis testjohn4545454.ogg",$output);
var_dump($output);

但它不会转换文件,它只返回 array(0) { }并且只需要一点执行时间。

但是使用 ssh 命令时转换是成功的。

请给我解决方案。

最佳答案

有趣的是,你想在它自己的进程中执行这个,在后台 ,否则您的 PHP 脚本将在等待转换完成时挂起。

编码:
passthru("nohup /usr/local/bin/ffmpeg -i 1.mp4 -vcodec libtheora -acodec libvorbistestjohn4545454.ogg 1> /path/to/logfile.txt 2>&1 &");
注意末尾的“nohup”和&符号:这些应该可以满足您的要求。此外,您现在可以定期检查您的日志文件,以确保它正在执行您想要的操作。

最后,查看 this question如果您愿意,可以创建进度条。

关于php - 使用 php 从 mp3 转换为 ogg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14957544/

相关文章:

php - 如何使用 preg_split() 删除方括号?

php - 将内容动态翻译成不同语言的最佳实践

php - yii2 根据模型更新表单预选下拉选项

video - 我的视频中编码了多少关键帧? ffmpeg 是使用的编码器

go - 如何使用 golang 和 FFmpeg 从视频中获取帧文件夹?

golang exec后台进程并获取它的pid

php - OpenSSL 真的需要 openssl.conf 的路径吗?

c++ - 使用 FFmpeg API 将 RTP 负载数据写入音频文件

javascript - nodejs exec 命令失败,没有有用的错误消息

ffmpeg - php-fpm 卡住 ffmpeg exec 上的用户 session