Какая команда ffmpeg создаст сжатие видео, аналогичное сжатию в Instagram? - PullRequest
0 голосов
/ 08 октября 2018

Я хочу снять видео и сжать его способом, аналогичным сжатию, которое использует Instagram.Какая команда ffmpeg может сделать это?

1 Ответ

0 голосов
/ 08 октября 2018

В настоящее время 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
  • Я бы не стал копировать эти настройки дословно (особенно * 1020)*) и поэкспериментировал бы с более простой командой, чтобы увидеть, что лучше всего подходит для ваших нужд.См. FFmpeg Wiki: H.264 .

  • Этот пример не выполняет обрезку.Для этого используйте фильтры кадрирование и / или масштаб .

...