使用python或命令行进行视频编辑

时间:2011-01-28 04:47:18

标签: python command-line fadein fadeout video-editing

我需要在python + django项目中执行以下操作:

  • 加入相同尺寸和比特率的视频
  • 加入视频和图片(对于图像处理,我将使用PIL:将文字写入现有图像)
  • 淡入视频之间的转换

我已经知道python的一些视频编辑库:MLT framework(对我来说太复杂了),pygamepymedia(不包括我想要的所有功能), gstreamer bindings(可怕的文件)。

我还可以使用ffmpegmencodertranscode从命令行完成所有工作。

在Linux机器上执行此类操作的最佳方法是什么。

编辑:最终我选择使用融合(mlt的命令行)

4 个答案:

答案 0 :(得分:0)

http://avisynth.org/mediawiki/Main_Page是视频的脚本语言。

答案 1 :(得分:0)

因为ffmpeg在GNU / Linux上可用,所以使用pexpectsubprocess等模块的东西是最好的解决方案....

答案 2 :(得分:0)

您可以使用OpenCV加入视频和图片。请参阅documentation,特别是image/video I/O functions

但是,我不确定该库是否具有能够为您淡化的功能。

答案 3 :(得分:0)

您使用的是哪种编解码器?

压缩视频的方法有两种:有损和无损。很容易区分它们。根据它们的长度,有损视频文件在兆字节范围内,无损(包括未压缩)在千兆字节范围内。

这是过于简单化了。编辑视频文件与编辑电影有很大的不同,您可以将胶片粘贴在一起。它不仅仅是比特率,帧速率和分辨率。大多数有损视频编解码器(MPEG 1-4,Ogg Theora,H.26x,VC-1等)以全帧开始,然后仅记录移动中的变化。当您观看视频时,您实际看到的是静态场景,其中一层又一层的更改粘贴在其上。看起来你在全帧后看到全帧,但是如果你查看文件中的数据,你会看到所有的黑色背景和乱码的视频块。

如果它是未压缩的或使用无损编解码器(HuffYUV,Lagarith,FFV1等),那么您可以像电影一样编辑视频文件。您仍然需要对视频进行重新编码,但它不会影响视频质量,只要分辨率和帧速率相同,您就可以剪切,复制和粘贴。如果你的视频是有损的,你必须重新编码它,但会丢失一些视频质量,就像在JPEG中一遍又一遍地保存相同的图像一样。

另一种选择可能是将几段视频放入像MKV这样的容器中,然后使用章节让它逐段跳跃。我似乎记得被告知这是可能的,但我从未尝试过,所以也许不是。