*블로그는 개인적인 의견과 경험이 많이 반영되므로, 객관적인 정보가 아닐 수도 있습니다.

이 블로그에서 찾기

2018년 3월 22일 목요일

내가 사용하는 동영상 인코딩시 세부설정(프로파일) - 샤나인코더와 프리미어 프로 1/2

잘 모르는 사람에게 이런저런 이야기를 하는 것 보다, 눈으로 보는 것이 더 나을 수도 있다 싶어 소개합니다.
이 게시물을 통해, '이 사람은 저렇게 사용하는구나' 라고 생각하는 정도로만 참고하기를 바랍니다.

이것들은 이블로그에 포함된 WEBM 파일의 인코딩 세부설정이나, 유튜브등에 올리는 인코딩 세부설정입니다.

살펴 보시죠.

위는 WEBM 파일을 블로그나 웹페이지에 게시할때 사용하는 저의 세부설정입니다.
(핵심은 역시 화질유지와 저용량입니다)

비디오 비트레이트는 상황(움직임 데이터 여부에 따라)에 따라 최소1000에서 4000까지 결정합니다.
(하지만, 4000까지 올리면 용량증가로 모바일 이용자에 대한 배려가 아닙니다)

개인적으로 webm 파일은 최대 10초(15초)의 길이와 용량 2Mbyte(3Mbyte)를 넘지 않아야 한다고 생각합니다.
(*swf와 같은 반복 영상의 표현일 경우, 최대 1~2M를 넘지 않아야 합니다)

가로 사이즈는 너무 작으면 불편하므로, 최소 아이폰5s 기준 640을 적정선으로 선택했습니다.

오디오 수준을 48k로 낮춘 것은, 반복이거나 짧은 영상이 목적이기 때문입니다.
"기타"에서 자신만의 로고를 삽입할 수 있습니다.

*때때로 오디오를 포함시키지 않아야 합니다.
(웹 게시물에서 원하지 않는 소리는 불편을 초래합니다)

물론, 오디오포함 인코딩이 되었다 하더라도 게시할때 태그언어로 오디오를 "뮤트"시키거나
선택 할 수 있습니다.

눈 오는 날(2018.03.08) 418kb WEBM 포맷 반복영상


위는 1920x1080이나 1280x720 사이즈인 대용량 파일을 편집없이(시작과 끝만 자름)유튜브에 올릴 경우입니다.
(이것은 제한적으로 사용되는 것으로 게임영상이나 편집이 그렇게 필요 없을때 사용하는 프로파일입니다)

"기타"란에서 자신의 로고를 삽입할 수 있습니다.

128k 오디오를 유지합니다.
*영상 품질이 떨어지지 않아야 하고, 최대압축율이 좋은 H264코덱을 사용합니다.

비트레이트와 프레임을 변경하지 않습니다.
게임 영상이 수기가가 넘어갈때 수십메가로 줄어들면서도, 화질 열화를 느낄수 없는 수준입니다.


위는 영상 자르기와 각종 자막, 그리고 오디오 편집과 이펙트가 필요할 경우 인코딩 세부사항입니다.
샤나인코더에서는 할수 없으므로, 프리미어 프로나 기타 인코딩 프로그램이필요합니다.

1920x1080 사이즈의 29.9x(프레임 drop)을 설정할려면, "프로파일 레벨" 4.1 이상으로 해야 합니다.
(프레임 레이트 : 영상의 프레임이 녹화상황에 따라 변화된 것이라면 프레임 드랍을 선택해야 합니다)

*일반적으로 논드랍보다 프레임 드랍을 선택하는 것이 좋습니다.
(프로파일 레벨 : 프로파일 레벨에 따라 영상의 크기와 프레임이 결정됩니다)

*59.94(60f)를 선택하고 싶다면, 프로파일 4.2로 설정해야 합니다.

*영상 비율은 1.0을 선택합니다.
(동영상 원본에 따라 다르겠지만, 0.9일경우 영상 위/아래에 검은사막이 생깁니다)

때때로 영상 인코딩시 2pass로 해야 고품질을 만족 하지만, 일반적인 일상영상에서 1pass만으로 충분합니다.
(1pass 인코딩 후, 영상이 깨지거나 깍두기가 보인다면 2pass로 시도합니다, 하지만 시간이 더 걸립니다)

비트레이트는 5.13(5000k수준)로 설정한 이유는 H264코덱의 최소 마지노선이라고 생각했기 때문입니다.
*5000kbps(개인적으로 8000kbps권장)이하는 화질이 뭉개지거나 찢어지며,
10000k로 갈수록 좋아지지만 엄청난 용량증가로 상황(동영상 플레이 시간)에 따른 타협이 필요합니다.
(샤나 인코더에서 디폴트 프로파일로 avi or mp4 영상을 인코딩하면 5000k 수준으로 만들어짐니다)

*주 : 이것은 자신이 올릴 영상의 크기에 따라 달라질 수 있습니다.
(만약 동영상 결과물이 3분 이내라면 1만Kbps도 상관없을 것입니다)

그외 옵션은 굳이 손대지 않아도 됩니다.

이렇게 만든 후,
2차로 태그언어를 이용하여 게시물 상황에 맞게 사이즈나 오디오등 놓친부분을 설정합니다.

H264(MP4) 코덱에 대해...
사실, 이전에는 SWF(플래시)나 WMV를 많이 이용했었지만 보안문제로 SWF는 퇴출되었습니다.
WMV는 H264에 비해 화질열화와 용량문제에서 비교할 수 없을정도이기에 역시 사용하지 않게 되었습니다.


위 영상은 1280x720의 60f 앞뒤만 자른 H264코덱을 사용한 유튜브 업로드용 샘플입니다. 

시간은 3분36초이며, 용량은 105M 비트레이트는 4000k 로 샤나인코더 사용예입니다. 
(원본은 720p이지만, 현재 웹페이지에 맞게 태그언어를 통해 360p으로 비율조정 게시하였습니다)


위 동영상은 스마트폰으로 촬영한, 30프레임과 60프레임의 차이를 보여주는 영상입니다.


*샤나인코더의 비디오코덱 설정 "스트림복사"에 대해...

스트림 복사는 굳이 인코딩을 할 이유가 없는 용량일 때 그리고 단순히 앞뒤 자르기만 필요하다고 판단될 경우,
화질 열화 없이 원본을 그대로 복사하여 사용하는 방법입니다.


"구간 설정(잘라내기)과 스트림 복사" 조합은 나름 자주 사용됩니다.

*사용 예 : 
TV 녹화나 게임 녹화시 보통 전/후반부의 짤라내기가 필요한 것이 대부분입니다.
또한, H264로 녹화 했을 가능성이 클 것이고, 재인코딩을 할 필요성을 못느끼는 용량이겠지요.
이럴때, "스트림복사 + 앞뒤 잘라내기"는 굉장히 효율적입니다.
(단, 앞뒤 자르고 중간부분도 자르고는 안됩니다)



댓글 8개:

  1. 안녕하세요 써주신대로 설정하여1920x1080 4.98GB용량의 15분2초짜리 영상을 인코딩하였는데 752MB이되었는데 정상인가요 수기가짜리를 수십기가로 줄여준다고 하셔서 돌려봤는데 700메가가넘어가서 맞나싶습니돠 혹시 예시가 코덱없는 5기가짜리 1분정도의 영상을 말씀하신건가요

    답글삭제
    답글
    1. 답글 감사합니다.
      일단, 영상이 어떤 코덱으로 인코딩되어 있는지가 중요하겠습니다.
      기본적으로 용량이 원본에 가까울수록 화질은 유지됩니다만, 어느정도 압축을 할 수록 화질은 떨어지게 되어 있습니다.
      우리는 웹 또는 보관시 목적에따라(일회용/보관용/게시용)적절한 화질을 선택합니다.
      보관이라면 솔직히 원본보관이 가장 나을 것입니다.
      말씀하신 5G 용량이 750Mb로 줄어들었고 화질도 나쁘지 않다면 소기의 목적을 달성한 것으로 보입니다.
      (어떤 코덱 어떤 목적에 따라 용량을 달라질 수 있으므로 반드시 몇MB이어야 한다는 조건은 없습니다)
      중요한 것은 내가 원하는 화질에 용량이며 그것이 만족스러운가가 아닐까 합니다.

      삭제
    2. 링크 : https://letsbemild.blogspot.com/2019/04/22.html
      위 링크도 참고 해보기를 바랍니다.

      삭제
    3. 답변 감사드립니다 700메가로 줄어든건 대성공이었나보네요 프리셋을 저장해놓고 오늘다시한번 돌려봤는데 19분가량의 6기가영상이 3기가로 밖에 안 줄어들더군요 이게 혹시 영상이 더 밝거나 그러면 결과값이 이정도로 심하게 달라지는건가요

      삭제
    4. 용량은 영상내용의 정보량과 관계있습니다.
      (예 : 고정된 사물 영상과 풍경의 영상은 같은 시간이라도 정보량이 풍경이 압도적으로 크다)
      그리고, 압축코덱에 따라 달라집니다.
      가장 널리 사용되는 H.264 H.265가 압축율이 상당히 좋으며(용량감소)화질이 거의 보장됩니다.
      그 이상의 압축율과 화질이 보장되는 코덱은 HEVC 라고 있는데, H.264 보다 2배의 용량감소와 함께 화질을 보장합니다.
      다만, HEVC는 편집하기 위해서는 동영상편집프로그램이 지원해야 된다는 단점이 있습니다.
      참고 : https://letsbemild.blogspot.com/2018/11/7-heic-heiv-jpeg-h264.html

      삭제
    5. 참고2 : https://letsbemild.blogspot.com/2017/10/blog-post.html

      삭제
    6. 답변 감사드려요 영상 몇개찍어서 실험해보니 인코딩옵션중 비디오퀄리티23으로 작업하는게 비트레이트를 기준치로 고정해주는게아니라 화질을 고정시키고 비트레이트를 그거에 마춰서 가변 해주는 기능이었군요 결과물보니까 깍두기현상등없이 화질깨끗하게 23으로 마춘 영상 두개 어제꺼랑 오늘꺼 비교해보니 어제의 어두운영상은 확인해보니 비트레이트가 7~8천대이고 오늘껀 3만대에서 동작하드라구요 ㅎ.ㅎ

      삭제
    7. 네, 보통 코덱을 먼저 설정하고 다음으로 비트레이트 타협을 합니다.
      (비트레이트는 동영상의 정보량에 대응하는 VBR CBR과 같은 방식으로 옵션을 정합니다)

      예 : CBR은 비트율을 고정시키고 용량은 적은 대신, 동영상 정보가 변화(많아지면)할 경우 깍두기현상이 일어납니다.
      (반대로 VBR은 (가변방식) 깍두기현상에 유리하지만, 용량이커집니다)
      참고 : https://letsbemild.blogspot.com/2019/04/22.html

      사실, 인코딩은 수많은 경험으로 얻어지는 지식이 많아집니다.
      아마도 조금씩 더 알아간다면 최적의 용량과 화질 인코딩속도등에 지식을 얻을 것이라고 생각합니다.

      삭제

소중한 의견, 가급적 빠른 답변을 드리겠습니다.

Letsbemild Blog

전체 목록