조회 수 1505 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

늘 수고 많으십니다.

 

다름 아니라 이번에 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
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
공지 소리를 4가지로 분리하는 샤나보컬리무버 프로그램을 소개합니다. Rina 2024.03.22 13344 5
공지 샤나인코더 통합 검색 기능 개선(샤나인코더 우측 상단에 있는 검색창을 사용해 보세요.) Rina 2021.09.30 28030 2
공지 자유게시판에서는 자유롭게 글을 작성할 수 있지만 다음과 같은 내용은 삭제돼요 Rina 2020.03.18 25956 5
공지 일반 [필독] 질문 전에 반드시 읽으세요!!! 3 file JKyle 2019.09.16 45384 7
공지 일반 [알림] 질문 먹튀하지 마시기 바랍니다 => 본문 변경 금지 24 JKyle 2018.10.12 42828 18
1643 샤나인코더로 인코딩하면 프레임이 늘어나요 file 날라가 2019.02.12 1089 0
1642 더블 프레임 레이트 사용해서 인코딩했는데 다시 인코딩해야하나요 ? 1 라임 2019.02.11 1231 0
1641 삼성 UHD TV용 인코딩 세팅.. 1 file 이반 2019.02.11 2599 0
1640 H264(QSV ) 인코딩을 사용하기 위해선 외장 그래픽카드가 없는 시스템이어야 하나요? 1 초보인코더j 2019.02.10 1800 0
1639 영상옆에 사진 입히는거 방법 알고싶슴다 (사진첨부) 3 file goku 오공 2019.02.10 1280 0
1638 HEVC(NVENC) 로 인코딩시 영상 재생이 잘 안됩니다. 1 푸루푸루 2019.02.09 1231 0
1637 자막 글씨체 ... 1 file RaSeo 2019.02.09 921 0
1636 동영상 자막 합치기에 관해서... 1 엉뚱한곰 2019.02.07 1510 0
1635 mkv→mp4 변환 어떻게해야하나요?? 2 RaSeo 2019.02.07 3972 0
1634 비트레이트 인코딩시 무조건 2패스 인코딩해야하나요? 3 머대리과장 2019.02.07 10214 0
1633 동영상 mp4변환 1 cjdwhtk756 2019.02.06 1384 0
1632 오디오 채널이 원본은 6채널인데 오디오코덱 스트림복사 하면 2채널이 됩니다. 1 샤나쨩 2019.02.05 1931 0
1631 소리와 화면이 맞지 않아요 2 선물이맘 2019.02.04 1265 0
1630 해당 부분 표시 정보를 평균 비트레이트로.. 1 미니미니 2019.02.03 691 0
1629 제네시스 DH용 프리셋이 있을까요? 2 데빗 2019.02.03 747 1
1628 파일에 있는 설정을 그대로 인코딩 설정으로 만들수 있나요? 2 태극랍스타 2019.02.02 1174 0
1627 블루레이 인코딩 하다가 나온 메시지인데요 1 Rsunny 2019.02.01 882 0
1626 3 Ref Frames 가 무슨뜻인가요? 2 아렌티 2019.02.01 2186 0
1625 이것 어떠게해야하나요?? 오류인가? 4 체리꿍 2019.02.01 779 0
1624 코어 많은 시퓨로 바꾸면 인코딩 속도 얼마나 빨라지나요? 8 가꼬이 2019.01.30 4195 0
Board Pagination Prev 1 ... 78 79 80 81 82 83 84 85 86 87 ... 165 Next
/ 165