我有一个用例,我需要将716x1280mp4 视频缩小到358x640(原始视频的一半)。我使用的命令是
ffmpeg -i ./input.mp4 -vf "scale=640:640:force_original_aspect_ratio=decrease,pad=ceil(iw/2)*2:ceil(ih/2)*2" ./output.mp4
Run Code Online (Sandbox Code Playgroud)
在 10 个示例视频中,其中 2 个受到颜色影响。下面我附上了一个与受影响最大的比较。
注意:右侧的一帧来自原始视频,左侧的一帧来自已处理(缩小)的视频。注意图像中的红色和绿色(甚至皮肤颜色和头发颜色也发生了变化)。
我正在寻找的是
编辑:
我已经尝试过什么?
-crf 值为 0 和 18。-preset veryslow正如这里提到的没有帮助
Mediainfo 输入 V/S 输出
| 参数 | 输入 | 输出 |
|---|---|---|
| 颜色范围 | 有限的 | NA(属性不在描述中) |
| 原色 | BT.2020 | NA(属性不在描述中) |
| 传递特性 | HLG | NA(属性不在描述中) |
| 矩阵系数 | BT.2020 非常数 | NA(属性不在描述中) |
| 位深 | 8 | 8 |
ffmpeg 命令的日志
ffmpeg -i ./input.mp4 -vf "scale=640:640:force_original_aspect_ratio=decrease,pad=ceil(iw/2)*2:ceil(ih/2)*2" -movflags +faststart ./output.mp4
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg …Run Code Online (Sandbox Code Playgroud) 我正在尝试计算处理后的视频与原始文件的VMAF分数。
我使用过的命令:
ffmpeg -y -loglevel info -stats -i original.mp4 -i processed.mp4 -lavfi "[0]null[refdeint];[refdeint]scale=1920:1080:flags=neighbor[ref];[1]setpts=PTS+0.0/TB[b];[b]scale=1920:1080:flags=neighbor[c];[c][ref]libvmaf=log_fmt=json:phone_model=1:model_path={model_path_here}/vmaf_v0.6.1.json:n_subsample=1:log_path=log.json" -f null -
Run Code Online (Sandbox Code Playgroud)
现在,根据此处vmaf with ffmpeg找到的官方文档,它表示文件,然后是文件。source/referenceencoded/distorted/processed
但我遇到的几乎所有博客都使用相反的参数顺序,即processed文件后面跟着文件original。
几个例子:
https://medium.com/@eyevinntechnology/keep-an-eye-on-the-video-quality-b9bcb58dd5a1:在其中搜索“在 FFMPEG 中使用 VMAF”。
https://websites.fraunhofer.de/video-dev/calculate-vmaf-and-psnr-with-ffmpeg/:在其中搜索“Metric Calculation with FFmpeg”。
编辑
注意:更改顺序确实会更改 VMAF 分数。