Skip to menu

본문시작



Views 83 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로 작성하기엔 무리가 많습니다.

 

 

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

Facebook Twitter Pinterest Kakao
  • ?
    Rina 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를 사용하기 때문에 어려운 것은 아니지만 사용자가 복잡하지 않고, 새로운 기능 사용 시 문제가 발생하지 않도록 프로그램 코드를 수정해야 하기 때문에 고민해야 할 부분이 많습니다.

     

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

    감사합니다.

  • ?
    JKyle 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.

     

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

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

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

     

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

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

List of Articles
No. Subject Author Last Update Views Votes
Notice [알림] 질문하시기 전에 지켜주셨으면 하는 것들 2 file JKyle 2019.09.17 1494 1
Notice [알림] 질문 먹튀하지 마시기 바랍니다 12 JKyle 2020.01.18 4263 3
1849 中国用户们,请阅读一下这个帖子(중국 유저분들에게 보내는 메시지) 2 구름미르 2019.09.17 1944 1
1848 1280x720 mp4 파일을 1.5기가 이하로 인코딩 하고 싶은데요 3 hss 2019.09.17 922 0
1847 gtx 1060 -> rtx 2060 변경시 인코딩속도 1 고구려의큐브 2019.09.16 631 0
1846 인코딩 관련 문의드립니다. 2 플레이어 2019.09.16 226 0
1845 블루레이 파일 m2ts > mkv로 인코딩하는 법 2 마음 2019.09.15 618 0
1844 LG미니빔 설정 부탁드립니다.. ㅠㅠ astarotx 2019.09.14 592 0
» 필터에 관해 질문 및 건의 드립니다 3 JKyle 2019.09.14 83 0
1842 인코딩시 색공간 설정 옵션 추가 요청 부탁드립니다. 1 NLE 2019.09.14 349 0
1841 그래픽 카드 sli로 사용하시는 분들 질문좀 받아주세요~ 7 HS 2019.09.14 406 0
1840 애니 인코딩 프리셋;;;; 8 LEE 2019.09.14 7419 0
1839 프레임레이트 고정이 안됩니다.. 8 file 칸쵸 2019.09.14 706 0
1838 4K@60FPS 영상이 하드웨어 가속이 안되는데 영상이 문제일까요 1 허당와 2019.09.13 283 0
1837 mp4 파일을 mp4 파일로 스트림 복사했는데 오류가 뜹니다 11 젤로어콘 2019.09.12 613 0
1836 샤나인코더의 레티나 화질 지원 감사합니다. & 레티나 8K(8192×4608)화질 지원 가능하게 할 수 있는지요? 2 보스코프스키 2019.09.11 420 0
1835 m2ts 파일을 우연히 구해서 인코딩 해보려고 했는데 5 file ハルト 2019.09.10 425 0
1834 움짤 만드는 프리셋 올렸습니다 1 JKyle 2019.09.10 372 0
1833 HEVC(QSV) 인코딩 하려는데 퀄러티모드가 ... 4 엘비라 2019.09.08 1061 0
1832 적정 I프레임(scenecut) 수치를 계산할수 있을까요? 6 멜론웨이퍼 2019.09.08 254 0
1831 만족스럽니당 짱이네요 jaems 2019.09.08 276 0
1830 여러개의 동영상은 배치파일로 처리하려면 ... 6 file 엘비라 2019.09.07 376 0
Board Pagination Prev 1 ... 6 7 8 9 10 11 12 13 14 15 ... 103 Next
/ 103