-1

我正在使用以下命令在视频文件上添加文本水印(对于 mp4、mpg、m4v、flv、mov 等):

ffmpeg -i input.mp4 -vf "drawtext=text='Opentext':x=(w-text_w)/2:y=(h-text_h)/2:fontsize=24:fontcolor=white" TextOutput.mp4

对于某些文件转换,视频文件的属性会发生变化。例如-当我尝试在 mkv 文件上添加文本水印时,我收到了以下消息:

[matroska @ 0000001867d36ec0] 输出流 0:1 中的非单调 DTS;上一个:2273,当前:1596;更改为 2273。这可能会导致输出文件中的时间戳不正确。

这是我在这里提到的问题之一。还有其他的,例如:

  • 视频质量降低
  • 视频文件大小发生变化(急剧增加/减少)
  • 发生音频滞后等...

所以,我想在添加文本水印后保留视频的质量。我怎样才能做到这一点?

4

1 回答 1

0

使用-crf(恒定速率因子)来提高图像质量。
数字越小质量越高(在可能的情况下),但编码时间更慢。测试一个好数字。

也用于b:v设置良好的视频比特率(例如: 250035004000

尝试:

ffmpeg -i input.mp4 -vf "drawtext=text='Opentext':x=(w-text_w)/2:y=(h-text_h)/2:fontsize=24:fontcolor=white" -c:v libx264 -pix_fmt yuv420p -crf 20 -c:a copy TextOutput.mp4
于 2021-01-08T16:22:52.413 回答