2012-12-11 3 views
2

4 개의 비디오를 하나의 비디오로 다중화하고 각 쿼드런트의 왼쪽 상단에 텍스트를 넣으려고합니다. vid1이 왼쪽 상단, vid2가 오른쪽 상단, vid3이 왼쪽 하단, vid4가 오른쪽 하단에있는 비디오를 성공적으로 멀티플렉싱 할 수 있습니다.4 비디오를 1로 멀티플렉싱하고 그림 텍스트 문제를

하지만 간단한 텍스트를 drawtext 명령과 함께 표시 할 수는 없습니다.

각 사분면에 원본 비디오 파일의 이름을 넣고 싶습니다. 좋은 사 업 비디오하지만 텍스트 : 나는 내가 같은 결과를 얻을 DrawText에 명령을 제거하면

ffmpeg.exe -i "vid1.mp4" -i "vid2.mp4" -i "vid3.mp4" -i "vid4.mp4" -filter_complex "[0:0]scale=iw/2:ih/2,pad=iw*2:ih*2[a];[1:0]scale=iw/2:ih/2[b];[2:0]scale=iw/2:ih/2[c];[3:0]scale=iw/2:ih/2[d];[a][b]overlay=w[x];[x][c]overlay=0:h[y];[y][d]overlay=w:h" -vf [0]drawtext=fontsize=12:fontcolor=white:fontfile="/Windows/Fonts/arial.ttf":text="vid1":x=35:y=35[out] "4UP_Video.mov" 

: 순간 내 명령에서

이있다. 내 가정은 다른 사분면에 대해 입력 스트림 #과 함께 또 다른 drawtext 명령을 추가한다는 것입니다.

[1]drawtext ... 

도움을 주시면 감사하겠습니다.

답변

1

drawtext 필터를 새 필터 대신 현재 필터 체인에 추가하십시오.

ffmpeg.exe -i vid1.mp4 -i vid2.mp4 -i vid3.mp4 -i vid4.mp4 -filter_complex "[0:0]scale=iw/2:ih/2,pad=iw*2:ih*2[a];[1:0]scale=iw/2:ih/2[b];[2:0]scale=iw/2:ih/2[c];[3:0]scale=iw/2:ih/2[d];[a][b]overlay=w[x];[x][c]overlay=0:h[y];[y][d]overlay=w:h,drawtext=fontsize=12:fontcolor=white:fontfile=/Windows/Fonts/arial.ttf:text='vid1':x=35:y=35,drawtext=fontsize=12:fontcolor=white:fontfile=/Windows/Fonts/arial.ttf:text='vid2':x=(w/2)+35:y=35,drawtext=fontsize=12:fontcolor=white:fontfile=/Windows/Fonts/arial.ttf:text='vid3':x=35:y=(h/2)+35,drawtext=fontsize=12:fontcolor=white:fontfile=/Windows/Fonts/arial.ttf:text='vid4':x=(w/2)+35:y=(h/2)+35" 4UP_Video.mov 

superuser.com의 미래는 FFmpeg 사용 질문을하시기 바랍니다. 스택 오버플로는 프로그래밍에만 제한됩니다.

+0

챔피언처럼 일했습니다. 감사합니다. – user1895639