gpt4 book ai didi

image - 使用ffmpeg提取帧时,jpeg颜色比png更差?

转载 作者:行者123 更新时间:2023-12-04 22:48:32 25 4
gpt4 key购买 nike

在特定时间标记从视频中提取静止帧时,如下所示:
ffmpeg -i foobar.mp4 -vframes 1 -ss 4:20 -q:v 1 example.png
我注意到使用 PNG 或 JPG 会产生不同的颜色。(注意 -q:v 1 表示最高图像质量)

这里有些例子:

  • JPGPNG
  • JPGPNG
  • JPGPNG

  • 一般来说,JPG 的照片似乎比 PNG 的照片更暗,饱和度更低。

    exiftool 核对时或 imagemagick 的 identify ,两个图像都使用 sRGB 色彩空间并且没有 ICC 配置文件。

    知道是什么原因造成的吗?或者这两个中的哪一个是“正确的”?

    我还尝试使用我的视频播放器 (MPlayerX) 以 JPG 和 PNG 格式保存屏幕截图。在这种情况下,两种格式的帧转储看起来完全一样,它们看起来很像 ffmpeg 的 JPG 静止图像。

    最佳答案

    这与视频范围或级别有关。视频将颜色存储为亮度和色度,即亮度和色差,并且由于模拟信号时代的遗留原因,黑色和白色在 8 位编码中不表示为 0 和 255,而是分别表示为 16 和 235。视频流通常应该被标记为这种情况,因为人们也可以存储视频,其中 0 和 255 分别是 B 和 W。如果文件未标记或标记错误,则某些渲染或转换功能可能会产生错误的结果。但是我们可以强制 FFmpeg 以一种或另一种方式解释输入。

    利用

    ffmpeg -i foobar.mp4 -vframes 1 -ss 4:20 -q:v 1 -src_range 0 -dst_range 1 example.png/jpg

    这告诉 FFmpeg 假设工作室或有限范围并输出到全范围。由于颜色编码转换,颜色仍然不会相同,但主要变化应该消失。

    关于image - 使用ffmpeg提取帧时,jpeg颜色比png更差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38199238/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com