一个非常简单轻量的视频编辑器
我想做一个编辑器,功能如下:
1) 能够处理一个mp3音频文件
2) 能够处理一张图片——一个jpg文件
3) 输出一个简单的视频格式,比如.mov,这个视频就是把jpg文件和mp3文件放在一起,音频在背景播放
4) 不需要做其他任何事情
我想把这个作为一个项目,学习这些基础知识,但我不想手动编写一些基本的代码。我应该从哪里开始,关键步骤是什么?
我对PHP和Java还算可以,也愿意为这个项目学习Python。其实我更希望用Python来写这个,以便积累经验。
谢谢!
3 个回答
如果你选择使用ffmpeg的命令行工具,或者需要一个过程来尝试直接用库来实现,那么相关的命令行指令就是很简单的:
ffmpeg -i input.jpg -i input.mp3 output.mov
如果你想自己写这样的解决方案,先别考虑Python,先编译ffmpeg,然后在你的代码中直接使用它的类,前提是你得仔细阅读它们的文档(或者你可以试试pyffmpeg,不过这也需要你了解ffmpeg的内部工作原理)。
不过,我很确定你想要的功能其实可以仅通过命令行使用ffmpeg来实现——这样的话,你的Python代码就只是一个对os.Popen的封装(其实这是个相当流行的解决方案)。
我觉得这取决于你想达到什么样的理解水平:要么你愿意阅读ffmpeg的文档并相信它能工作(那就用Python吧),要么你需要深入研究ffmpeg的源代码,真正理解它是怎么运作的(顺便说一下,我也不懂)——这样的话,使用Python的绑定反而会让你觉得麻烦。
我在使用django的时候几次需要用到ffmpeg,但从来没有做过比简单拼凑ffmpeg命令行参数更复杂的事情。另一方面,我确实很想真正理解我在做什么,但似乎没有人愿意为我深入研究ffmpeg的源代码付钱。 :-(
我很确定你可以通过 mencoder 这个命令行工具来完成所有这些操作(我记得要用 -speed 这个选项;可能还需要给它一份你想要的视频每几秒钟的 jpg 图片,因为它最多只能把速度减慢到原来的 100 倍)。