[Video Streaming] 영상 발표의 구조를 정리했습니다.

5196 단어 wowzampeg-dashHLSDRM
지금까지 애니메이션 편지 배달(실황 녹음 흐름 전송 센터)에 대한 총결산.앞부분은 애니메이션 배신의 기초, 뒷부분은 라이브 배신 지연의 미니로 화질의 최대화에 대해 정리했다.

재생 방법


영상 발표(시청각)는 다음과 같은 모드가 있다.
  • 다운로드
  • 진행 상태 다운로드
  • 스트리밍
  • 자동 적응 흐름
  • 다운로드


    일반적인 통신(http,https) 통신을 통해 애니메이션 파일을 다운로드하는 구조

    진행 상태 다운로드


    일반적인 통신(http,https) 통신용 정보 블록을 통해 애니메이션 파일을 다운로드하는 구조

    스트리밍


    그룹 통신을 하면서 영상 파일을 구성해 시청하는 구조다.

    적응 흐름


    스트리밍 발표 과정에서도 시청자의 환경에 맞춰 다양한 형식으로 발표한다.낮은 비트레이트로 배신을 시작하는데 (유저) 판단이 충분하면 더 높은 비트레이트로 배신을 할 수 있고 이 환경에서 최고 품질의 영상을 정상적으로 볼 수 있다.
    대체적으로 구분하면 도로형과 유동식 전송 측면을 가리킨다.

    흐름 전송


    HTTP/HTTPS뿐만 아니라 스트리밍도 가능하지만, 최근에는 일반적인 앱이나 브라우저로 시청하는 경우 HTTP/HTTPS를 통해 스트리밍이 이뤄지고 있다.그리고 그 유동식 전송에도 몇 가지 형식이 있다.
  • HLS (Http Live Streaming)
  • HDS
  • Smooth Streaming
  • MPEG-DASH
  • MPEG-DASH는 기능적으로는 괜찮지만, 애플은 HLS를, MS는 Smooth Streaming을 추천한다.
    MPEG-DASH에 대한 자세한 내용은 여기를 참조하십시오.
    https://qiita.com/gabby-gred/items/c1a3dbe026f83dd7e1ff
    https://qiita.com/STomohiko/items/740f47f798f5762b03cc

    스트리밍 스트리밍


    포착된 영상, 사운드 데이터는 인코딩(압축), 암호화(DRM) 등으로 지정된 비트레이트(정보 블록)로 전송된다.

    부호화


    먼저 촬영한 영상은 인코딩된다.
    원본 동영상 파일의 파일 크기가 매우 크기 때문에 인터넷에서 보기 위해서는 파일을 압축해야 한다.이 압축 과정은 인코딩이라고 불린다.
    영상 파일은 영상 데이터와 음성 데이터를 조합한 것이다.플레이어는 이 두 가지 조합 방식과 압축 방법을 통해 재생할 수도 있고 재생할 수 없는 것도 있다.인코딩의 작용도 각 환경에서 정상적으로 재생될 수 있다.
    인코딩할 때 프레임 속도, 해상도 및 비트레이트를 지정합니다.이 세 개의 파일은 발송할 때의 파일 크기를 결정한다.

    프레임 속도(fps)


    프레임 속도는 초당 프레임 정지 이미지를 얼마나 많이 사용하는지 나타내는 단위입니다.따라서 프레임 수를 늘리면 동영상이 더욱 원활해지고 파일 크기도 커진다.
    *인간의 눈은 60fps를 식별할 수 있다고 한다.일반적으로 텔레비전과 DVD는 30fps 정도이다.영화는 24fps, 단파 텔레비전은 15fps이다.나는 15fps가 밑면이면 된다고 생각한다.

    해상도


    해상도는 1 시각 dpi의 입도를 가리킨다.dpi는 1인치(2.54cm)의 너비 사이에 몇 점을 표현할 수 있는지를 나타내는'DotPar 인치(Dots Per Inch)'의 약자다.
  • 싱글 밴드 (300px)× 180px)
  • SD(720px × 480px)
  • HD(1280px × 720px)
  • 풀 HD(1920px)× 1080px)
  • 지면 숫자(1440px)× 1080px)
  • 4K UHD(3840px × 2160px)
  • 8K UHD(7680px × 4320px)
  • 비트레이트


    비트레이트가 초당 얼마나 많은 영상 정보를 유지하는지 지정합니다.비트레이트와 관련해서는 영상과 사운드가 별도로 설정된다.비트레이트는 해상도와 프레임에 따라 적당한 비트레이트를 설정합니다.비트레이트만 높여도 부하가 커질 수밖에 없다.
    해상도(화질)/프레임 속도
    프레임 속도 29.97fps 이하
    프레임 속도 30fps 이상
    단파단× 180px/240px)
    0.75Mbps~
    1.00Mbps~
    SD (720px × 480px)
    2.50Mbps~
    4.00Mbps~
    HD (1280px × 720px)
    5.00Mbps~
    7.50Mbps~
    풀 HD(1920px)× 1080px)
    8.00Mbps~
    12.00Mbps~
    2K (2560px × 1440px)
    16.00Mbps~
    24.00Mbps~
    4K (3840px × 2160px)
    45.00Mbps~
    68.00Mbps~
    8K (7680px × 4320px)
    130.00Mbps~
    200.00Mbps~
    참고 자료
    비디오 프레임, 해상도, 비트레이트

    실황 중계 지연


    실황 중계를 할 때 번거로운 것은 지연이다.모처럼 콘서트가 있으니 늦지 않는 게 좋겠다.다만, 콘서트 발표 방식(http/https를 통한 발표)은 제한적이어서 5초, 10초는 어떻게든 지연된다.용서할 수 없다면, 통신의 협의 자체를 바꿔야 한다.
    실황 중계 지연의 요소는
    카메라와 모니터의 라그
    90ms
    인코딩/디코딩
    30ms
    인코딩/디코딩
    30ms〜
    네트워크 통신 (위/아래)
    30ms〜
    클라이언트 처리
    30ms〜
    완충
    10ms〜
    라이브 스트리밍 지연 시간 감소 @DeNA
    카메라와 모니터의 지연에 관해서는 다음에 다시 덮어라.오늘은 인코딩과 인터넷 통신의 지연이 최소화된 곳을 살펴보자.인코딩은 인코딩 소프트웨어의 설정과 인코딩 기재 자체의 업그레이드이다.그리고 배포 서류는 최소화했다.또 CDN은 라이브 전송용 설정도 조정할 수 있다.

    키프람


    일반적으로 여러 프레임이 표시되면 모든 프레임에 전체 이미지가 표시되지 않고 이전 프레임과의 차이만 정보로 지정되며, 변경된 부분을 표시하는 메커니즘을 사용하여 1 프레임이 보유한 정보의 양을 최소화합니다.하지만 일정 기간 온전한 그림을 보내지 않으면 중간에 보고 싶을 때 온전한 그림이 없는 상태가 된다.여기서 그림의 완전한 주기를 관건적인 주기라고 부른다.
    생방송에서 TS 파일을 다운로드해 재생하기 때문에 지연을 최소화하려면 파일 세분화를 최대한 세분화해 지정 지정해야 한다.애플은 1TS 파일을 10초 동안 추천한다.따라서 평소보다 지연이 적기를 바란다면 10초 이하로 설정한다.
    그렇다면 TS 파일을 10초 이하로 설정하는 방법은 무엇일까요? 키프레임 지정을 비교적 짧게 설정하겠습니다.TS 파일은 키프레임의 주기 지정에 따라 생성되므로 키프레임이 10초 이상인 파일은 10초 이하의 TS 파일을 생성할 수 없습니다.
    사내 학습회에서 HLS와 Key frame에 대한 재해석을 했습니다.

    다음


    다음은 영상에 관한 DRM을 요약하고 싶습니다.

    좋은 웹페이지 즐겨찾기