2017-02-18 109 views
0

去除帧我理解这可能是一个微不足道的问题,但到目前为止,我曾与我尝试了各种解决方案,没有运气,我敢肯定,必须有实现这一目标的便捷途径。蟒蛇/视频 - 无需重新编码

我如何将着手从视频文件中删除帧/毫秒无切片,合并和重新编码?
我发现的所有解决方案都涉及将各种时间导出为各种格式,我希望不需要这样做。

使用ffmpeg/avconv有必要将临时流转换为.ts,然后连接,最后重新编码为原始格式。

Python库MoviePy似乎做我需要很准确的话,但:

  • cutout函数返回不能导出的文件,作为write_videofile功能的尝试和失败,以获取删除帧
  • 如果我将原始文件分割成不同的剪辑,然后将它们与concatenate_videoclips合并,则导出不会失败,但需要两倍的视频长度。由此产生的视频具有更快的帧速率,只有连接视频的提示点能够及时放置,音频以正常速度播放。同样值得注意的是,输出文件虽然缩短了5-7%,但却大约增加了15%。

是否有任何其他图书馆,我不知道我可能会考虑?
我试图想象是提供方便地访问最常见的视频格式,让我有弹出不需要的画面,并更新文件头,不钻研每个格式的细节的能力的抽象层。

回答

0

为什么不使用

#import os 
start = '00:00:08.345' # HH:MM:SS[.xxx] format 
duration = '00:00:10' 

os.system('ffmpeg -i path/to/input.mp4 -vcodec copy -acodec copy -ss ' + start + ' -t ' + end + ' path/to/file.mp4')` 

这应该input.mp4并削减了10秒开始8.345秒无需重新编码的文件。你可能想要使用很多FFMPEG python包装,但这是我能想到的最简单的方法。