메뉴 건너뛰기

본문시작

방문자

전체 : 31,167,713
오늘 : 8,756
어제 : 37,159
조회 수 2428 추천 수 1 댓글 9
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

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
    감사합니다

List of Articles
번호 제목 글쓴이 날짜 조회 수 추천 수
40 영상에 텍스트 로고를 입히는 프리셋 file sSTSs 2018.10.11 162 1
39 HEVC(x265) 2패스 인코딩 프리셋 1 file sSTSs 2018.09.15 667 0
38 인코딩된 파일의 PSNR, SSIM 값 계산을 위한 프리셋 1 file sSTSs 2018.09.05 237 0
37 HEVC(x265) 디테일 개선을 위한 프리셋 10 file sSTSs 2018.08.30 974 0
36 오로지 확장자만 변경하기 위해서 만든 프리셋 file 문화보호물 2018.07.28 1607 0
35 부드러운 움직임의 60fps 인코딩 (minterpolate 필터를 이용) 10 file sSTSs 2018.07.16 1939 0
34 HEVC(NVENC)를 이용한 일반 HDR 동영상 인코딩 2 file sSTSs 2018.07.16 1014 0
33 HDR -> HDR(HDR10) 인코딩 (HEVC(x265), 1080p) 3 file sSTSs 2018.06.25 1314 0
32 HDR -> SDR 변환 (H264(x264), 1080p) 7 file sSTSs 2018.06.25 995 0
» HEVC(NVENC) 화질 향상 프리셋 9 file sSTSs 2018.06.19 2428 1
30 HEVC 영상의 코덱 ID만 hev1에서 hvc1으로 변경하는 프리셋 1 file sSTSs 2018.05.21 783 0
29 VP9, Opus 코덱으로 인코딩하는 WebM 프리셋 (1080p, 720p, VOD 용) 4 file sSTSs 2018.05.20 850 0
28 A slow but high quality and low size x264 setting 1 file Prophet 2018.05.20 913 0
27 프리셋 어떻게 설정 사용하지는 좀 알려주세요 1 멘토 2018.05.17 1959 0
26 프리셋 사용에 3 고양이 2018.04.25 1394 0
25 뉴모하비_2018년 순정 동영상파일변환 올려주세요 kanaya79 2018.03.16 1103 0
24 그랜져 IG 블루링크2.0 고화질용 8인치 네비 file 흠냐룽 2018.02.16 1749 0
23 2160p to 1080p 변환 (수정) 1 file 황금별똥 2018.01.29 2867 0
22 [수정 - 속도 개선판][느림주의!!]HEVC 고급설정 프리셋 - 블루레이 백업용 10 file JohnMunga 2017.04.20 12235 0
21 H264 고급 설정 (백업용) 2 file 리미터 2017.03.05 13027 1
Board Pagination Prev 1 2 Next
/ 2