Kdenlive 유튜브 720p Render 프로파일을 직접 추가해보기

유튜브에 720p로 영상을 올리려고 Kdenlive 프로젝트 세팅을 HD 720p 29.97fps 로 선택하고,

▲ Render 메뉴에서 Format을 위 스크린 샷처럼 Generic – MP4(H264/AAC)로 선택한 다음 렌더링해서 파일을 생성했더니…

▲ 비트레이트가 유튜브 720p 권장 설정을 넘어가는 겁니다.ㅠㅠ 다른 동영상은 비트레이트가 턱없이 낮아지기도 하고요.

무료 동영상 편집 프로그램 KDEnLive 추천 + 유튜브 권장 인코딩 옵션
▲ 참고로 영상 해상도별 유튜브 인코딩 권장 값은 위 링크에 적어놨었습니다.

물론 비트레이트가 높으면 화질이 좋기 때문에 유튜브 업로드 용량만 허용한다면 무조건 이득이지만, 동영상 시간이 길어졌을 때 용량 제한 때문에 업로드가 안될 수도 있어서… 유튜브 권장 값대로 Render 프로파일을 수동으로 추가해뒀다가 필요할 때 적용해서 쓰면 Profile의 덕을 볼 때가 반드시 올 것이라고 생각합니다.
그래서 유튜브 720p용 프로파일을 수동으로 추가하는 과정을 적어둘까 합니다.

※ Generic – MP4(H264/AAC) 프로파일로 인코딩한 영상을 mediainfo-gui 우분투 패키지로 확인해보니 Encoding settings 이라는 항목이 보이더군요. 참고할만한 정보라는 생각이 들어서 복붙 합니다.
cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=4 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=4 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=1 / keyint=120 / keyint_min=12 / scenecut=40 / intra_refresh=0 / rc_lookahead=20 / rc=crf / mbtree=1 / crf=15.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00

▲ MP4 – the dominating format (H264/AAC)를 클릭하고 붉게 표시한 아이콘을 누르면 MP4 – the dominating format (H264/AAC) 항목을 기반으로 새 프로파일을 생성하는 대화창이 뜰 겁니다.

▲ Profile name을 원하는 것으로 정합니다. Parameters는 MP4 – the dominating format (H264/AAC)의 내용과 똑같이 복사되어 있을텐데, 전부 지우고 위 스샷처럼 입력합니다. 그리고 “확인”버튼을 눌러 빠져나옵니다.

파라미터 값은
유튜브 권장 인코딩 설정값(구글 문서)
https://forum.kde.org/viewtopic.php?f=265&t=115498
https://userbase.kde.org/Kdenlive/Manual/Project_Menu/Render/Render_Profile_Parameters
https://www.mltframework.org/plugins/ConsumerAvformat/
https://forum.kde.org/viewtopic.php?f=272&t=124869#p329129
https://hruj.tistory.com/entry/h8
등의 문서를 참고했습니다.

각각의 파라미터들을 왜 넣었는지 제가 알아본 선에서 정리해 볼게요.
properties=x264-medium          → 모르겠습니다. 기본 파라미터에 있는 값을 넣었음.
f=mp4          → 포맷… 이겠죠?
progressive=1          → 유튜브 권장 설정에서 “프로그레시브 스캔(인터레이스 없음)”을 강제.
bf=2          → 유튜브 권장 설정에 “2개의 연속 B 프레임”이라고 적혀 있어서 넣었음.
cabac=1         → 유튜브 권장 설정에 “CABAC”이라고 적혀 있어서 넣긴 했는데, 맞게 적은 것인지 모르겠습니다. coder=cabac 이렇게 적어야 되는 게 아닌가 싶기도 한데…
pix_fmt=yuv420p        → 유튜브 권장 설정에 “크로마 서브샘플링: 4:2:0″이라고 적혀 있어서 넣었음.
vcodec=libx264        → 비디오 코덱. 기본 파라미터에 있는 값을 넣었음.
vb=5M        → 비디오 비트레이트. 유튜브 권장 설정에서 720p 30fps는 5Mbps를 권장 “5000k”처럼 kilo 단위로 넣어도 되고, “5000000”처럼 전체 숫자를 적어도 됨. 1080p, 4K 해상도도 유튜브 권장 설정을 참고해서 넣으면 됨.
g=15        → 유튜브 권장 설정에 “폐쇄 GOP. 프레임 속도의 절반에 해당하는 GOP”라고 나와 있는데, 프로젝트를 720p 29.97fps로 만들었기 때문에 29.97의 절반값인 15를 넣었음. 60fps면 30을 넣겠죠?
acodec=aac        → 오디오 코덱. 유튜브 권장은 AAC-LC + 샘플링레이트 48khz(또는 96khz)인데, 대부분의 영상 촬영 장비가 음성을 권장 샘플링레이트대로 녹음하기 때문에 ar 옵션은 안 넣어도 될 듯함.
ab=384k        → 오디오 비트레이트. 유튜브 권장 설정은 스테레오 384Kbps / 모노 128Kbps / 5.1채널 512Kbps 임.
movflags=+faststart        → 유튜브 권장 설정에 “파일의 시작 부분에 moov atom(빠른 시작)”이라고 적혀 있어서 구글링했을 때 나오는 값을 넣었음.
width=1280        → 가로 해상도 추가. 프로파일의 해상도 값을 무시하고 이 해상도로 렌더링됨.
height=720        → 세로 해상도 추가. More options 체크했을 때 Rescale로도 설정 가능하지만 실수 방지 차원에서 추가했음.
※ 2019. 06. 13. 추가 : width, height 값은 추가하지 않는 것을 추천. 테스트해보니 프로젝트에서 사이즈 줄인 영상/사진들을 죄다 늘려버리는 문제가 있음.

▲ 이후 Render 에서 생성했던 프로파일을 고르고 More options를 체크 후 Threads를 CPU 스펙에 맞게 설정 후 Render to File을 눌렀더니 파일이 생성되었고, 생성된 파일을 MidiaInfo-gui 패키지로 불러서 확인해보니…

▲ 비트레이트가 5Mbps로 고정되고 나머지 설정값도 반영된 것을 확인할 수 있었습니다.

1080p, 4K 해상도도 유튜트 권장 사항대로 파라미터를 추가하면 효율적인 유튜브 생활을 할 수 있을 듯합니다.
제가 넣은 옵션들이 “절대적으로 필요한 사항들이 아닐 수 있습니다.” 댓글로 수정 의견 남겨주시면 적극적으로 반영하도록 하겠습니다.

 
※ 2019. 04. 20. : 30fps 이하 유튜브 720p/1080p/4K 렌더 프리셋 파라미터값 텍스트파일 압측해서 첨부 : KDEnLive YouTube Render Preset.zip

※ 테스트용 원본 소스 : Jellyfish Video Bitrate Test Files – jellyfish-100-mbps-hd-h264.mkv (1920×1080 / H.264 / High 5.0 / 100Mbps)

※ 유튜브(Youtube) 비트레이트/화질 이해하고 높히기 – VP9 코덱 혜택을 보기 위한…

CC BY-NC-ND 4.0