Вопрос Применять эффект затухания на видео в нескольких местах


У меня есть видео в 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

3
2018-05-20 07:32


происхождения


Пожалуйста, включите ffmpeg консольный вывод, а не только сегмент. - LordNeckbeard
@LordNeckbeard Я добавил консольный вывод и информацию о видео. - gkd


ответы:


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

Вся фильтрация должна происходить в течение одного filtergraph, В этом примере будет использоваться затухающий видеофильтр чтобы исчезнуть в первых 25 кадрах и исчезнуть из последних 25 кадров видео с кадрами в 1000 кадров:

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

3
2018-05-21 07:03



Требование заключается в том, чтобы применять эффект выцветания в два разных раза с видео, то есть с третьей до четвертой секунды и с 7-го по 8-й. но я думаю, что команда, которую вы дали, должна работать, теперь тестируя это. - gkd
ffmpeg -i video.mp4 -vf "fade=out:91:29, fade=out:221:29" -acodec copy out.mp4 - эту команду не дают. .. :( - gkd
Btw благодарит @LordNeckbeard за интерес. - gkd
@mastkalandar Вы не можете выполнить два выхода из строя подряд. Первое исчезновение приведет к тому, что остальная часть видео будет только черным видео, поэтому второе исчезновение ничего не делает, поскольку видео уже исчезло до черного видео. Вам нужно будет исчезнуть, прежде чем вы сможете выполнить второе исчезновение. - LordNeckbeard
правильно @LordNeckbeard, я получил черный экран в видео, так или иначе я попытаюсь исправить что-то по-другому. Я имею в виду применение постепенного исчезновения только с 3-й до 4-й секунды и сохранение в качестве временного видео, затем к этому временному видео, применяется постепенное исчезновение с 7-го по 8-й секунды .. чувство грусти bcz будет есть время процессора :( :( - gkd