我是多媒体分析方面的新手。
我正在尝试使用 FFmpeg 从 .mp4 和 .flv 格式的视频中提取关键帧。问题是我对 command 中使用的参数感到困惑。 (仅选择 I 帧)。
select='eq(pict_type\,I)'
参数用于选择过滤帧的类型,可以采用以下值之一:
I P B S SI SP BI
在 Wikipedia 上搜索后,我对I,P,B帧有了一些基本概念,但仍然无法区分S,SI,SP和BI之间的区别。如何决定我应该在命令行中使用哪种类型的框架?
[更新]
我在H.264 高级视频压缩标准,第二版中找到了这些术语的一些定义。
- SI:用于在编码比特流之间切换的帧内编码切片 (H.264)
- SP: Inter-coded slice 用于编码间切换 比特流
最佳答案
SI 和 SP 图片类型是 H264 特定的。它们被提供用于各种目的,如比特流切换、拼接、随机访问、快进、快退和错误恢复/恢复。它们几乎与 I & P 类型相同。 SP pict-type 允许产生相同的重建,即使使用不同的引用图片也是如此。
BI 类型是 WMV9 或 VC-1 特定的。 BI 帧是 I 帧,不是关键帧;它就像一个 B 帧,只是内部帧除外。
S 类型是 S-VOP(Sprite Video Object Plane),特定于 Mpeg4 sprite 编码。
这些图片类型在视频编码中很少用到,你可能想忽略它们。
关于video - 有关 FFmpeg 中使用的过滤帧类型的详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34249820/