조회 수 8875 추천 수 2 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

FFmpeg 명령어 구조와 샤나인코더 작동 방식 이해와 샤나인코더 영상 사이즈 변경 옵션을 통한 FFmpeg 필터의 기초 이해에서 언급했듯이, 필터를 사용할 때는 다음의 사항을 반드시 기억해야 합니다.

 

① 필터들은 앞에 오는 순서대로 우선적으로 처리된다.

② 필터들은 (공백 없이) 쉼표(,)로 구분한다.

③ 필터 내의 옵션들은 콜론(:)으로 구분한다.

④ 필터 내에서 "옵션=" 부분이 생략되어 설정값만 나올 경우, 설정값은 필터의 옵션 순서에 따라 자동으로 할당된다.

 

쉼표로 구분된 필터들은 앞 필터에서 출력(output)되는 비디오/오디오 스트림을 입력값(input)으로 받아 처리하게 됩니다. 이렇게 동일한 비디오/오디오 스트림을 순차적으로 처리하는 필터들의 고리를 필터 체인(filter chain)이라고 합니다.

 

그리고, 비디오 필터 체인은 -vf 명령어 뒤에, 오디오 필터 체인은 -af 명령어 뒤에 옵니다.

 

□ 예제를 통해 보는 로고/워터마크 제거

가장 간단한 필터 적용의 예로 로고/워터마크 제거하기를 보겠습니다.

 

기본적으로 로고나 워터마크가 없는 원본을 구하는 것이 가장 이상적이지만, 로고/워터마크가 있는 영상밖에 구할 수 없는 경우 로고를 최대한 지우는 필터로는 delogo가 있습니다.

 

영상에 텍스트 로고를 입히는 프리셋에서 예제로 만들어봤던 다음 영상이 원본이라고 가정하고, 이 영상에서 우상단에 붙은 로고를 제거해 보도록 하겠습니다.

 

 

비디오 필터에서 위치와 크기를 결정할 때는 좌표를 이용하는데, 입력되는 비디오 스트림의 왼쪽 윗부분 모서리가 기준점이 되어 좌표 x=0, y=0이 되고 수평으로는 오른쪽 방향, 수직으로는 아래쪽 방향으로 좌표를 측정합니다. 크기는 물론 픽셀 단위입니다.

 

원본 영상에서 로고(를 둘러싸는 직사각형)는 화면의 우상단에 5초에서 51초 정도 사이에만 나타나고, 가로 크기는 약 134픽셀, 세로로는 32픽셀 정도의 크기를 가집니다.

 

 

delogo 필터는 로고(를 둘러싸는 직사각형)의 왼쪽 윗부분 모서리의 좌표와 크기를 입력값으로 받습니다. (delogo 필터 매뉴얼)

 

그림에서 보듯 스크린샷으로 측정한 로고의 왼쪽 윗부분 모서리의 좌표는 가로 1,116픽셀, 세로 28픽셀(x=1116, y=28)이고, 로고의 크기는 가로 134픽셀, 세로 32픽셀이므로, 샤나인코더에서 F7 필터 설정 창을 띄운 뒤 delogo 필터를 추가해서 다음과 같이 매개변수 설정을 하면 됩니다.

 

 

  • 매개변수 설정값:

x=1116:y=28:w=134:h=32:enable='between(t,5,51)'

 

FFmpeg의 필터 중에는 특정 조건에만 적용할 수 있는 필터들이 있는데 이러한 기능을 timeline editing이라고 합니다. 이러한 필터들은 고유의 옵션 외에 enable 옵션을 지원하여 조건을 설정할 수 있습니다.

 

delogo 필터는 timeline editing을 지원하는 필터입니다. 위의 설정값 중 enable='between(t,5,51)'은 '5초에서 51초 사이에만 delogo 필터를 적용하라'는 의미입니다.

(between을 따옴표로 감싼 이유는 between 안의 매개변수 구분자인 쉼표(,)-vf 옵션의 필터 간 구분자로 인식되지 않도록 하기 위함입니다.)

 

이렇게 설정된 필터는 실제 FFmpeg 명령어로는 다음과 같이 입력되는 것을 매개변수 창(F8)을 띄워 확인할 수 있습니다.

 

 

실제 이 설정을 적용해서 인코딩하면 아래와 같은 영상을 얻습니다.

 

 

□ 추가적인 내용 1

샤나인코더에서 사용할 수 있는 필터 목록은 샤나 필터 매개변수 도움말에서 찾아볼 수 있습니다.

 

그리고 특정 필터의 옵션 목록 및 사용 예제들은 필터 매개변수 도움말에서 찾을 수 있습니다.

 

□ 추가적인 내용 2

경우에 따라서는 하나의 비디오 스트림을 여러 개의 필터 체인들이 병렬적으로 처리하거나(하나의 비디오 스트림을 split하여 각각 따로 처리하는 경우), 여러 개의 비디오 스트림을 여러 개의 필터 체인들이 병렬적으로 처리하는 경우(concat 필터와 같이 여러 개의 동영상을 이어붙이기하는 경우)가 있는데, 이런 필터 체인들의 병렬적인 묶음필터그래프(filtergraph)라고 합니다.

 

필터에 따라서는 여러 개의 비디오 스트림을 입력값으로 받거나 출력값으로 내놓는 경우가 있는데, 이럴 때는 -vf 대신 -filter_complex 또는 -lavfi 명령어 뒤에 그런 필터들을 놓습니다.

 

샤나인코더에서는 필터그래프를 지원하긴 하지만 약간의 제약 사항이 있습니다. 자세한 내용은 이 게시물에 달린 Rina님의 댓글을 참고하시기 바랍니다.

 

이 글을 추천한 사람
대붕 Rina
Facebook Twitter Pinterest Kakao
  • ?
    JKyle 2020.05.15 00:49

    다중 구간에서 적용하는 방법은 이 게시물의 댓글 부분을 참고하시기 바랍니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수 추천 수
33 샤나에서 HEVC(x265)로 2패스 인코딩하기 12 file JKyle 2018.08.28 14805 0
32 샤나인코더 4.9 버전부터 추가된 편의기능 >>프리셋 메뉴 및 설정 메뉴를 빠르게 열기<< file Rina 2018.06.28 7470 0
31 하드웨어 가속 디코딩을 꺼서 인코딩 속도를 높이기 6 JKyle 2018.06.19 27901 1
30 소장용 고화질 1080p 영상 인코딩 팁 2 퍼플군단 2018.06.12 30135 0
29 샤나인코더와 자막, Q&A 1 file JKyle 2018.05.31 21058 2
28 QuickTime/Apple TV에서 재생이 안 되는 HEVC mp4/m4v 동영상 문제 해결 2 file JKyle 2018.05.21 4937 1
27 HD(720p) 이상 고해상도 동영상을 HD의 WebM(VP9, Opus 코덱)으로 인코딩하기 file JKyle 2018.05.20 5564 0
26 wINDOWS10 멀티 데스크톱 정군 2018.05.07 2645 0
25 HDR 영상 인코딩하기! 8 황금별똥 2018.01.23 9187 0
24 ASS 자막 파일을 aegisub으로 작업 시 libass를 사용하세요. file Rina 2018.01.20 4787 1
23 MP3 파일 비트레이트 320 이상 설정방법 / 자막크기 및 자막 위치 설정 방법 1 file 능소화 2017.10.28 5744 0
22 AMD 플루이드모션 60프레임 인코딩 (real 프레임레이트) 설정방법 (ffmpeg 프레임 보간기법) 23 file 능소화 2017.06.06 24393 0
21 막강한 ★샤나인코더★ 기능 제대로 사용하기 [영상-음성 분리하기 및 외부 음성파일 넣기] 37 file 능소화 2017.04.15 35385 4
20 2Audio 내장 플레이어로 재생시 기본재생 음성 지정하기 file 능소화 2017.04.09 5043 1
19 메타데이터, 챕터정보 삽입하기 1 file Rina 2017.04.02 4215 2
18 [TIP] 기존의 '귀여운 소녀' 아이콘으로 돌아가기 1 file 유밍 2017.03.30 10666 0
17 ※ 설정방법 / 프리셋파일포함 ※ 샤나인코더외부 자막 Mux 기능 추가 [v 4.5.1] 9 file 능소화 2017.03.30 15990 2
16 MKV 포맷에 ErrorDetectionType 에 대해서(지우는 방법 포함) file Rina 2017.03.14 3567 0
15 8쓰레드 부터 점유율 100프로 못찍을때 해결방법 입니다. 쩌는사냐인코더 2017.03.11 9157 0
14 webm VP9 인코딩 속도 올리는 방법 1 file 마소리스 2017.01.18 8251 0
Board Pagination Prev 1 2 3 4 Next
/ 4