3

У меня видео 12 секунд, частота кадров 30 кадров в секунду.

Я хочу применить эффект затухания к видео в нескольких местах, например, со второго 3-го по 4-е и со второго 7-го по 8-е.

Посмотрите на эту команду.

ffmpeg -i video.mp4 -strict experimental -vf fade=type=out:start_frame=91:nb_frames=29  -y final_out.mp4 

Приведенная выше команда добавляет эффект затухания с 3-й по 4-ю секунду правильно, теперь я запустил следующую команду

ffmpeg -i video.mp4 -strict experimental -vf fade=type=out:start_frame=91:nb_frames=29 fade=type=out:start_frame=211:nb_frames=29 -y final_out.mp4
and
ffmpeg -i video.mp4 -strict experimental -vf fade=type=out:start_frame=91:nb_frames=29 -y final_out.mp4 fade=type=out:start_frame=211:nb_frames=29

Никто из них не работает, получая следующий вывод

$ ffmpeg -i video.mp4 -strict experimental -vf fade=type=out:start_frame=91:nb_frames=29 fade=type=out:start_frame=211:nb_frames=29 -y final_out.mp4
ffmpeg version N-61041-g52a2138 Copyright (c) 2000-2014 the FFmpeg developers
  built on Mar  2 2014 05:45:04 with gcc 4.6 (Debian 4.6.3-1)
  configuration: --prefix=/root/ffmpeg-static/64bit --extra-cflags='-I/root/ffmpeg-static/64bit/include -static' --extra-ldflags='-L/root/ffmpeg-static/64bit/lib -static' --extra-libs='-lxml2 -lexpat -lfreetype' --enable-static --disable-shared --disable-ffserver --disable-doc --enable-bzlib --enable-zlib --enable-postproc --enable-runtime-cpudetect --enable-libx264 --enable-gpl --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-gray --enable-libass --enable-libfreetype --enable-libopenjpeg --enable-libspeex --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-version3 --enable-libvpx
  libavutil      52. 66.100 / 52. 66.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  2.100 /  4.  2.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf55.33.100
  Duration: 00:00:15.00, start: 0.000000, bitrate: 172 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 768x576 [SAR 9:8 DAR 3:2], 168 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler
[NULL @ 0x28c0760] Unable to find a suitable output format for 'fade=type=out:start_frame=211:nb_frames=29'
fade=type=out:start_frame=211:nb_frames=29: Invalid argument

Информация о видео приведена ниже

Я следил за этой документацией.

Есть ли способ применить эффект затухания на нескольких временных срезах ??

заранее спасибо

$ ffmpeg -i video.mp4 
ffmpeg version N-61041-g52a2138 Copyright (c) 2000-2014 the FFmpeg developers
  built on Mar  2 2014 05:45:04 with gcc 4.6 (Debian 4.6.3-1)
  configuration: --prefix=/root/ffmpeg-static/64bit --extra-cflags='-I/root/ffmpeg-static/64bit/include -static' --extra-ldflags='-L/root/ffmpeg-static/64bit/lib -static' --extra-libs='-lxml2 -lexpat -lfreetype' --enable-static --disable-shared --disable-ffserver --disable-doc --enable-bzlib --enable-zlib --enable-postproc --enable-runtime-cpudetect --enable-libx264 --enable-gpl --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-gray --enable-libass --enable-libfreetype --enable-libopenjpeg --enable-libspeex --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-version3 --enable-libvpx
  libavutil      52. 66.100 / 52. 66.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  2.100 /  4.  2.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf55.33.100
  Duration: 00:00:15.00, start: 0.000000, bitrate: 172 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 768x576 [SAR 9:8 DAR 3:2], 168 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler
At least one output file must be specified

1 ответ1

3

Я не понимаю, что вы имеете в виду под "дважды исчезать", поскольку после исчезновения видео становится черным, но этот ответ должен дать вам представление о том, как выполнить два перехода на одном входе.

Вся фильтрация должна происходить в одном фильтре. В этом примере будет использоваться видеофильтр замирания для затухания первых 25 кадров и затухания последних 25 кадров видео с 1000 кадрами:

ffmpeg -i input.mp4 -vf "fade=in:0:25,fade=out:975:25" -acodec copy out.mp4

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