我正在尝试将电影上传到网站,然后自动将其从 .mov iPhone 格式转换为 .mp4 格式。是否有 php 转换库或工具可以帮助我做到这一点?
谢谢。
我正在尝试将电影上传到网站,然后自动将其从 .mov iPhone 格式转换为 .mp4 格式。是否有 php 转换库或工具可以帮助我做到这一点?
谢谢。
好吧,我知道这是另一种解决方案:
PHP:
$cmd = './HandBrakeCLI -i /path/to/source.MOV -o movie.mp4 --preset="iPhone & iPod Touch"';
echo exec($cmd);
注意:您需要在服务器上安装 Handbrake
您可以尝试 ffmpeg 扩展: http: //ffmpeg-php.sourceforge.net/
编辑:
事实证明,ffmpeg 扩展可能对您没有帮助,但您仍然可以使用 ffmpeg 进行转换。您最好有一个 cron 作业或类似的东西在后台进行转换。只需让用户上传mov文件,然后将其添加到队列中并在另一个进程中将其转换为mp4。
Apple mov 文件实际上是 MP4 容器 - 所以 .mov == .m4v == .mp4 == .m4a。只需重命名文件就可以了。或者你想要一个特定的编解码器?
不是很不幸。
在过去的 4 年里,我一直在做这件事,如果你想自己写,最好的办法是在你的上传脚本中派一个 exec 到 ffmpeg。
exec('ffmpeg ... &');
请注意末尾的 & 符号,这允许您的 php 脚本完成,同时允许在后台进行编码,同时检查您的输入变量,因为有可能使用此方法进行 shell 注入。
或替代方案:
使用像 beanstalkd 这样的系统作为您的 php 上传脚本和后端的工作进程(我使用自定义多线程 perl 脚本)之间的消息队列,该进程接受新的编码并处理它们(我正在使用 ffmpeg、mencoder 或 quicktime 使用qt_tools,取决于输入视频格式),使用 memcached 作为编码状态的临时存储。
抱歉,我现在不能更具体,我明天可能会再更新一点,但我整晚都在睡觉,需要睡觉。希望这能让你朝着正确的方向前进。
尝试命令:
ffmpeg -i movie.mov -vcodec copy -acodec copy out.mp4