我之前使用过AWS服务MediaConvert将视频转换为另一种格式,有时视频的前半分钟会只是灰色,但随着视频的进行它会变得更好。下面提供了一个示例框架。如果视频中的对象移动很多,它会恢复更多颜色。
今天偶然发现用opencv把mp4转成avi,同样的事情又发生了。有谁知道为什么会发生这种情况以及如何防止它?
我之前使用过AWS服务MediaConvert将视频转换为另一种格式,有时视频的前半分钟会只是灰色,但随着视频的进行它会变得更好。下面提供了一个示例框架。如果视频中的对象移动很多,它会恢复更多颜色。
今天偶然发现用opencv把mp4转成avi,同样的事情又发生了。有谁知道为什么会发生这种情况以及如何防止它?
您介意发布您正在使用的输出设置吗?
对于视频质量设置,我会说确保您的设置包含以下内容:
启用场景变化检测
自适应量化设置为自动
将配置文件设置为 AVC 的高、HEVC 的主/高或 MPEG-2 视频编解码器的主
将参考帧设置为 3
将 b 帧设置为 2。
如果您在编码开始时看到灰色帧,也可能值得在您的输入源上运行以下 ffprobe [1] 命令,以确保您的第一帧是关键帧 (IDR) [2]。
ffprobe -i testme.mp4 -select_streams v:0 -show_frames | grep -E '(FRAME|key_frame=|pict_type=)'
输出将如下所示:
[FRAME]
key_frame=1
pict_type=I
[/FRAME]
[FRAME]
key_frame=0
pict_type=B
[/FRAME]
[FRAME]
key_frame=0
pict_type=B
[/FRAME]
[FRAME]
key_frame=0
pict_type=B
[/FRAME]
[FRAME]
....
== 资源 ==
[1] FFPROBE 下载:https
://ffmpeg.org/download.html
[2] 什么是 IDR 框架:https ://streaminglearningcenter.com/articles/everything-you-ever-wanted-to -know-about-idr-frames-but-were-afraid-to-ask.html