4

我正在尝试将电影上传到网站,然后自动将其从 .mov iPhone 格式转换为 .mp4 格式。是否有 php 转换库或工具可以帮助我做到这一点?

谢谢。

4

5 回答 5

5

好吧,我知道这是另一种解决方案:

PHP:

$cmd = './HandBrakeCLI -i /path/to/source.MOV -o movie.mp4 --preset="iPhone & iPod Touch"';
echo exec($cmd);

注意:您需要在服务器上安装 Handbrake

于 2011-06-24T20:34:36.267 回答
3

您可以尝试 ffmpeg 扩展: http: //ffmpeg-php.sourceforge.net/

编辑:

事实证明,ffmpeg 扩展可能对您没有帮助,但您仍然可以使用 ffmpeg 进行转换。您最好有一个 cron 作业或类似的东西在后台进行转换。只需让用户上传mov文件,然后将其添加到队列中并在另一个进程中将其转换为mp4。

于 2011-06-24T20:12:29.070 回答
3

Apple mov 文件实际上是 MP4 容器 - 所以 .mov == .m4v == .mp4 == .m4a。只需重命名文件就可以了。或者你想要一个特定的编解码器?

于 2011-07-15T22:06:58.060 回答
2

不是很不幸。

在过去的 4 年里,我一直在做这件事,如果你想自己写,最好的办法是在你的上传脚本中派一个 exec 到 ffmpeg。

exec('ffmpeg ... &');

请注意末尾的 & 符号,这允许您的 php 脚本完成,同时允许在后台进行编码,同时检查您的输入变量,因为有可能使用此方法进行 shell 注入。

或替代方案:

使用像 beanstalkd 这样的系统作为您的 php 上传脚本和后端的工作进程(我使用自定义多线程 perl 脚本)之间的消息队列,该进程接受新的编码并处理它们(我正在使用 ffmpeg、mencoder 或 quicktime 使用qt_tools,取决于输入视频格式),使用 memcached 作为编码状态的临时存储。

抱歉,我现在不能更具体,我明天可能会再更新一点,但我整晚都在睡觉,需要睡觉。希望这能让你朝着正确的方向前进。

于 2011-06-25T04:59:19.823 回答
0

尝试命令:

 ffmpeg -i movie.mov -vcodec copy -acodec copy out.mp4
于 2019-03-27T08:35:23.477 回答