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