我知道这可能是一个微不足道的问题,但到目前为止,我尝试过的各种解决方案都没有运气,我确信必须有一种方便的方法来实现这一点。
如何在不切片、合并和重新编码的情况下从视频文件中删除帧/毫秒?
我发现的所有解决方案都涉及将不同时间导出为各种格式,我希望没有必要这样做。
使用ffmpeg
/avconv
必须将临时流转换为.ts
,然后连接,最后以原始格式重新编码。
Python 库MoviePy
似乎完全符合我的需要,但是:
- 该
cutout
函数返回一个无法导出的文件,因为该write_videofile
函数尝试获取已删除的帧但失败 - 如果我改为将原始文件分割成各种剪辑,然后将它们与 合并
concatenate_videoclips
,则导出不会失败,但会占用视频长度的两倍。生成的视频具有更快的帧速率,只有连接视频的提示点被及时放置,音频以正常速度播放。还值得注意的是,输出文件尽管持续时间缩短了 5-7%,但大约大了 15%。
还有其他我不知道我可能会研究的图书馆吗?
我试图想象的是一个抽象层,可以轻松访问最常见的视频格式,让我能够弹出不需要的帧并更新文件头,而无需深入研究每种格式的细节。