2019.06.23 12:23

H264(NVENC) 화질향상 0.1

조회 수 17050 추천 수 2 댓글 14
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

STTS님의 댓글에 달린 글들을 보고 H264(NVENC)에서 화질을 향상 시킬수 있는 방법을 찾아보다가 만들게 되었습니다

 

혹시라도 더 좋은 화질향상을 할수 있는 방법이 있으시면 가르쳐 주시기 바랍니다

 

부탁드립니다

 

 

이 글을 추천한 사람
Titu JKyle
Atachment
첨부 '1'
Facebook Twitter Pinterest Kakao
  • ?
    JKyle 2019.06.24 03:37

    수고하셨습니다. 제대로 만드신 거 같네요.
    쓸 때는 현재 1800k 로 돼있는 비디오 비트레이트와 64k 로 돼있는 오디오 비트레이트만 조정하면 될 것 같습니다.

    여담으로, FFmpeg에 내장된 h264_nvenc, hevc_nvenc 인코더로는 뽑아낼 수 있는 화질의 한계가 분명한 것 같습니다. 아마 이 프리셋이나 아래 제가 올려놓은 정도가 한계인 듯합니다.

    좀 더 나은 '무료' NVENC 인코더를 원하신다면 엔비디아의 CUDA SDK를 이용해 일본인이 개발하고 있는 아래 툴을 이용해 스크립트 인코딩 프로그램(StaxRip, Hybrid, MeGUI 등)으로 진행하는 방법밖에 없는 것 같습니다.

    NVenc: https://github.com/rigaya/NVEnc/releases

    꾸준히 활발하게 업데이트되고 있고, FFmpeg에는 없는 'VPP 하드웨어 필터'들이 내장돼 있습니다. (리사이즈, 디인터레이스(nnedi), crop, deband, edgelevel, unsharp, denoise 등. 최근에는 제한적 기능의 '자막 입히기'까지 추가) 이 말의 의미는, 하드웨어 디코딩 -> 하드웨어 필터 -> 하드웨어 인코딩의 workflow 적용으로 진정한 의미의 '하드웨어 가속'을 경험할 수 있다는 거죠.

    결과도 나쁘지 않습니다. 경험상 HEVC은 x265보다 약 30~40배 빠른 속도에 30% 정도 높은 비트레이트로 x265와 비슷한 화질을 뽑아내더군요. (GTX 1060 6GB) 물론 순전히 주관적인 판단입니다. :)

  • ?
    Kong_z 2019.07.24 13:10
    실례가 안된다면 실사 영화나 애니메이션의 추천 비트레이트 양을 알수 있을까요?
  • ?
    JKyle 2019.07.25 14:22

    상당히 모호하고 어려운 질문을 하시네요. 어떤 인코더를 쓰느냐, 어떤 프리셋을 쓰느냐, 원본이 움직임이 많으냐, 해상도가 어떻냐에 따라 달라져야 해서 딱히 값이나 범위를 지정하기 곤란합니다. 게다가 결과를 놓고 좋냐 나쁘냐 판단하는 것도 순전히 주관적인 것이라서...

     

    여기서 답변해도 좋을지 모르겠습니다만, 다만 한 가지 말씀드릴 수 있는 것은, 소프트웨어 인코더보다 하드웨어 인코더가 대략 30~50% 정도 높은 비트레이트를 주어야 화질이 대충 비슷해진다는 것, 프리셋은 slower에서 medium 정도가 속도 대비 화질이 가장 나은 것 같다는 것 (물론 하드웨어 인코더의 경우엔 vbrhq), 뭐 이 정도 되겠네요.

     

    그리고 원본이 좋다면 비트레이트 모드보다는 퀄리티 모드로 인코딩하는 게 더 만족스러운 결과를 주더군요. 물론 2패스로 하면 얘기가 달라지겠지만 그건 너무 시간이 걸려서...

     

    정석으로 하는 방법은, 영상에서 화질 열화가 염려스러운 부분을 구간 설정해서 퀄리티 모드든 비트레이트 모드든 실험 삼아 적용해 보고 crf 값이나 비트레이트 값을 조금씩 조정해 보는 겁니다. 그렇게 여러 번 하다 보면 대충 어떤 원본에 어떤 값을 주면 좋을지 자신만의 값들이 얻어지게 되죠. 감을 잡기 위해서는 초기에는 그런 방식으로 하실 것을 권하고 싶습니다.

     

    참고로, 1.85:1이나 2.35:1 비율의 1080p 영화일 경우 용량 줄여서 소장하기 위해 저는 x265로 비트레이트 1.5~2Mbps까지 퀄리티 모드로 적절한 crf 값을 찾아서 적용하곤 하는데, 이 방법은 솔직히 시간을 너무 많이 잡아 먹어서 별로 추천하고 싶진 않습니다. 쩝...

  • ?
    Kong_z 2019.07.27 00:26
    각 영상마다 줘야하는 설정치가 다르고 일반적인 퀄리티를 위해선 NVENC보다는 일반 방식이 사용하는것이 좋을것 같군요
    답변 감사합니다
  • ?
    HS 2019.09.25 01:42
    제한적인 '자막 입히기' 때문에 결국 ffmpeg로 작업을 해야만 할 거 같습니다.. 흑흑..
    NVEnc 에서 자막 덧씌우는 것은 결국

    https://github.com/rigaya/NVEnc/blob/master/NVEncC_Options.en.md

    요기 나온 파라미터들밖에는 없나요? 찾아봐도 잘 안 보이네요 ㅠㅠ

    폰트랑 shadow등등 조절하고 싶은 게 많은데.. 아쉽습니다.

    현재로선 방법이 없나요?
  • ?
    JKyle 2019.09.25 04:55

    네, 아직은 Aegisub의 도움이 필요합니다.

     

    폰트와 shadow 조절은 NVEnc에서 옵션으로 직접 조절하는 건 힘들고 smi라면,

     

    1) srt로 변경해서

    2) Aegisub에서 연 후에 ass 형식으로 변환하면서 편집

     

    하셔야 합니다.

    그래서 '제한적인' 자막 입히기라고 한 것입니다.

     

    <smi to srt>

    ffmpeg -f sami -i INPUT.smi -c srt OUTPUT.srt

     

    Aegisub은 자막 편집이 처음이시라면 약간 시간을 들여서 공부하셔야 할 겁니다.

     

    좀 번거롭죠.

  • ?
    HS 2019.09.25 22:27
    끙 어렵군요.
    smi2srt는 사용하던 스크립트가 깔끔하게 작동하고 있어서 그렇다고는 해도 ass로 바꾸는 게 좀 어렵네요.
    찾아보니 python 2.x 버전에는 srt2ass 가 있는데 이건 또 작동할란지...
    공부해야겠습니다..
    언제나 친절한 답변 감사드립니다.^^
  • ?
    문화보호물 2019.10.18 18:17
    지금 샤나인코더 최신버젼에서 인코딩 오류가 나게 되는 문제가 있습니다 원인은 저도 모르겠습니다 아마도 샤나인코더가 업데이트가 되면서 지금 버젼이랑은 옵션이 안맞아서 오류가 나는것 같습니다 시간 나는대로 다시 한번더 업그레이드를 하여서 다시 올리겠습니다
  • ?
    JKyle 2019.10.18 23:26

    샤나인코더의 FFmpeg 업데이트 문제는 아닌 것 같습니다. 프리셋도 문제가 없구요.

    자게에 댓글로 남겼는데, 본인 시스템의 nvcuda.dll 파일이 어떤 이유로 삭제가 돼서 발생한 문제 같으니 엔비디아 그래픽 드라이버를 다시 설치하시면 해결될 것 같습니다.

  • ?
    JKyle 2020.01.04 05:09

    이 프리셋의 인코딩 옵션 부분에

     -refs 4

    이 옵션을 없애야 오류가 나지 않습니다.

    FFmpeg에서 다중 참조 프레임 관련 옵션인 -refs를 NVENC에 보다 엄격하게 적용하면서 이 기능을 지원하지 못하는 엔비디아 그래픽 카드(파스칼 계열 이하 대부분 해당되는 것 같습니다.)에서는 아래와 같이 인코딩 오류를 발생시킵니다.

    Multiple reference frames are not supported by the device

    No capable devices found

    프리셋 사용자분들은 반드시 참고하시기 바랍니다.

  • ?
    P군 2020.01.04 15:30
    현재로서 가장 빠른 인코딩 속도일거 같은데요, 다만 -no-scenecut 뒤에 1은 불필요합니다.
  • ?
    JKyle 2020.01.05 13:40

    그 부분은 저도 좀 의심스럽긴 합니다. FFmpeg에서 해당 인코더 옵션 설명 부분에 보면,

    -no-scenecut <boolean> E..V...... When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts (default false)

    이렇게 나와 있는데요, 이게 lookahead가 설정돼 있으면 반드시 그렇게 하라는 건지, adaptive I-frame 기능을 끄고 싶을 때만 그렇게 하라는 건지 설명이 명확하지 않아서 헷갈립니다. 다른 추가 매뉴얼도 전혀 없어서 설명이 영 부족합니다.

     

    인코딩 에러만 나지 않는다면 -no-scenecut 부분도 일부러 넣을 필요는 없을 것 같긴 합니다. 문제가 되지 않는데 굳이 제약을 가할 필요는 없을 테니깐... 131.gif

  • ?
    lawrence 2020.06.21 14:07
    샤니인코더 초보 사용자입니다. 님의 프리셋을 사용해 인코딩 하려니 오류가 뜹니다. 아래 댓글을 보니 JKyle님께서 "이 프리셋의 인코딩 옵션 부분에 -refs 4" 를 삭제해보라 하셨는데 찾을수가 없습니다. 좀더 자세히 알려주시면 고맙겠습니다.
  • ?
    똥싸다마오 2021.07.22 03:30
    5600x + 3070ti 조합인데 왜 인코딩시 오류가 나는데 사용 방법좀 가르쳐주세요~

List of Articles
번호 제목 글쓴이 날짜 조회 수 추천 수
공지 샤나인코더 기본 프리셋(v6.0 이후 버전) file Rina 2023.08.17 7832 1
57 제가 사용하는 아이폰4 프리셋 1 file P군 2013.10.26 8582 0
56 영화 720p 24fps - 48fps / 드라마 720p 30fps - 60fps 고화질용 프리셋 7 file 능소화 2014.01.29 17855 1
55 720p 일반화질 영화 24fps / 720p 드라마용 30fps 기본 프리셋 입니다. 15 file 능소화 2014.01.30 24793 0
54 Movie 1080p Audio Copy 프리셋입니다. 4 file 능소화 2014.03.22 10537 0
53 그랜져 HG 모젠 8인치 순정네비 동영상 인코딩 프리셋 1 file 흠냐룽 2014.08.17 6435 0
52 LG UHD TV 재생 가능 H.264 파일 생성 file 창공 2014.11.02 6722 0
51 LG UHD TV 재생 가능 H.264 파일 생성 - 레터박스 7 file 창공 2014.11.07 6130 0
50 LG UHD TV - H.264 UHD 4K 파일 재생 5 file 창공 2014.11.15 8081 2
49 아이팟 클래식 file 욱환 2015.03.02 4428 0
48 HD5 , 파일 정리 file asdfasg 2015.05.23 4390 0
47 휴대용기기 프리셋 2 file 쿠우입니다 2015.09.30 11975 0
46 Reverse 역방향으로 인코딩하기 1 file Rina 2016.01.20 3952 0
45 소니 올인원네비 XAV-701BT file 김포오올로 2016.04.10 2539 0
44 저용량_자막_빠른인코딩 프리셋 입니다. 8 file 능소화 2016.09.02 135959 4
43 PAVV 1080P 재인코딩 파일 (PAVV LN46B630모델) file temp 2016.11.11 3808 0
42 올뉴쏘렌토 8인치 순정네비(uvo 2.0) 프리셋입니다. file 은비토 2016.11.16 5669 1
41 오디오 / 내장된 자막 / 비디오 스트림 복사 및 언어설정 프리셋 2 file 능소화 2016.11.19 7021 2
40 x265 고급설정 프리셋 6 file 마루 2017.02.03 14033 4
39 TV시청용 초고속 자체자막 프리셋 // NVENC 지원 그래픽카드전용 1 file 겨울에냉수마찰 2017.02.09 10279 1
38 H264 고급 설정 (백업용) 2 file 리미터 2017.03.05 23960 1
Board Pagination Prev 1 2 3 Next
/ 3