Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 如何使用FFMPEG将视频的第一帧转换为I帧,将其余帧转换为P帧?_Video_Ffmpeg_Data Moshing - Fatal编程技术网

Video 如何使用FFMPEG将视频的第一帧转换为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和/或其他命令行工具尽可能多地完成此过程,而不是使用vdub和avidemux

我遇到的第一个问题是,当我与VDub一起使用时,它只输出一个中断的视频。我感觉我几乎得到了我想要的,即使用以下命令将第0帧作为I帧,将所有其他帧作为P帧

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]