조회 수 2048 추천 수 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 13374 5
공지 샤나인코더 통합 검색 기능 개선(샤나인코더 우측 상단에 있는 검색창을 사용해 보세요.) Rina 2021.09.30 28064 2
공지 자유게시판에서는 자유롭게 글을 작성할 수 있지만 다음과 같은 내용은 삭제돼요 Rina 2020.03.18 25976 5
공지 일반 [필독] 질문 전에 반드시 읽으세요!!! 3 file JKyle 2019.09.16 45414 7
공지 일반 [알림] 질문 먹튀하지 마시기 바랍니다 => 본문 변경 금지 24 JKyle 2018.10.12 42852 18
1343 유튜브에 영상을 올리면 스마트폰에서 소리가 잘 안나오네요 1 은막 2018.07.04 895 0
1342 다중 cpu와 멀티코어는 징원이 안돼는지요?, 그리고 해상도....궁금한점 1 고딩샛별 2018.07.03 2188 0
1341 고급설정 질문입니다 2 해피해피 2018.07.02 855 0
1340 HEVC 코덱(H.265) 에서 AVC1(H.264) 로 2차 인코딩 하려고합니다. 2 님덕내탓 2018.07.01 2496 0
1339 아이폰 4K로 찍은 영상 인코딩 문의 1 file 시버 2018.07.01 1218 0
1338 자체 자막을 만들 시 자막이 열화됩니다. 2 헝가리무곡 2018.06.30 642 0
1337 sk브로드밴드 셋톱박스로 영화를 보는데 1 윤ㅊ패 2018.06.29 890 0
1336 태그 질문입니다 2 file 해피해피 2018.06.29 1026 0
1335 구간설정 일괄 적용하는 방법이 있나요? 1 아크라톤 2018.06.29 865 0
1334 질문드립니다 박물관방화범 2018.06.29 638 0
1333 코딩 설정을 구했는데 이걸로 프리셋 만들수 있을까요? 2 태극랍스타 2018.06.29 861 0
1332 올레 스마트 플레이용 프리셋 요청합니다. 킨타쿤테 2018.06.28 1101 0
1331 CFR 고정 프레임 레이트 뭐죠? 1 쩌는사냐인코더 2018.06.28 4573 0
1330 프리셋 속도 질문입니다 2 해피해피 2018.06.27 1052 0
1329 정보 tonemap, zscale 필터를 이용한 HDR->SDR 변환 (FFmpeg CLI) 7 file JKyle 2018.06.26 4533 0
1328 소리 중간중간 먹히는 증세 (예시 올립니다 봐주세요) 6 위즈트리 2018.06.25 935 0
1327 기본 프리셋에서 조금 더 화질에 욕심내려면 어디를 건드려야 하나요? 2 가애야요 2018.06.24 1005 0
1326 4K HDR 영화 1920x1080 으로 인코딩 질문입니다 2 file 해피해피 2018.06.23 1397 0
1325 GOP size 관련 질문입니다 4 해피해피 2018.06.22 2905 0
1324 nvenc로 2개 이상 동시인코딩 하면 에러가 납니다. 3 유키링 2018.06.19 1988 0
Board Pagination Prev 1 ... 93 94 95 96 97 98 99 100 101 102 ... 165 Next
/ 165