0

我公司对用户发来的视频进行转码(我们自己的录屏软件录屏)

我使用 FFMpeg 使用以下命令完成工作:

 /ffmpeg/ffmpeg -i in.mov -vcodec libx264 -fpre /ffmpeg/ffpresets/libx264-slower.ffpreset   -y out.flv

目的是准备视频以在浏览器中查看。

问题是前10秒左右的质量真的很差。

什么会导致这种情况?我该如何解决?

预设设置:

coder=1
flags=+loop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me_method=umh
subq=8
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=2
qcomp=0.6
qmin=0
qmax=69
qdiff=4
bf=3
refs=5
directpred=3
trellis=1
flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip
wpredp=2
rc_lookahead=50

输入视频示例

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '84f42bcb67ac616635ef6f99057bbbc46d418295.mov':
Metadata:
    major_brand     : qt
    minor_version   : 537199360
    compatible_brands: qt
    creation_time   : 2012-03-07 13:45:16
  Duration: 00:15:56.00, start: 0.000000, bitrate: 4108 kb/s
    Stream #0.0(eng): Video: qtrle, rgb24, 1680x945, 3401 kb/s, 13.61 fps, 1k tbr, 1k tbn, 1k tbc
    Metadata:
      creation_time   : 2012-03-07 13:45:16
    Stream #0.1(eng): Audio: pcm_s16be, 44100 Hz, 1 channels, s16, 705 kb/s
    Metadata:
      creation_time   : 2012-03-07 13:45:16
4

2 回答 2

1

看起来您使用的是旧版本的 FFMPEG,请尝试更新并使用 lbx264(安慰剂 = 最高质量)中的预设而不是 FFMPEG 预设。

于 2012-03-25T19:58:09.223 回答
0

你有几个问题需要考虑:

  • 从 rgb24 到 yuv420p 会导致质量损失。您对此无能为力。

  • 您的 ffmpeg 可能使用了错误的默认设置。但是您没有提供控制台输出,所以我只能猜测。较旧的 ffmpeg 使用了非最佳设置。最近的 ffmpeg 使用健全的默认设置。由于您没有声明速率控制方法,因此将使用默认设置(或者-b 200k,或者-crf 23取决于您的 ffmpeg 版本)。

  • 您似乎正在手动指向预设。FFmpeg 不能神奇地使用任何和所有随机预设。您必须使用 ffmpeg 版本附带的预设,但我不确定这是否适用于您,因为您没有提供输入 ffmpeg 命令后出现的完整、未删减的控制台输出。

于 2012-03-23T18:11:53.423 回答