Где я ошибся - основная проблема FFmpeg (Linux) - PullRequest
0 голосов
/ 22 марта 2019

Я только начал изучать FFmpeg. У меня есть код (как показано ниже), но он ничего не делает.

fmpeg -i videoplayback.mp4 -filter_complex "[1:v]trim=start=0:end=1,setpts=PTS-STARTPTS,scale=480x360,setsar=sar=16/9[intro1];
[1:v]trim=start=1:end=123.39,setpts=PTS-STARTPTS,scale=480x360,setsar=sar=16/9[main1];
[1:v]trim=start=123.39:end=124.39,setpts=PTS-STARTPTS,scale=480x360,setsar=sar=16/9[end1];
[intro1]format=pix_fmts=yuva420p, fade=t=in:st=0:d=1:alpha=1[intro1];
[end1]format=pix_fmts=yuva420p, fade=t=in:st=0:d=1:alpha=1[end1];
[intro1][main1][end1][output];
[a:1][audio]; -vcodec libx264 -map "[output]" -map"[audio]" "output.mp4"

1 Ответ

1 голос
/ 22 марта 2019
  • fmpeg должно быть ffmpeg.
  • У вас есть только один вход, поэтому [1:v] должно быть [0:v] (отсчет начинается с 0).
  • Нетнужна альфа для затухания, потому что вы не перекрываете или не смешиваете кадры.
  • Конечное затухание должно быть затуханием (не затуханием).
  • Нельзя повторно использовать метки выходных фильтроввнутри фильтра.
  • Некоторые из ваших цепочек фильтров могут быть объединены.
  • Некоторые из ваших ярлыков не связаны с фильтром (кажется, вы забыли использовать фильтр concat).
  • Вы можете добавить масштаб и сетсар в конце, вместо того, чтобы использовать их для каждого сегмента.
  • Заменить последний ; на ".
  • Вы неправильно отобразили звук.
  • Потоковое копирование (повторное мультиплексирование) аудио.

Пример:

ffmpeg -i videoplayback.mp4 -filter_complex "[0:v]trim=end=1,setpts=PTS-STARTPTS,fade=t=in:d=1[intro];[0:v]trim=start=1:end=123.39,setpts=PTS-STARTPTS[main];[0:v]trim=start=123.39,setpts=PTS-STARTPTS,fade=t=out:d=1[end];[intro][main][end]concat=n=3:v=1:a=0,scale=480x360,setsar=16/9[v]" -map "[v]" -map 0:a -c:a copy output.mp4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...