关闭。这个问题不符合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/