什么 ffmpeg 命令会产生类似于 Instagram 压缩的视频压缩?

use*_*419 3 compression ffmpeg instagram video-compression

我希望拍摄一段视频并以类似于 Instagram 使用的压缩方式对其进行压缩。什么 ffmpeg 命令可以做到这一点?

llo*_*gan 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
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用mediainfo来获取此信息。

编码

基本上-crf 23 -preset medium,我的示例中使用了默认设置 ( ) 和一些附加选项:

ffmpeg -i input -maxrate 1638k -bufsize 3276k -psy 0 -aq-mode 2 -movflags +faststart output.mp4
Run Code Online (Sandbox Code Playgroud)
  • 我不会费心逐字复制这些设置(尤其是-psy 0),并且会尝试使用更简单的命令来查看最适合您的需求的命令。参见FFmpeg 维基:H.264

  • 此示例不执行裁剪。查看裁剪和/或缩放过滤器来做到这一点。