我需要在python + django项目中执行以下操作:
我已经知道python的一些视频编辑库:MLT framework(对我来说太复杂了),pygame和pymedia(不包括我想要的所有功能), gstreamer bindings(可怕的文件)。
我还可以使用ffmpeg,mencoder或transcode从命令行完成所有工作。
在Linux机器上执行此类操作的最佳方法是什么。
编辑:最终我选择使用融合(mlt的命令行)
答案 0 :(得分:0)
答案 1 :(得分:0)
因为ffmpeg在GNU / Linux上可用,所以使用pexpect或subprocess等模块的东西是最好的解决方案....
答案 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这样的容器中,然后使用章节让它逐段跳跃。我似乎记得被告知这是可能的,但我从未尝试过,所以也许不是。