python - 如何使用 FFmpeg 从视频中剪切/删除特定的未解码 h.264(关键)帧?

标签 python video ffmpeg video-processing h.264

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为 on-topic对于堆栈溢出。


9 个月前关闭。







Improve this question




我想通过删除关键帧来故意“破坏”视频,以便以下 P 帧引用错误的关键帧。这也被称为 Datamoshing,虽然已经有工具可以为我做到这一点,但我想自己编程。
据我了解,我最好的尝试是使用比特流过滤,
但这不起作用:ffmpeg -i Input.mp4 -c copy -bsf:v noise=drop='gt(t\,30)*key' output.mp4它确实适用于 not(key)如果我能够将视频分割成未解码的帧,那就更好了。
然后能够将其重新组合成缺少特定帧或添加其他帧的视频。
对于这种方法,我只发现了这个:ffmpeg -i input.h264 -c:v libx264 -filter:v "select=gte(n\,25)" -frames:v 1 -f h264 frame.h264但它一次只做一帧,我不知道它是否真的保持它的帧类型,因为(如果我错了,请纠正我)它是用这个命令解码和编码的。
任何帮助表示赞赏!甚至完全不同的方法。

最佳答案

抱歉,是我的错。我没有添加 t作为直接变量。使用pts*tb在它的位置。ffmpeg -i Input.mp4 -c copy -bsf:v noise=drop='gt(pts/tb\,30)*key' output.mp4

关于python - 如何使用 FFmpeg 从视频中剪切/删除特定的未解码 h.264(关键)帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69605164/

相关文章:

assembly - 了解 NASM 宏

python - 使用 Python 检查列表中的前一个元素,并使用 Pandas 根据前一个元素将值存储在新列中

Python/Dictionary/List/Mongo 插入问题-初学者

python - 合理化python中的包结构

swift - 无法以编程方式向视频添加约束

python - 在 Python/OpenCV 中,有没有一种方法可以快速滚动视频帧,允许用户选择要处理的开始帧和结束帧?

ffmpeg - 使用 ffmpeg 将 mp4 转换为 gif 时降低 fps

Python条件变量赋值

angularjs - UI路由器状态更改,在下一个状态触发youtube视频播放

ruby-on-rails - Paperclip AV 转码器无法在远程服务器上运行