-1

我之前使用过AWS服务MediaConvert将视频转换为另一种格式,有时视频的前半分钟会只是灰色,但随着视频的进行它会变得更好。下面提供了一个示例框架。如果视频中的对象移动很多,它会恢复更多颜色。

今天偶然发现用opencv把mp4转成avi,同样的事情又发生了。有谁知道为什么会发生这种情况以及如何防止它?

在此处输入图像描述

4

1 回答 1

0

您介意发布您正在使用的输出设置吗?

对于视频质量设置,我会说确保您的设置包含以下内容:

启用场景变化检测
自适应量化设置为自动
将配置文件设置为 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

于 2021-03-23T16:19:56.630 回答