0

我有一个 MKV,其视频流的分辨率错误为 1920x800,但内部胶片为 1920x1080,因此我的主要视频播放器 LG 智能电视显示的是扁平图像。我可以轻松更改容器元数据中的分辨率,但 LG TV 会忽略此数据并仅读取视频流数据。

第一个问题:更改视频流分辨率数据的唯一方法是缩放视频?

为了使用 ffmpeg 进行缩放,我使用了以下命令:

ffmpeg -i input.mkv -map 0 -c:a copy -c:s copy -c:v libx264 -preset slow -crf 17 -vf scale=1920:1080,setdar=16/9 output.mkv

现在 mkv 很好,我的 LG 电视读到了,看起来很棒但是.....大小从 3,3Gb 变成了 12Gb!3,3Gb 视频的总比特率为 2.704 Kbps,12Gb 为 9.829 Kbps。我认为 7000Kbps 以上是没用的,在原始视频中没有提高质量的信息。

第二个问题:为什么会有这么大的尺寸变化?我的错误是什么?

此致

4

1 回答 1

0

-crf选项可能有点低。该值可以是 0 - 51,其中 23 是正常值。0 质量很高,51 质量很差。试试-crf 23

如果时间不是您的考虑因素(转换速度),请尝试预设-preset veryslow

于 2014-12-10T11:19:55.787 回答