레터박스 대신 흐린 원본 영상을 원본의 배경으로 깐 16:9 영상으로 만드는 프리셋입니다.
(가로폭이 16:9보다 큰 원본에 맞춘 프리셋 추가 - 2020.08.30)
(1:1 영상으로 만드는 프리셋 추가 - 2020.08.30)
프리셋 파일 다운로드: 흐린 원본을 16대 9 배경으로 깔기 - 가로폭이 작은 원본.xml
<사용한 필터들>
split: 하나의 비디오 스트림을 두 개의 동일한 스트림으로 복사
boxblur: 비디오 스트림을 흐리게(블러) 처리
overlay: 두 개의 비디오 스트림을 입력 받아 첫 번째 스트림 위에 두 번째 스트림을 겹쳐 놓음
scale: 해상도 변경
crop: 화면 잘라내기
각각의 필터에 대한 설명은 매개변수 도움말 > 필터 페이지를 참고하시기 바랍니다.
■ 비디오 필터 매개변수
=========================================================================================
-vf "split[a][b];[a]scale=ih*16/9:-1,boxblur=luma_radius=min(h\,w)/20:luma_power=1:chroma_radius=min(cw\,ch)/20:chroma_power=1[bg];[bg][b]overlay=(W-w)/2:(H-h)/2,crop=h=iw*9/16"
// split[a][b]
// filter_complex가 아닌 vf 옵션을 쓰기 위해 비디오 스트림을 입력 받아 두 개의 비디오 스트림 [a]와 [b]로 복사
// [a]~[bg] 부분은 [a] 스트림을 input으로 받아 [bg]라는 임시 output을 만듦
// scale=ih*16/9:-1 로 원본 비디오를 원본의 높이와 16:9의 비율로 맞는 넓이로 가로폭을 넓히고
// 세로는 새롭게 넓어진 가로폭에 맞게 확장(-1)해 줌
// 16:9보다 가로 비율이 큰 영상에 적용하기 위해서는
// 아래와 같이 수정하여 세로폭을 원본의 넓이에 맞춰 16:9 비율로 확장하고 가로를 확장된 세로에 맞춰(-1) 확장
// scale=-1:iw*9/16
// boxblur=luma_radius=min(h\,w)/20:luma_power=1:chroma_radius=min(cw\,ch)/20:chroma_power=1
// 이 부분은 확장된 원본 비디오를 나중에 배경으로 쓰기 위해 흐리게 만드는 부분
// 결과로 만들어지는 배경 비디오를 [bg]로 이름 붙임
// [bg]는 원본 비디오에 비해 크기가 확장된 상태
// [bg][b]overlay=(W-w)/2:(H-h)/2
// 이 부분은 [bg]와 [b]를 input으로 받아 [bg]를 배경으로 [b]를 그 위에 겹치는 명령어
// (W-w)/2:(H-h)/2 는 [bg]의 정가운데에 [b]를 올리는 옵션 (대문자는 첫 번째 입력, 소문자는 두 번째 입력의 매크로 변수)
// crop=h=iw*9/16
// 넓이에 비해 과도하게 높아진 높이를 16:9 비율에 맞게 잘라줌
// 16:9보다 가로 비율이 큰 영상에 적용하기 위해서는
// 아래와 같이 수정하여 높이에 비해 과도하게 넓어진 넓이를 16:9 비율에 맞게 잘라줄 것
// crop=w=ih*16/9
=========================================================================================
■ 주의 사항 및 사용법
- 원본 영상은 반드시 16:9보다 가로 비율이 작아야 합니다. 세로를 1로 기준할 때 16:9의 가로 비율은 1.78이므로 16:10, 4:3, 1:1 등 1.78보다 가로 비율이 작은 영상에는 적용 가능합니다.
- 보통 16:9보다 가로 비율이 큰 영화 영상에는 적용할 수 없습니다. 1.85:1, 2.35:1 등. 이 경우엔
필터의 scale 부분과 crop 부분만 수정하면 됩니다. 단 그 경우엔 원본의 위와 아래에 16:9의 화면 비율에 맞춰 흐린 배경이 들어가게 됩니다. 설명을 참고로 직접 만들어 보시기 바랍니다. 흐린 원본을 16대 9 배경으로 깔기 - 가로폭이 큰 원본.xml 프리셋을 적용하시기 바랍니다. (상하에 블러 생성)
- 16:9가 아닌 다른 비율로 output을 만들고 싶다면 16/9와 9/16만 바꿔주면 됩니다. 단, 원본이 새로 바뀌는 비율보다 가로 비율이 작아야 적용할 수 있다는 점은 동일합니다.
- 배경의 흐림 정도를 조정하려면 boxblur 필터의 옵션들인 luma_radius, luma_power, chroma_radius, chroma_power 값을 살짝살짝 조정해 가면서 만족스러운 값을 찾으시기 바랍니다. (boxblur 필터의 옵션들에 대한 설명은 필터 매개변수 도움말 해당 부분을 참고)
- 오른쪽 클릭 메뉴인 [구간 설정/잘라내기] ⇒ 잘라내기를 사용해 원본의 쓸데없는 검은 여백을 제거할 수 있습니다. (단, 잘라낸 해상도가 폭과 높이 모두 짝수가 되도록 할 것)
- 빠른 설정(F6)의 영상 사이즈 변경 옵션을 통해 최종 출력되는 영상의 해상도를 변경할 수 있습니다.
<제작에 참고한 포스팅>
프리셋을 적용하여 인코딩한 영상의 샘플은 아래 유튜브 영상을 참고하십시오.
■ 주의 사항 및 사용법 (정사각형 배경)
- 흐린 원본을 정사각형 배경으로 깔기 - 가로폭이 작은 원본.xml 은 원본이 정사각형보다 가로폭이 작을 때, 즉 휴대폰 세로 촬영 같은 경우에 적용 (좌우에 블러 생성)
- 흐린 원본을 정사각형 배경으로 깔기 - 가로폭이 큰 원본.xml 은 원본이 정사각형보다 가로폭이 클 때, 즉 4:3이나 16:9, 2.35:1 영화 영상 등에 적용 (상하에 블러 생성)
[업데이트]
- 빠른 설정 기능을 사용하기 위해 split 필터를 추가하여 필터의 입력과 출력 비디오 스트림 수가 하나가 되게 함 (2020.03.10)
- 필터 입력 비디오 스트림을 원본 비디오 스트림에 제한하지 않기 위해 스트림 지정자 [0:v] 삭제 (2020.08.30)
- 1:1 정사각형 영상으로 만드는 프리셋들 추가 (2020.08.30)
- 16:9보다 가로폭이 큰 원본을 위한 16:9 프리셋 추가 (2020.08.30)