Skip to menu

본문시작

방문자

Total : 8,170,553
today : 1,881
yesterday : 12,174

Pageview

Total : 48,354,758
today : 3,575
yesterday : 69,024


Views 7651 Votes 1 Comment 9
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Attachment
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Attachment

NVENC가 가능한 엔비디아 그래픽 카드를 이용해서 하드웨어 인코딩을 하면 경우에 따라 수백 배까지 속도가 획기적으로 향상됩니다. 대신 화질은 동일한 비트레이트의 소프트웨어 인코딩 동영상에 비해 떨어지는 것이 사실이죠.

 

이 프리셋은 NVENC의 속도를 어느 정도 희생하는 대신 화질을 향상시키고자 하는 목표로 만들어진 것입니다. 그렇게 하기 위해 샤나에서 제공하는 기본 rate control 옵션인 '-shanarcmode'를 없애고 보다 상세하게 rate control을 할 수 있도록 인코딩 설정 옵션과 설정값을 추가했습니다.

 

이 프리셋은 NVENC에서 지원하는 H264, HEVC 두 가지 코덱 중 HEVC 코덱에 관한 것입니다.

 

NVENC(HEVC) Slow VBR 1800k HE-AAC 44.1 64k.xml

 

이 프리셋의 오디오 설정은 편의상 44.1 kHz 샘플링 레이트에 64 kbps의 비트레이트를 가지는 스테레오 HE-AAC 코덱의 오디오로 인코딩되도록 설정했습니다.

 

몇몇 중요한 옵션과 설정값에 대한 설명은 아래와 같습니다. (필터 매개변수에 대한 설명은 생략)

 

=============================================================================

 

 -f mp4

 -c:v hevc_nvenc -profile:v main -level auto

 -preset slow

       // hevc_nvenc의 프리셋은 slow(hq 2 passes), medium(hq 1 pass), fast(hp 1 pass),

       // hp(high performance), hq(high quality), bd(blueray disk),

       // ll(low latency), llhq(low latency hq), llhp(low latency hp)

       // 등이 있는데 slow가 가장 높은 퀄리티

 -b:v 1800k

       // 비디오 비트레이트 1800 kbps. 원본과 원하는 화질에 따라 높이거나 줄일 것

 -rc vbr_hq

       // rate control을 varible bitrate high quality 모드로.

       // 이외에 constqp(constant quantization parameter), vbr(variable bitrate), cbr(constant bitrate),

       // cbr_ld_hq(constant bitrate low delay high quality), cbr_hq(constant bitrate high quality)

       // 등의 모드가 있음.

 -rc-lookahead 20

       // rate control을 위해 미리 가져올 frame 수를 20으로 설정

       // 정수값으로, 기본값은 0. 시스템 최대 정수까지 설정 가능

       // 10에서 20 사이의 값을 추천

 -spatial_aq 1

       // 프레임 내(spatial=intra-frame)의 비트레이트 배분을 위해 aq(adaptive quantization)를 true로 설정

       // 기본값은 0으로 false.

 -aq-strength 10

       // 퀀타이저 값의 변동(aq) 정도(variation strength)를 10으로 설정

       // 1~15의 정수값, 기본값은 8

       // 값이 클수록 변동 정도가 크며 덜 복잡한 부분에 대해 좀더 비트를 할당 (psnr 값은 하락)

 -weighted_pred 1

       // weighted prediction을 true로 설정. (기본값은 false로 정수 0)

       // 일부 동영상의 경우 인코딩 에러가 날 수 있음. 그때는 이 옵션을 지울 것.

 

 -c:a libfdk_aac -b:a 64k -ac 2 -fdkprofile he  // 오디오 설정에 관한 부분

 -tag:v hvc1  // Apple TV, QuickTime과 호환하는 코덱 ID 설정

 -sn -map_metadata -1 -map_chapters -1 -metadata creation_time=now

       // 자막 없음, 메타데이터 복사 안 함, 챕터 정보 없음, 인코딩 시간을 파일 생성 시간으로

 -metadata:s:v:0 language=kor

       // 비디오의 언어를 한국어로. 영어는 eng, 일본어는 jpn, 중국어는 chi

 -metadata:s:a:0 language=kor

       // 오디오의 언어를 한국어로

 

=============================================================================

 

<주의 사항>

 

1.

설정값을 변경하기 위해 [빠른 설정] 창을 이용해서 [설정 적용]을 한 후 최종 확인을 위해 F8을 눌러 [매개 변수] 창을 열어보면 ' -shanarcmode const' 또는 ' -shanarcmode variable'과 같이 샤나에서 지정한 rate control 모드가 들어가 있는 것을 볼 수 있습니다. 커스텀 설정한 rate control을 적용하기 위해서는 ' -shanarcmode const' 또는 ' -shanarcmode variable' 부분을 지워야 합니다.

 

2.

일부 동영상(key frame 간격이 매우 좁은 동영상 등)의 경우 인코딩 에러가 날 수 있는데, 그때는 ' -weighted_pred 1' 옵션을 지우십시오.

 

TAG •
  • ?
    wjohnas 2018.06.19 20:28
    감사합니다 정말 필요했어요!
  • ?
    마루 2018.09.05 00:14
    H264(NVENC) 도 비슷하게 가능할것 같은데 가능하겠죠?
  • ?
    sSTSs 2018.09.05 06:02

    비슷합니다. 다만,

     

     -c:v hevc_nvenc 를 -c:v h264_nvenc 로 변경,

     -profile:v main 을 -profile:v high 로 변경,

     -rc-lookahead 20 을  -rc-lookahead 40 으로 값을 좀 올리고,

     -refs 4 -no-scenecut 1 -b_adapt 0 를 추가,

     -spatial_aq 를 -spatial-aq 로 변경 (hevc_nvenc와 h264_nvenc가 이 옵션이 이상하게 다름.)

     

     -tag:v hvc1 를 삭제(HEVC의 코덱 ID 설정 부분이라 H264에는 부적절함.)

     

    ' -refs 4'는 H264 계열 코덱에서는 P-프레임이 참고할 프레임 수를 말하는데, x264에서는 3이 기본값이고 h264_nvenc에서는 1이 기본값입니다. 이것의 최대값은 FHD에서는 4, HD에서는 9인데, 이 값이 클수록 인코딩 효율은 높아져 같은 화질에 비트레이트는 줄일 수 있는, 즉 같은 비트레이트에 화질을 향상할 수 있는 반면 필요로 하는 버퍼 크기가 커져 로우 버퍼 기기에서는 재생이 불가능해질 수 있는 단점이 있습니다. 경우에 따라서는 화질 향상에 별 도움이 안 되는 것 같다는 경험도 있으니 알아서 판단하시길...

     

    자세한 것은 설명서 부분의 샤나인코더 4.9.0.1의 FFmpeg 옵션을 참고하세요.

     

    https://shana.pe.kr/shanaencoder_manual/32663

  • ?
    sSTSs 2018.09.05 06:12
    자료 등록 이후 약간의 수정이 필요한 것 같아 댓글로 남깁니다.

    우선 대부분의 경우 인코딩 에러를 초래하는 ' -weighted_pred 1' 옵션은 가급적 지우십시오.

    그리고 lookahead를 활성화할 경우 함께 활성화하도록 권장한 다음 옵션을 추가해 주십시오.
    -no-scenecut 1

    Motion compensation을 위한 참조 프레임 수를 기본 1에서 4 정도로 높여 주십시오. (x265의 경우 기본값 3)
    -refs 4

    보다 자세한 내용은 '설명서' 게시판의 'ShanaEncoder FFmpeg 옵션(v4.9.0.1)'을 참고해 주십시오.
    https://shana.pe.kr/shanaencoder_manual/32663
  • ?
    조토마테 2018.09.11 22:30
    위에 추가 내용 반영해서 프리셋 올려봅니다
    -f mkv
    -c:v hevc_nvenc -profile:v main -level auto -preset slow -b:v 3446k
    -rc vbr_hq -rc-lookahead 20 -spatial_aq 1 -aq-strength 10
    -c:a copy
    -tag:v hvc1
    -sn -map_metadata -1 -map_chapters -1 -metadata creation_time=now
    -metadata:s:v:0 language=jpn
    -metadata:s:a:0 language=jpn

    현재 이렇게 사용중인데 -no-scenecut 1랑 -refs 4은 hevc에선 무관한건가요?
  • ?
    sSTSs 2018.09.12 02:41

    무관하지 않습니다. h264_nvenc와 hevc_nvenc 둘 모두에 해당하는 사항입니다.

     

    https://shana.pe.kr/shanaencoder_manual/32663
    '설명서' 게시판의 'ShanaEncoder FFmpeg 옵션(v4.9.0.1)'을 참고하면,

    '-no-scenecut'에 대해서는 "lookahead를 활성화하면 이 옵션을 1 로 해서 scene cut(I-frame을 기준으로 하는 GOP 결정)에서 탄력적인 I-frame 삽입을 끄시오."라고 돼 있고,
    '-refs'는 FFmpeg의 코덱에 관한 일반(generic) 명령어로, 'motion compensation을 위해 고려할 참고 프레임수'라고 돼 있습니다.

    솔직히 -no-scenecut을 1로 해서 탄력적인 I-frame 삽입을 끄는 것이 과연 화질 향상에 도움이 되는 것인지 의문이지만 일단 매뉴얼에 따르는 것이고, 참고 프레임 수는 NVENC 계열 코덱들이 다 기본값을 1로 하는 것 같아 (x265는 3이 기본값) 좀 높여서 화질 향상을 꾀해 보자는 의도를 갖고 삽입한 것입니다. 이런 설정들이 실제로 화질 향상에 도움이 되는지 여부는 주관적인 경험에 따라 결정하시면 됩니다.

  • ?
    조토마테 2018.09.12 21:49

    그럼

    -rc vbr_hq -rc-lookahead 20 -no-scenecut 1 -spatial_aq 1 -aq-strength 10 -refs 4

    이렇게 추가해주면 되는건가요?

     

  • ?
    sSTSs 2018.09.13 02:40
    네. 그 중 -rc-lookahead와 -aq-strength, -refs는 필요에 따라 조정해서 쓰십시오.
  • ?
    조토마테 2018.09.13 02:51
    감사합니다

  1. GIF 움짤 만들기 (수정)

    Date2019.09.08 BysSTSs Views334 Votes0
    Read More
  2. H264(NVENC) 화질향상 0.1

    Date2019.06.23 By문화보호물 Views3141 Votes2
    Read More
  3. 레터박스 대신 흐린 원본 영상을 배경으로 까는 프리셋

    Date2018.11.05 BysSTSs Views1466 Votes0
    Read More
  4. 영상에 텍스트 로고를 입히는 프리셋

    Date2018.10.11 BysSTSs Views1510 Votes1
    Read More
  5. HEVC(x265) 2패스 인코딩 프리셋

    Date2018.09.15 BysSTSs Views4851 Votes0
    Read More
  6. 인코딩된 파일의 PSNR, SSIM 값 계산을 위한 프리셋

    Date2018.09.05 BysSTSs Views1119 Votes0
    Read More
  7. HEVC(x265) 디테일 개선을 위한 프리셋

    Date2018.08.30 BysSTSs Views5512 Votes1
    Read More
  8. 오로지 확장자만 변경하기 위해서 만든 프리셋

    Date2018.07.28 By문화보호물 Views3989 Votes0
    Read More
  9. 부드러운 움직임의 60fps 인코딩 (minterpolate 필터를 이용)

    Date2018.07.16 BysSTSs Views5297 Votes0
    Read More
  10. HEVC(NVENC)를 이용한 일반 HDR 동영상 인코딩

    Date2018.07.16 BysSTSs Views3067 Votes0
    Read More
  11. HDR -> HDR(HDR10) 인코딩 (HEVC(x265), 1080p)

    Date2018.06.25 BysSTSs Views3261 Votes0
    Read More
  12. HDR -> SDR 변환 (H264(x264), 1080p)

    Date2018.06.25 BysSTSs Views2512 Votes0
    Read More
  13. HEVC(NVENC) 화질 향상 프리셋

    Date2018.06.19 BysSTSs Views7651 Votes1
    Read More
  14. HEVC 영상의 코덱 ID만 hev1에서 hvc1으로 변경하는 프리셋

    Date2018.05.21 BysSTSs Views1590 Votes0
    Read More
  15. VP9, Opus 코덱으로 인코딩하는 WebM 프리셋 (1080p, 720p, VOD 용)

    Date2018.05.20 BysSTSs Views1901 Votes0
    Read More
  16. A slow but high quality and low size x264 setting

    Date2018.05.20 ByProphet Views1505 Votes1
    Read More
  17. 그랜져 IG 블루링크2.0 고화질용 8인치 네비

    Date2018.02.16 By흠냐룽 Views2608 Votes0
    Read More
  18. 2160p to 1080p 변환 (수정)

    Date2018.01.29 By황금별똥 Views4201 Votes0
    Read More
  19. [Slow attention !!] HEVC advanced setting preset - Blu-ray backup

    Date2017.04.20 ByJohnMunga Views14466 Votes0
    Read More
  20. H264 Advanced settings (for backup)

    Date2017.03.05 By리미터 Views17240 Votes1
    Read More
Board Pagination Prev 1 2 Next
/ 2