조회 수 2157 추천 수 0 댓글 12
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

비디오

ID : 1
포맷 : HEVC
포맷/정보 : High Efficiency Video Coding
포맷 프로파일 : Main 10@L4@Main
코덱 ID : V_MPEGH/ISO/HEVC
길이 : 1시 0분
비트레이트 : 5 304 Kbps
폭 : 1 920 픽셀
높이 : 1 080 픽셀
화면 종횡비 : 16:9
프레임레이트 모드 : 변동
프레임레이트 : 29.970 fps
ColorSpace : YUV
ChromaSubsampling/String : 4:2:0
BitDepth/String : 10 비트
비트/(픽셀*프레임) : 0.085
스트림 크기 : 2.23 GiB (93%)
Default :
Forced : 아니오

 

이거보고 어떤식으로 인코딩한줄 알수있을까요?

아니면 ts 나 tp 같은 드라마나 예능프로 녹화본을 HEVC 로 원본과 최대로 비슷한화질로

인코딩할방법 알고계신분은 알려주시면 감사하겠습니다

 

Facebook Twitter Pinterest Kakao
  • ?
    JKyle 2018.06.19 06:47

    NVENC 가능한 엔비디아 그래픽 카드가 있으시면 HEVC(NVENC)로, 그렇지 않으면 그냥 HEVC으로 인코딩하시는데, 둘 사이의 속도 차이는 엄청납니다. 그래픽 카드와 CPU의 성능에 따라 거의 수십에서 수백 배까지 차이가 날 수 있습니다. (물론 NVENC가 훨씬 빠릅니다.)

     

    각각의 경우 옵션 세팅이 다릅니다만 원본을 바탕으로 공통적으로 설정할 부분은 아래와 같습니다.

     

    • 원본과 같은 Main 10 프로파일을 설정(color depth 10비트를 살리기)
    • 원본의 비트레이트 5,304kbps보다 약간 크게 비트레이트를 설정해서 원본의 비트레이트를 최대한 반영
    • 원본의 프레임레이트(변동 29.97)를 그대로 두되 인코딩시 비트레이트 컨트롤에 프레임레이트에 맞춰 매개변수값 조정

     

    이를 바탕으로 각각의 인코더에 맞춰 설정하면 다음과 같습니다.

     


     

    [HEVC(NVENC)로 할 경우]

     

    1. [빠른 설정(F6)]

     

    F6를 눌러 나오는 [빠른 설정] 창에서 아래와 같이 설정합니다.

     

    Shana_HEVC(NVENC)_main10.png

     

    여기서 중요한 것은 프로파일을 'main10'으로 설정해서 color depth 10비트의 원본 특성을 보존하는 것과 프리셋을 'slow'로 선택해서 가능한 최대 화질을 얻도록 하는 것입니다. (프리셋 slow는 hq 2 pass임. hq = high quality)

     

    오디오 쪽은 정보가 없어서 임의로 설정했습니다.

     

    Shana_HEVC(NVENC)_bitrate.png

     

    퀀타이저 지정이 아닌 비트레이트 값을 직접 지정합니다. 원본보다 큰 6000으로 잡고 비트레이트 컨트롤은 어차피 매개변수 설정에서 변경할 것이므로 'const'로 대충 정합니다.

     

    설정을 마친 후 [설정 적용]을 눌러 설정을 적용.

     

     

    2. [매개변수] 설정(F8)

     

    F8을 눌러 세세한 인코딩 매개변수를 설정합니다.

     

    Shana_HEVC(NVENC)_bitrate_parameters_setting_1.png

     

    [빠른 설정]에서 대충 정한 비트레이트 컨트롤인 '-shanarcmode const'를 삭제하고 대신 보다 adaptive한 rate control을 위해 아래 줄을 추가합니다.

     

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

     -rc vbr_hq -rc-lookahead 20 -spatial_aq 1 -aq-strength 10 -weighted_pred 1

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

     

    맨 앞에 한 칸 띄는 것 유의해 주세요.

     

    설명은 아래와 같습니다.

     

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

     -rc vbr_hq // rate control을 varible bitrate high quality 모드로

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

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

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

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

                             // 기본값은 0으로 false.

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

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

                                    // 값이 클수록 변동 정도가 크며 깍두기 제거에 도움이 되는 대신 디테일은 무뎌질 수 있음

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

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

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

     

    따라서 최종적인 매개변수 설정은 아래와 같습니다.

     

    Shana_HEVC(NVENC)_bitrate_parameters_setting_2.png

     

    나머지 매개변수 값에 대한 설명은 아래와 같습니다.

     

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

     -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  // 오디오의 언어를 한국어로

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

     

     

    위와 같이 정한 후 프리셋으로 저장하고 인코딩.

     


     

    [HEVC으로 할 경우]

     

    1. [빠른 설정(F6)]

     

    Shana_HEVC_main10.png

     

    프리셋을 'veryslow'로 해서 비트레이트 대비 최대 화질을 확보. 만일 인코딩 속도가 너무 느리다면 'slower'나 'slow', 더 나아가 'medium'으로 선택.

     

    'Main 10 profile'을 선택.

     

    Shana_HEVC_bitrate.png

     

    비트레이트를 원본보다 큰 6000으로.

     

    설정을 마친 후 [설정 적용]을 눌러 설정을 적용.

     

     

    2. [매개변수] 설정(F8)

     

     

    Shana_HEVC_main10_parameter_setting.png

     

    [빠른 설정]에서 'Main 10 profile'을 선택한 것이 '-libx265main10'으로 반영돼 있는 것을 확인할 수 있습니다.

     

    Shana_HEVC_bitrate_parameter_setting.png

     

    역시 좀더 adaptive한 비트레이트 컨트롤을 위해 아래의 한 줄을 추가합니다.

     

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

     -maxrate 12000k -bufsize 12000k -x265-params me=umh:qcomp=0.5:scenecut=40:bframes=3:min-keyint=30:keyint=300 -qmin 3 -qmax 51

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

     

    맨 앞에 한 칸 띄는 것 유의해 주세요.

     

    설명은 아래와 같습니다.

     

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

     -maxrate 12000k -bufsize 12000k   // 최대 비트레이트값과 버퍼값을 설정 비트레이트값인 6000k의 두 배로 잡음

     -x265-params me=umh:qcomp=0.5:scenecut=40:bframes=3:min-keyint=30:keyint=300

                                   // x265 매개변수값을 설정 (자세한 옵션은 x265 Command Line Options 페이지 참조

                                   // me=umh -> ME(motion estimation) 값을 umh(unsymmetric multi-hexagon)로 설정

                                   // hex(hexagon)보다 퀄리티는 낫지만 인코딩 시간이 더 걸림

                                   // 인코딩 시간을 줄이고 싶다면 'hex'로.

                                   // qcomp=0.5 ->  퀀타이저 compensation factor 값을 0.5로 설정. 1은 constant quantizer.

                                   // scenecut=40 -> 키프레임 삽입 적극성 정도를 40으로 설정. 값이 클수록 adaptive하지만 인코딩에 시간 소요

                                   // bframes=3 -> 최대 연속 가능한 B 프레임 갯수를 3으로, 많을수록 화질이 떨어짐.

                                   // min-keyint=30 -> GOP 최소 사이즈를 30으로 설정. 즉 키프레임들이 적어도 1초 이상 떨어져 있어야 함.

                                   // 값이 클수록 화질이 떨어짐.

                                   // keyint=300 -> GOP 최대 사이즈를 300으로 설정. 즉 키프레임들이 10초 이상 동떨어져 있으면 안 됨.

                                   // 값이 작을수록 화질이 올라감.

    -qmin 3 -qmax 51  // 퀀타이저 최소값과 최대값 설정

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

     

    나머지 매개변수 값에 대한 설명은 HEVC(NVENC)와 같습니다.

     

     

    위와 같이 정하고 프리셋으로 저장하고 인코딩합니다.

     
  • ?
    JKyle 2018.06.19 07:53

    위에 장황하게 쓴 댓글과는 별개로, 원본 화질을 그대로 보존하고 싶다면 파일 형식(container)만 mp4로 바꾸는 걸 추천 드립니다.

     

    원본을 보니 비디오 쪽이 mp4에 들어갈 수 있는 HEVC으로 인코딩돼 있으니 비디오 코덱을 '스트림 복사'로 선택하시면 되겠습니다.

    오디오 쪽도 AAC나 AC-3, 또는 mp3로 인코딩돼 있다면 역시 '스트림 복사'로 껍데기만 mp4로 바꾸는 방법도 있을 수 있습니다.

     

    인코딩에 걸리는 시간을 생각해 본다면 이쪽을 추천하고 싶군요.

  • ?
    해피해피 2018.06.19 10:13

    sSTSs 님 상세한 답변 정말 감사합니다 그런데 제가 질문을 헷갈리게 했네요 저 비디오 정보는 TV녹화본을 인코딩한 파일의 정보입니다 녹화본을 저런식으로 인코딩해보려고 저정보를보고 어떤식으로 인코딩한건지 알수있는지 질문한건데 헷갈리게 해드려 죄송합니다

  • ?
    JKyle 2018.06.19 11:24
    올려주신 정보만으로는 구체적으로 '어떤 식으로 인코딩했는지' 알 수 없습니다. 그런데 거의 대부분의 경우가 그렇습니다. 대충 비슷하게는 할 수 있지만 세세한 설정 부분까지는 알 수 없지요. 아무리 많은 메타정보를 얻어도 메타정보에서는 나오지 않거나 누락된 정보들이 있습니다.

    다른 원본으로 대충 비슷하게 할 수 있는 방법을 찾으신다면 첫 번째 댓글에 올려드린 내용이 제가 생각하는 최적의 답입니다. 그런데 엔비디아 그래픽 카드가 없으시다면 느린 인코딩 속도 때문에 아마 많이 괴로우실 듯합니다.
  • ?
    해피해피 2018.06.19 13:44
    비디오 프레임레이트 모드 보면 변동으로 되있는데 제가인코딩하면 고정으로 나오던데 화질에영향을주나요? 그리고 드라마같은경우 중간에 광고가있어 앞부분 스트림복사로 잘라내고 뒷부분 스트림복사로 잘라내서 병합모드로 인코딩하니 뒷부분 음성이 이상하더라구요 울린다고해야하나 해결방법이있을까요? 병합모드 설정은 비디오 HEVC 에 음성은 스트림복사입니다
  • ?
    JKyle 2018.06.19 14:05

    원본의 프레임레이트 변동 폭이 크다면 화질 저하가 있을 수 있습니다.

    예를 들어 가변 30에 최소 15, 최대 45인 원본이라면 프레임레이트가 15인 부분은 비교적 정적이고 45인 부분은 비교적 동적이어서 레이트 분배를 그렇게 했을 텐데, 이게 고정으로 바뀌면 정적인 부분은 한 프레임을 두 개씩 만들고 동적인 부분은 프레임 15개를 빼겠죠. 정적인 부분에서는 비트레이트의 낭비가 있을 것이고 동적인 부분에서는 움직임이 약간씩 끊겨서 보일 겁니다. 고프레임 게임을 저프레임으로 플레이했을 때의 느낌을 생각하시면 됩니다. 따라서 원본이 변동 폭이 큰 가변 프레임이라면 웬만하면 원본대로 따라가 주는 게 낫습니다.

    반대로 가변이라고 돼 있지만 실제로 그 변동폭이 크지 않다면 고정으로 바뀌어도 화질 변화가 거의 없겠죠.

    중간을 스트림 복사로 잘라내고 앞과 뒤를 병합모드로 인코딩할 때 음성도 스트림 복사 말고 인코딩을 해보시죠. 그래도 문제가 생긴다면 반디컷 같은 동영상 병합 전문 프로그램을 쓰시는 게 낫습니다. 그 경우 먼저 반디컷으로 중간을 자르고 붙인 후 샤나로 인코딩하시면 됩니다.

    문제는 동영상 분할/병합 프로그램들이 무료가 거의 없다는 것입니다. VidCutter는 무료지만 잘 안 될 때도 있고, 반디컷이나 SolveigMM Video Splitter 같은 괜찮은 성능의 프로그램은 유료라는 게 좀...

  • ?
    해피해피 2018.06.19 15:18
    그럼 원본이 가변 프레임인데 인코딩할때 가변 프레임으로 하는방법이 있나요? 빠른설정 기타에보면 고정 프레임으로 인코딩하는건 있던데 가변 프레임은 안보여서요
  • ?
    JKyle 2018.06.19 15:41

    원칙적으로, VFR(variable frame rate)인 원본에서 VFR인 결과 동영상을 얻고 싶다면 '고정 프레임 레이트로 인코딩(중복 프레임 허용)' 박스를 체크 해제하시고 F8을 눌러 [인코딩 설정] 창에 다음 둘 중 한 가지 방법을 사용하시면 됩니다.

     

    • 원본 프레임 레이트 그대로 유지하고 싶다: ' -vsync 0' 옵션을 주고 ' -r XXX' 부분이 있다면 삭제 (XXX는 숫자)
    • 원본 프레임 레이트를 변경하고 싶다: ' -vsync 2 -r 원하는최대프레임레이트수'를 설정

     

    이 경우는 VFR을 반드시 살려야 할 경우 강제하는 방법입니다.

     

    하지만 샤나는 기본적으로 프리셋과 옵션 설정에 맞춰 원본과 상관없이 최적의 프레임 레이트 방식을 결정하므로 굳이 꼭 필요한 경우가 아니고서는 CFR(constant frame rate)이나 VFR을 강제할 필요가 있을까 싶습니다. VFR 원본을 인코딩했는데 CFR이 나왔다면 프리셋과 옵션 설정에 비춰볼 때 CFR이 무방하다고 판단한 결과겠죠.

     

    제가 위에 말씀드린 '손실'은 프레임 레이트 변동폭이 큰 VFR 원본을 '강제로 CFR로 변환했을 때'를 전제로 말씀드린 겁니다.

  • ?
    해피해피 2018.06.19 16:57
    인터넷 검색해보니 SMMVSplitterPortable 프로그램이 있네요 이걸로 필요없는부분 잘라내고 인코딩하니 잘되네요 sSTSs님 덕분에 여러가지 알았어요 답변 정말 감사합니다
  • ?
    JKyle 2018.06.19 17:16
    SMMVSplitterPortable이 바로 제가 말씀드린 SolveigMM Video Splitter의 포터블 버전입니다. 줄여서 SMMVSplitter라고 한 거죠.
    이게 참 좋은데, 제한 없이 쓰려면 돈 내야 돼요. ㅠ.ㅠ
  • ?
    해피해피 2018.06.19 17:25
    아 그렇군요 다운받으니 시리얼넘버 있어서 등록했는데 그래도 제한걸리나요 ㅠㅠ
  • ?
    JKyle 2018.06.19 17:27
    뭐 재주껏 방법을 찾아서 쓰시면 됩니다. 더 이상은 뭐... --;;;

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
공지 소리를 4가지로 분리하는 샤나보컬리무버 프로그램을 소개합니다. Rina 2024.03.22 20455 6
공지 샤나인코더 통합 검색 기능 개선(샤나인코더 우측 상단에 있는 검색창을 사용해 보세요.) Rina 2021.09.30 34395 2
공지 자유게시판에서는 자유롭게 글을 작성할 수 있지만 다음과 같은 내용은 삭제돼요 Rina 2020.03.18 30552 5
공지 일반 [필독] 질문 전에 반드시 읽으세요!!! 3 file JKyle 2019.09.16 52700 8
공지 일반 [알림] 질문 먹튀하지 마시기 바랍니다 => 본문 변경 금지 24 JKyle 2018.10.12 50347 18
1328 프레임 더블링을 한 뒤 업로드 하면 소리가 안들리는 경우 1 zeong 2019.12.08 707 0
1327 의외로 오디오 싱크 맞추는 기능이 없네요. 2 닉네임뭐할까 2019.12.09 1817 0
1326 동영상 인코딩 할때 오디오에 대한 언어를 설정할 수 있나요? 1 Myung 2019.12.09 956 0
1325 속도가 제일 빠른 인코더는 뭐가 있을까요? a's video converter ? staxrip ? 2 q34256 2019.12.09 3047 0
1324 용량대비 화질 좋은 옵션이 있을까요? 1 코드네임유 2019.12.11 3142 0
1323 인스톨러 관련해서 옛날부터 사소하게 불편한 부분이 있는데요. 1 dung620 2019.12.12 2319 0
1322 샤나인코더 인코딩 인터넷연결 안되어있어도 인코딩 되나요?? 1 초잎 2019.12.12 1038 0
1321 혹시 맥os용 샤나인코더는 계획이 없으신가요?? 9 닉네임뭐할까 2019.12.13 7425 0
1320 mpeg ts파일 2 편집쟁이 2019.12.14 734 0
1319 원본영상보다 높게 고정프레임을 설정하면 어떻게되나요? 4 인코딩어린이 2019.12.14 1766 0
1318 gop 옵션을 설정해서 키프레임 간격을 10초 설정 값 질문? 1 미르 2019.12.16 2239 0
1317 갑작스런 인코딩 오류.. 1 하늘 2019.12.18 1053 0
1316 코덱 문외한... 초보 개발자입니다..... 스트리밍 코덱 질문 좀 드릴께요 ㅠ.ㅠ 2 인코더하수 2019.12.23 1058 0
1315 성탄 인사, 사이트 개편, 샤나인코더 기능 개선 아이디어... 2 JKyle 2019.12.25 619 0
1314 노트북 덮개 닫으면 샤나인코더 멈춤 1 file 인코딩어린이 2019.12.26 847 0
1313 인코딩 화질저하 질문이요 1 lsh1027 2019.12.26 1346 0
1312 윈도우7 쓰는데 ShanaEncoder4.11.exe 파일이 무반응인데 해결방법 없을가요? 3 제태 2019.12.28 1119 0
1311 mp4 파일 mp3로 변환시 음질 최대한 살리는 압축 방법이 무엇인가요? 3 사과한송이 2019.12.29 2602 0
1310 영상 인코딩 질문 엘리시움스 2019.12.29 530 0
1309 인코딩 오류가 문제입니다. 1 로렌스 2019.12.29 2388 0
Board Pagination Prev 1 ... 95 96 97 98 99 100 101 102 103 104 ... 166 Next
/ 166