1

У меня есть ffmpeg 3.2 на коробке Linux.

ffmpeg version 3.2.10-1~deb9u1~bpo8+1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)

Я могу добавить оверлей к видео, используя следующую команду.

/usr/bin/ffmpeg -y \
   -i "INPUT.MP4" \
   -i "WM.PNG" \
   -filter_complex " \
    [1:v]format=rgba,colorchannelmixer=aa=0.4[fg]; \
[fg]setsar=1[logo]; \
[0][logo]overlay=10:10" \
"OUTPUT.MP4"

Это записывает выходной файл с прозрачным наложением и сохраняет исходную звуковую дорожку.

Как мне изменить команду - я хочу, чтобы на выходе mp4 показывалось неподвижное / полнокадровое изображение, скажем, в течение 5 секунд, добавленное в конце видео.

Если мне нужно использовать сгенерированный звук, чтобы использовать неподвижное изображение, мы можем использовать тишину.

Если мне нужно указать формат для выходного файла mp4, мы могли бы использовать видео x264 и аудио mp3/ стерео.

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input-2min.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
  Duration: 00:02:06.17, start: 0.000000, bitrate: 2677 kb/s

    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 2494 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      handler_name    : VideoHandler

    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 175 kb/s (default)
    Metadata:
          handler_name    : Stereo

1 ответ1

0

использование

/usr/bin/ffmpeg -y \
   -i "INPUT.MP4" \
   -i "WM.PNG" \
   -loop 1 -t 5 -i "End.png" \
   -filter_complex " \
    [1:v]format=rgba,colorchannelmixer=aa=0.4,setsar=1[logo]; \
[0][logo]overlay=10:10[main]; \
[main][2]concat" \
   -af apad -shortest \
"OUTPUT.MP4"

Апад должен удлинять аудио до бесконечности. -shortest - остановить файл, когда заканчивается видеопоток.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .