video - 有关 FFmpeg 中使用的过滤帧类型的详细信息

标签 video ffmpeg frame multimedia

我是多媒体分析方面的新手。

我正在尝试使用 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/

相关文章:

video - ffmpeg - 使用 -debug mb_type 命令检索视频宏 block 信息

video - 使用 ffmpeg 进行动态转码和 HLS 流式传输

bash - 检测 bash 脚本中的程序错误?

macos - OS X bash For 循环只处理目录中的一个文件

android - 我们可以编辑 Honeycomb 的默认媒体播放器吗?

html - 在 HTML5 视频标签中使用属性的正确方法是什么

c++ - 在提供的时间Qt中获取视频帧

Java:获取 JFrame 内容的大小

windows-phone-7 - 所有页面的 Windows Phone 标题相同

java - 刷新主框架时没有任何反应(JAVA)