使用什么ffmpeg命令可以产生类似Instagram压缩的视频压缩?

3

我想将视频压缩成类似Instagram使用的压缩方式。有什么ffmpeg命令可以实现这个功能?


你想匹配哪些样本? - Gyan
我注意到对于一个18秒的视频,他们压缩后只有1.16MB。我尝试达到类似的比率,但使用FFmpeg时最好的结果是它们的30倍。 - user592419
源视频和命令?Insta视频链接? - Gyan
1个回答

5

Instagram目前使用x264来编码视频,我查看的单个视频被裁剪为640x640并且没有声音。

获取文件信息

示例中未删除编码信息,因此您可以探测它以推断使用了哪些编码选项。

$ strings input.mp4 | grep x264
x264 - core 148 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=8 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=1638 vbv_bufsize=3276 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 aq=2:1.00

另外,您也可以使用mediainfo来获取此信息。

编码

基本上,在我的示例中使用了默认设置(-crf 23 -preset medium),还有一些其他选项:

ffmpeg -i input -maxrate 1638k -bufsize 3276k -psy 0 -aq-mode 2 -movflags +faststart output.mp4
  • 我建议不要直接复制这些设置(尤其是-psy 0),而是尝试使用更简单的命令来确定最适合您需要的设置。请参考FFmpeg Wiki: H.264

  • 此示例未执行裁剪。请使用crop和/或scale滤镜进行裁剪。


谢谢!这真的很有帮助。仅那个命令就将我的30倍比较减少到了12.5倍。我会再尝试一些来获得更好的速率。 - user592419
@user592419 当你将相同的源代码上传到Instagram时,结果是否类似? - llogan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接