Skip to menu

본문시작

방문자

Total : 7,849,961
today : 8,462
yesterday : 11,247

Pageview

Total : 46,555,739
today : 46,525
yesterday : 68,435


기능요청
2019.09.10 16:17

필터에 관해 질문 및 건의 드립니다

Views 28 Votes 0 Comment 3
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

늘 수고 많으십니다.

 

다름 아니라 이번에 gif 움짤 프리셋을 만들면서 겪게 된 일과 평소 직접 부딪쳤던 문제에 관련해서 질문 및 건의 드리려고 이 글을 작성합니다.

 

1. [구간 설정/잘라내기]와 기타 필터들 간의 관계, 우선순위

 

구간 설정은 FFmpeg의 -ss 와 -t 옵션을 사용하기 쉽게 만들어 놓으신 것으로 이해합니다.

 

이와 비슷하게 잘라내기 역시 crop 필터를 시각적으로 쉽게 적용하도록 만들어 놓으신 것으로 이해하는데,

문제는 이 기능이 어떤 상황에서 기존의 어떤 필터들을 무력화시키는지, 우선순위는 어떻게 되는지 파악하기가 힘들다는 것입니다.

 

우선 [구간 설정/잘라내기]에서의 잘라내기는 [빠른 설정] -> [영상 사이즈 변경] -> [비율변경]의 잘라내기(shanacrop 필터)와는 어떤 관계인지 모르겠습니다.

후자는 F7 필터 리스트와 F8 매개변수 창의 비디오 필터 쪽에 등장하지만, 전자의 경우 매개변수 창에도 나오지 않아서 다른 필터들과의 우선순위 관계가 어떻게 되는지도 알 수 없어 오직 시행착오로 직접 실험해 보는 수밖에 없더군요.

예를 들어, [빠른 설정] -> [영상 사이즈 변경]과 [구간 설정/잘라내기]에서 잘라내기를 동시에 적용시키는 경우 같은 것 말이죠.

 

또 [구간 설정/잘라내기]에서의 잘라내기가 어떤 상황에서 기존의 어떤 필터들을 무력화시키는지, 또는 충돌하는지 분명하지가 않습니다.

이번에 프리셋을 만들면서 fps와 scale을 적용해 보았는데, [구간 설정/잘라내기]에서의 잘라내기를 적용하면 이 두 필터가 무력화되더군요.

그런데 또 split과 palettegenpaletteuse 필터들은 잘 작동합니다.

결과로 예측하건대, 잘라내기가 필터 우선순위가 있는 것도 짐작되구요.

 

수요는 많지 않겠지만, 프리셋 제작에 참고할 수 있게 이런 부분에서 명확한 레퍼런스가 있으면 시행착오를 줄일 수 있겠다는 생각이 듭니다.

 

2. 필터 리스트

 

빌드하시는 FFmpeg 명령어 옵션을 설명서 게시판에 올리셨듯, 샤나인코더에서 사용 가능한 모든 필터들 리스트도 있으면 좋겠습니다.

어떤 필터들은, 예를 들어 paletteuse 같은 경우 F7 필터 리스트에 없는데도 가능하더군요.

프리셋을 제작할 때는 우선 F7을 눌러보고 원하는 필터가 있는지 살펴보는데, 이런 경우엔 직접 맨땅에 헤딩하면서 찾아보는 수밖엔 없습니다.

 

3. 필터그래프 입력/편집 창

 

이 부분은 건의사항입니다.

현재 F7은 필터 체인 옵션인 -vf 만 인식하는데 필터그래프 입력 옵션인 -filter_complex 나 -lavfi 도 인식했으면 좋겠습니다.

물론 GUI로 구현하기 힘든 부분이 있는 것은 알겠습니다만, 장기적으로는 구분자로 쉼표(,)와 콜론(:)만 가능한 필터 체인과 세미콜론(;)과 꺾인 괄호([])까지 사용할 수 있는 필터그래프를 모두 포괄할 수 있는 필터 편집 기능이 있으면 좋겠습니다.

 

※ 추가 건의

프리셋 자료실 게시물 작성에서 HTML 에디터를 적용해 주시면 감사하겠습니다.

프리셋을 올리면서 설명과 사용법, 예제 등을 게시해야 하는데 plain text로 작성하기엔 무리가 많습니다.

 

 

이상 장문의 글 읽어주셔서 감사합니다.

  • ?
    샤나 2019.09.10 18:46

    1. [구간 설정/잘라내기]에서 설정한 잘라내기 값은 로고 설정을 사용하지 않으면 vf를 이용하고 crop 필터를 사용하며 매개변수에서 보이지는 않지만 첫 번째 우선순위로 사용하게 됩니다.

    로고를 사용할 경우 vf가 아닌 filter_complex를 이용하고 crop 필터를 사용하며 마찬가지로 첫 번째 우선순위로 사용하게 됩니다.

    그러므로 현재 샤나인코더에서는 기본적으로 vf를 사용하기 때문에 filter_complex를 따로 사용하게 되면 충돌이 일어나게 됩니다.

    shanacrop 필터는 영상 사이즈 변경에서 비율변경 부분을 잘라내기로 선택했을 때 사용하고 crop 필터로 대체되며,

    shanapad 필터는 영상 사이즈 변경에서 비율변경 부분을 레터박스로 선택했을 때 사용하고 pad 필터로 대체됩니다.

    만약에 잘라내기 설정과 shanacrop 필터를 사용한다면 UI에서 보이는 건 -vf "crop(shanacrop)" 이지만 실제 적용되는건 -vf "crop(잘라내기 옵션),crop(shanacrop)" 이렇게 사용됩니다.

     

    <<참고사항>>

    FFmpeg에서는 "-vf/-af/-filter and -filter_complex cannot be used together for the same stream." -vf/-af/-filter와 -filter_complex를 동일 스트림에서는 함께 사용할 수 없습니다.

    그러므로 현재 샤나인코더에서는 vf와 af를 이용한 필터 구성을 권장하며 filter_complex 이용 시 잘라내기나 기타 샤나인코더 설정 중에서 vf나 af를 사용하는 모든 필터들을 수동으로 구성해야 합니다.

    (비디오 스트림만 filter_complex 구성 시 오디오는 af로 구성 가능)

     

    2. 필터 리스트

    필터 리스트 부분은 FFmpeg 새로운 버전으로 컴파일 시 매번 사용 가능한 필터들을 추가하되,

    앞서 설명한 이유 때문에 filter_complex를 이용하지 않아도 vf와 af를 사용하여 필터링할 수 있는 단순한 필터들만 목록에 표시되게 하였습니다.

    즉, 속성 중에서 VV->V 이런 필터들은 일부로 제외해놓았습니다.

    (이유는 기본적으로 샤나인코더가 vf와 af로 돌아가고 로고 설정을 사용했을 때 vf에 있던 것들을 filter_complex로 명령어를 다시 바꾸기 때문입니다.

    오디오 같은 경우 동일 스트림이 아니기 때문에 로고를 사용한다 해도 af 설정을 사용합니다.)

    그렇지만 사용가능한 필터들은 설명서 게시판에 따로 올려놓겠습니다.

     

    3. 해당 부분은 참고하겠으나 사실 동영상 편집에 가까워지는 부분이기 때문에 기존 샤나인코더에서 어떻게 하면 버그와 문제없이 기능을 추가해야 할까 생각해야 하는 부분입니다.

    기술적으로는 로고 설정 시 filter_complex를 사용하기 때문에 어려운 것은 아니지만 사용자가 복잡하지 않고, 새로운 기능 사용 시 문제가 발생하지 않도록 프로그램 코드를 수정해야 하기 때문에 고민해야 할 부분이 많습니다.

     

    프리셋 게시판의 글쓰기 부분을 자유게시판과 같이 기본 컴포넌트를 사용할 수 있도록 개선했습니다.

    감사합니다.

  • ?
    sSTSs 2019.09.11 03:17

    친절하고 자세한 설명 감사 드립니다.

     

    1.

    근데 동일한 -filter_complex 옵션 안에 넣었는데 왜 fps나 scale은 되지 않고 splitpalettegen이나 paletteuse는 되는지 이유를 모르겠습니다.

    paletteuse 같은 경우 속성이 VV -> V 인데도요. split도 V -> VV 구요.

    로고 사용 없는 잘라내기가 -vf 옵션을 따른다면, 같은 -filter_complex 옵션 안에 넣은 모든 필터들이 문제가 생겨야 하지 않을까요?

    그리고 문제가 생기더라도 속성이 V -> VV 인 split이나 VV -> V 인 paletteuse 같은 필터가 더더욱 문제의 소지가 있는 것 아닐까요?

    뭔가 좀 오묘하군요.

    이유를 알고 계신다면 알려 주시면 감사하겠습니다.

     

    참고로, ffmpeg 명령행으로 실행시키면 전혀 문제가 생기지 않습니다. (Zeranoe 64비트 윈도우 용 FFmpeg 4.2 릴리스 버전)

     

    실행 명령어는 다음과 같습니다.

    ffmpeg -hide_banner -i "Li_Zuchi_harvest.mp4_20190909_210308.mp4" -filter_complex "[0:v]fps=10,scale=400:-1:flags=lanczos,split[a][b];[a]palettegen=stats_mode=diff[p];[b][p]paletteuse=new=1:diff_mode=rectangle" -an -y "Li_Zuchi_harvest.mp4_20190909_210308_fps10_scale400_FFmpeg_Zeranoe_4.2_release.gif"

     

    샤나에서도 [구간 설정/잘라내기]를 사용하지 않고 -filter_complex 안에 fps, scale을 넣으면 문제가 생기지는 않습니다.

    대신 버그는 있더군요. fps 변경하면 프레임들의 duration이 균등하지 않게 됩니다. 이건 샤나인코더에서 빌드하신 FFmpeg의 문제인 것 같습니다.

     

     

    그렇지만 역시 crop을 눈으로 보면서 하는 [구간 설정/잘라내기]는 포기하기 힘들 것 같군요. 프리셋 안에 -filter_complex 옵션으로 crop 필터를 넣게 된다면 일반 사용자들에게 난이도가 올라가 잘 사용하지 않게 될 테니까요.

     

    어쨌든, 어떤 부분이 문제가 되는지 분명히 해주셔서 감사합니다.

     

    2.

     

    필터 리스트를 제공해 주신다니 감사 드립니다. FFmpeg 같은 경우 help 메시지로 검색할 수 있지만 샤나인코더의 경우 직접 라이브러리로 빌드해 내장하셔서 필터 특성 파악하기가 불가능해 불편한 면이 있었습니다. 다시 한 번 감사 드립니다.

     

    3.

     

    프로그래밍하시는 입장에서 고민이 많으실 거라 생각됩니다. 어디까지나 많은 사람들이 용이하게 사용하도록 하는 게 목적이시라면 굳이 구현하지 않으셔도 될 것 같네요.

    실제 구현한다 하더라도 얼마나 많은 사람들이 필요성을 느끼게 될지도 의문이구요.

    당연히 전적으로 샤나님 의도하신 대로 하시면 되겠습니다. 그냥 생각해 보시라고 건의 드린 거니 괘념치 않으셔도 괜찮습니다. :)

     

    ※ 프리셋 게시판 에디터 활성 감사 드립니다. (_._)

  • ?
    샤나 2019.09.14 13:58
    다음 버전에서 최신 FFmpeg 빌드 시 확인해봐야겠네요

List of Articles
No. Category Subject Author Date Views
Notice 게시판 이용 안내 (파일은 최대 2GB 업로드 가능하며 비밀글 설정이 가능합니다.) 샤나 2017.03.13 665
» 기능요청 필터에 관해 질문 및 건의 드립니다 3 sSTSs 2019.09.10 28
120 답변완료 잘쓰고 있다가 갑자기 병합할 때 오류가 생겼어요 2 누리얌 2019.09.04 64
119 답변완료 자꾸 오류가 나네요 2 secret 내아들천미르 2019.09.03 4
118 기능요청 파일분할 요청합니다 내아들천미르 2019.09.03 15
117 기능요청 인코딩 목록에서.. katya 2019.08.30 13
116 오류보고 병합시 오류가 계속나요. 산들바람 2019.08.28 29
115 오류보고 mov 파일이 안 불러와집니다. 동방은아 2019.08.27 20
114 기능요청 로고 기능추가 요청합니다. 코립 2019.08.26 20
113 답변완료 병합 인코딩 시 싱크가 어긋납니다. 1 뭉게구름별 2019.08.20 38
112 기능요청 병합모드 제가 사용할줄 모르는것 인지? 아직 기능이 없는것 인지? secret ohys 2019.08.19 0
111 기능요청 多个ass字幕文件同时支持 file 小樱 2019.08.11 27
110 답변완료 인코딩 오류입니다 2 무빙다운 2019.08.10 89
109 답변완료 변환후에 자막이 레터박스 뒤로 숨어버립니다. 1 file 루시1016 2019.08.08 32
108 기능요청 탐색기에서 샤나인코더로 폴더를 드래그앤드롭 하면 폴더 내 모든 영상 파일이 리스트에 추가됐으면 좋겠습니다. 1 다람군 2019.08.06 72
107 기능요청 자막 문단 관련 secret 하하하 2019.08.06 1
106 기능요청 滚动ass等一些高级特效字幕不支持,用megui的情况可以外挂dll滤镜来支持,shana怎么做? 1 file 小樱 2019.07.31 102
105 답변완료 hevc 10bit下没有使用指令集,对比4.0.9.1导致编码非常缓慢,8bit下正常使用指令集速度正常,不过比以前版本稍慢一点 4 file 小樱 2019.07.30 116
104 답변완료 인코딩 오류 관련 문의입니다. 2 코드제로 2019.07.28 112
103 답변완료 mov 파일 불러오기 오류 1 secret jj 2019.07.28 3
102 답변완료 인코딩 완료시 벨소리 알림 <- 완료시점 다른창 선택시 소리가 안나네요 ㅠㅠ 1 핀다 2019.07.28 28
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7