У меня есть png-файлы высокого разрешения (без прозрачности) и mp4-файлы (без сглаживания), и когда я пропускаю их через граф фильтра для наложения друг на друга, получающееся видео заканчивается очень сильными артефактами сглаживания даже приниже crf
и выше pix_fmts
.
ffmpeg <...> -filter_complex_script movie.filter-script -vcodec libx264 out.mp4
, где на приведенном ниже графике зацикливается несколько png и накладывается mp4 на некоторые из них
[0:v] loop=loop=-1:size=1,trim=duration=3,setsar=1:1 [0v];
[1:v] loop=loop=-1:size=1,trim=duration=3,setsar=1:1 [1v];
[2:v] loop=loop=-1:size=1,trim=duration=3,setsar=1:1 [2v];
[4:v] loop=loop=-1:size=1,trim=duration=3,setsar=1:1 [4v];
[5:v] loop=loop=-1:size=1,trim=duration=3,setsar=1:1 [5v];
[17:v] scale=trunc(6.04*192):trunc(2.42*192) [17vs];
[18:v] scale=trunc(9.67*192):trunc(1.93*192) [18vs];
[3:v][17vs] overlay=trunc(1.98*192):trunc(2.81*192) [3vo];
[6:v][18vs] overlay=trunc(0.17*192):trunc(3.1*192) [6vo];
[0v][1v][2v][3vo][4v][5v][6vo] concat=n=7:v=1
Пример фрагмента диаграммыдо и после прохождения вышеприведенного графика ffmpeg (без наложения или изменения размера)
весь журнал -report
можно найти здесь .