ffmpeg: filter_complex를 사용하여 크로스페이드 블렌드 전에 이미지 크기 조정

ffmpeg: filter_complex를 사용하여 크로스페이드 블렌드 전에 이미지 크기 조정

블렌드 필터를 사용하여 다른 이미지에 크로스페이드된 한 이미지의 mp4를 만들려고 합니다 filter_complex.이 답변.

하지만 블렌딩하기 전에 두 이미지를 480p로 조정하고 싶습니다. 내가 사용하는 명령은 다음과 같습니다.

ffmpeg \
-loop 1 -t 1 -i field.jpg \
-loop 1 -t 1 -i island.jpg \
-filter_complex \
"[0:v]scale=hd480[v0]; \
 [1:v]scale=hd480[v1]; \
 [v1][v0]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b1v]; \
 [v0][b1v][v1]concat=n=3:v=1:a=0 [v]" -map "[v]" -threads 0 -preset ultrafast -y out.mp4

그러나 다음 출력에서는 연결이 실패한 것 같습니다.

Input #0, image2, from 'field.jpg':
  Duration: 00:00:00.04, start: 0.000000, bitrate: 409918 kb/s
    Stream #0:0: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 4000x2000 [SAR 72:72 DAR 2:1], 25 fps, 25 tbr, 25 tbn, 25 tbc
Input #1, image2, from 'island.jpg':
  Duration: 00:00:00.04, start: 0.000000, bitrate: 252593 kb/s
    Stream #1:0: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 4000x2000 [SAR 72:72 DAR 2:1], 25 fps, 25 tbr, 25 tbn, 25 tbc
[swscaler @ 0x57425e0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x577e4a0] deprecated pixel format used, make sure you did set range correctly
[Parsed_concat_3 @ 0x59c1c20] Input link in1:v0 parameters (size 852x480, SAR 80:71) do not match the corresponding output link in0:v0 parameters (4000x2000, SAR 72:72)
[Parsed_concat_3 @ 0x59c1c20] Failed to configure output pad on Parsed_concat_3
Error configuring complex filters.
Invalid argument

두 이미지 모두 4000x2000px이고,필드.jpg그리고섬.jpg.

어떤 도움이라도 정말 감사드립니다. 최근 야간 빌드 사용:

ffmpeg version N-81188-gcebad64-static

답변1

사용

ffmpeg -loop 1 -t 1 -i field.jpg -loop 1 -t 1 -i island.jpg  
       -filter_complex "[0:v]scale=-2:480,split[v0][cv0];
                        [1:v]scale=-2:480,split[v1][cv1];
 [v1][v0]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b1v];
 [cv0][b1v][cv1]concat=n=3:v=1:a=0 [v]" -map "[v]" -threads 0 -preset ultrafast -y out.mp4

필터 콤플렉스 내부에서 생성된 입력 패드는 한 번만 소비될 수 있습니다. 그래서 연결을 위한 하나의 복사본을 생성하기 위해 분할을 넣었습니다. 또한 -2:480종횡비를 유지하기 위해 크기를 로 변경했습니다 . 되돌릴 수 있지만 hd480종횡비 플래그를 준수하지 않는 웹 플레이어에서는 비디오가 왜곡되어 표시됩니다.

관련 정보