Video 如何使用FFMPEG将视频的第一帧转换为I帧,将其余帧转换为P帧?
我想试着做一些数据挖掘。但我希望能够通过编程实现,因此,我希望了解如何使用ffmpeg和/或其他命令行工具尽可能多地完成此过程,而不是使用vdub和avidemux 我遇到的第一个问题是,当我与VDub一起使用时,它只输出一个中断的视频。我感觉我几乎得到了我想要的,即使用以下命令将第0帧作为I帧,将所有其他帧作为P帧Video 如何使用FFMPEG将视频的第一帧转换为I帧,将其余帧转换为P帧?,video,ffmpeg,data-moshing,Video,Ffmpeg,Data Moshing,我想试着做一些数据挖掘。但我希望能够通过编程实现,因此,我希望了解如何使用ffmpeg和/或其他命令行工具尽可能多地完成此过程,而不是使用vdub和avidemux 我遇到的第一个问题是,当我与VDub一起使用时,它只输出一个中断的视频。我感觉我几乎得到了我想要的,即使用以下命令将第0帧作为I帧,将所有其他帧作为P帧 ffmpeg -i input.mp4 -force_key_frames 00:00:00.000 output.avi 这有几个问题 1) 我也得到了B帧,这不适用于这种类型
ffmpeg -i input.mp4 -force_key_frames 00:00:00.000 output.avi
这有几个问题
1) 我也得到了B帧,这不适用于这种类型的数据拼接
2) 每10帧左右仍然有I帧
我觉得问题在于我需要使用某个编解码器来编码视频,而且
-force\u key\u frames
可能只是强制添加额外的关键帧(I-frames),但不会阻止创建其他I-frames。尝试使用-keyint
标志。我相信您可以发送最小GOP长度(密钥间隔长度)
您需要知道文件中有多少帧,可以尝试将最小关键帧间隔设置为该长度
例如,尝试使用
-keyint
标志。我相信您可以发送最小GOP长度(密钥间隔长度)
您需要知道文件中有多少帧,可以尝试将最小关键帧间隔设置为该长度
即=keyint=[KEY INTERVAL VALUE]:min keyint=[MINIMUM KEY INTERVAL VALUE]