ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 유튜브 실시간 라이브 스트리밍, 비트레이트 관련 정리
    IT 2019. 3. 6. 14:51

     

    유튜브 인코딩과 라이브 스트리밍에 관한 내용들 정리.

     

    유튜브 해상도

     

    720p는 해상도를 의미하고, 권장 해상도는 아래와 같다. 유튜브는 기본 16:9 비율이다.

     

    2160p: 3840x2160
    1440p: 2560x1440
    1080p: 1920x1080
    720p: 1280x720
    480p: 854x480
    360p: 640x360
    240p: 426x240

     

     

    프레임 레이트 frame rate

     

    프레임 레이트 단위는 fps(frame per second)이다. 30fps라면, 1초에 30장의 이미지가 재생된다고 할 수 있다.

     

    초당 재생되는 이미지 수가 많아지면 동영상이 좀 더 부드럽게 재생된다. 따라서 30fps보다 60fps가 더 부드러운 움직임을 보여준다.

     

    그런데 보통 사람들은 30fps와 60fps는 차이를 확실히 느끼지만, 30fps와 20fps의 차이는 잘 느끼지 못 한다. 따라서 비트레이트를 낮춰야 할 상황이면 프레임레이트도 함께 낮춰주자.

     

     

    비트 레이트 bit rate

     

    비트 레이트 단위는 bps(bits per second)이고, 초당 처리하는 데이터 크기를 의미한다.

     

    동영상에서 화질은 해상도와 함께 비트레이트 크기가 중요한 역할을 한다. 해상도가 아무리 높아도 비트레이트가 낮으면 화면이 뭉개진다.

     

    그렇다고 비트레이트를 무턱대고 높인다고 화질이 무조건 좋아지는 것도 아니라서, 해상도에 맞는 적당한 비트레이트를 선택해야 한다. 물론 비트레이트를 높이면 해상도에 따른 화질이 보장되기는 하는데, 비트레이트가 너무 높으면 쓸 데 없이 동영상 파일 크기가 커진다.

     

    * 인코딩 할 때 비트레이트 설정을 원본보다 높게하면 파일 크기가 커진다. 하지만 이때 원본보다 화질이 좋아지는게 아니므로, 정확한 설정을 해주는게 좋다. 다시 말해, 동영상 파일 크기가 크다고 꼭 화질이 더 좋다는 의미는 아니다.

     

    * 인코딩 설정에서 비트레이트를 고정하면, 해상도나 프레임수를 바꾸어도 파일 크기는 동일하게 나온다. 따라서 적절한 비트레이트 값을 선택해야 한다.

     

     

    유튜브에서 권장하는 비트 전송률은 아래와 같다. SDR 업로드 시 권장 동영상 전송률이다. HDR은 이것보다 약간 더 높다.

     

     

    좀 더 자세한 내용은 유튜브 고객센터의 '권장 업로드 인코딩 설정' 페이지를 참고하자.

     

    * 720p를 8Mbps로 인코딩 했다면, 비트레이트를 그대로 두고 해상도를 1080p로 다시 인코딩해서 업로드하는 방법도 있음.

     

     

    실시간 스트리밍

     

    실시간 라이브 스트리밍 시에는 아무래도 제약조건이 많으므로, 일반 인코딩 때와는 약간 다른 설정이 필요하다. 아무래도 데이터 전송이 가장 큰 문제이므로, 비트레이트 설정이 중요하다.

     

    유튜브에서 권장하는 라이브 스트리밍 시 비트레이트는 아래와 같다.

     

    1440p @60fps: 9,000~18,000Kbps
    1440p @30fps: 6,000~13,000Kbps
    1080p @60fps: 4,500~9,000Kbps
    1080p: 3,000~6,000Kbps
    720p @60fps: 2,250~6,000Kbps
    720p: 1,500~4,000Kbps
    480p: 500~2,000Kbps
    360p: 400~1,000Kbps
    240p: 300~700Kbps

     

    * 참고: 유튜브 라이브 인코더 설정, 비트 전송률, 해상도

     

    권장 비트레이트가 확실히 정해진 숫자가 아니라 범위로 표시되는 것은, 각자 환경이 다르기 때문이다. 예를 들면, 실시간 송출에서 기기의 CPU, 그래픽 카드 등이 저사양이면 연산 능력이 떨어져서 비트 전송률을 높여야 할 수 있다. 대략 중간값 정도부터 시작해서 테스트를 해보자.

     

    대략 데이터 업로드 속도가 3Mbps 정도 되면 720p(30fps) 정도는 스트리밍 가능하고, 업로드 속도가 5Mbps면 1080p까지 가능하다고 한다.

     

    * 라이브 스트림 인코더는 H.264, AAC 혹은 MP3로 설정.

    * 오디오 스트림 권장 전송률은 128Kbps. 권장 샘플링 비율은 44.1KHz.

    * 키프레임 빈도는 2초마다 전송으로 설정.

    * 비트레이트를 낮춰야 하는 상황이면 해상도보다 우선 프레임수를 낮추자.

     

     

    유튜브 업로드 싱크 밀림 문제

     

    긴 동영상을 유튜브에 업로드 할 때, 영상과 소리의 싱크가 안 맞는 현상이 일어날 때가 있다. 워낙 다양한 문제가 있을 수 있어, 각자 원인을 찾아야 하지만, 몇 가지 해결 방법을 써 둔다.

     

    * H.264 코덱으로 인코딩.

    * 비디오, 오디오 모두 비트레이트를 VBR(Variable BitRate)이 아닌, CBR(Constant BitRate)로 지정. 숫자를 확실히 지정해 줌. 프레임도 고정프레임으로 인코딩.

    * 스트리밍의 경우엔 OBS의 믹서 - 데스크탑 오디오 - 설정 - 속성 - 장치 타임스탬프 사용 체크박스 해제

    * 윈도우10 빠른 시작 끄기 - 버그가 있어서 각종 문제가 발생하는데, 업로드 뿐만 아니라 플레이 시에도 싱크가 안 맞는 문제가 일어날 수 있다 함: 제어판 - 하드웨어 및 소리 - 전원 옵션 - 절전 모드 해제시 암호 사용 or 덮개를 닫으면 수행되는 작업 선택 - 종료설정, 빠른 시작 켜기 체크 해제.

     

    댓글

Copyright EMPTYDREAM All rights reserved / Designed by Tistory.