반응형

Protocols

Protocols 는 3 가지의 categories 에 해당됩니다.

  1. Legacy Protocols: Legacy Protocols 은 이메일 클라이언트, 캘린더 및 웹 서비스에 연결할 때 앱에서 필요한 기본 인증(사용자 이름과 암호)을 사용합니다.
  2. HTTP-Based Protocols: 요청-응답 프로토콜인 HTTP 는 사용자가 클라이언트와 서버 간에 하이퍼텍스트 메시지를 전송하여 HTML 파일과 같은 웹 리소스와 상호 작용할 수 있게 합니다.
  3. Modern Protocols: 일반적으로 오픈 소스이며 아직 널리 지원되지 않는 현대 프로토콜은 선도 기술로, 이전 비디오 스트리밍 프로토콜이 겪었던 일부 문제를 해결합니다.

 

9 가지의 protocols 는 아래와 같습니다(주관적으로 잘 사용되지 않은건 자세한 내용을 안 적었습니다).

  1. HTTP Live Streaming(HLS)
    • HTTP-Based 입니다.
    • HLS 는 m3u8 과 ts 를 호출합니다.
    • m3u8 은 재생할 목록에 대한 호출입니다.
    • ts 는 대상 media 파일에 대한 호출입니다.
    • ts 파일은 MPEG-2 TS(Transport Stream) 파일입니다. 또한 디지털 방송을 위한 데이터 전송 규격입니다.
    • 장점
      • 호환성: HLS 프로토콜은 사실상 모든 인터넷 연결 장치 및 운영 체제에 대한 스트리밍에 적합합니다.
      • 보안: HLS 는 안전한 스트리밍으로 알려져 있습니다.
      • 품질: HLS 는 적응 비트레이트 스트리밍 (ABR) 기술을 활용하여 초고화질 비디오 스트림을 생산합니다."
    • 단점
      • 지연 시간: HLS 는 다른 선호되는 프로토콜들만큼 낮은 지연 시간을 유지할 수 없어 영상 품질이 낮아집니다.
      • 부실한 입력: HLS 는 입수(ingest)에 가장 적합한 선택지가 아니며, HLS 호환 인코더가 접근 가능하거나 비용 효율적이지 않기 때문입니다.
  2. Dynamic Adaptive Streaming over HTTP (MPEG-DASH)
    • MPEG 는 Moving Pictures Expert Group 입니다.
    • Open-source 입니다.
    • 어떤 오디오 또는 비디오 코덱에도 매우 맞춤화 할 수 있습니다.
    • 비트레이트 스트리밍을 지원합니다.
    • HTTP-Based 입니다.
    • 장점
      • 적응성: 이 프로토콜은 ABR을 활용하여 다양한 인터넷 속도와 조건에서 고품질 비디오 스트리밍을 제공합니다.
      • 맞춤 설정: MPEG-DASH 는 오픈 소스로, 사용자가 독특한 스트리밍 요구 사항을 충족시키기 위해 사용자 정의할 수 있도록 합니다.
    • 단점
      • 제한된 호환성: MPEG-DASH 는 Apple 기기 또는 iOS 와 호환되지 않아 방송의 범위를 제한합니다.
      • 퇴화: 이 프로토콜은 한때 매우 인기가 있었지만, 그 한계로 인해 다양한 다른 고급 프로토콜 옵션들과 공정하게 경쟁하기 어렵습니다.
  3. WebRTC(Web Real-time communications)
    • 실시간 지연 시간으로 비디오 스트림을 시청자에게 전달하는 오픈 소스 프로젝트입니다.
    • P2P (peer-to-peer) 스트리밍을 기반으로 한 저지연 스트리밍 솔루션입니다.
    • Modern Protocol 입니다.
    • 장점
      • 유연성: WebRTC 는 오픈 소스로, 개발자들은 특정한 스트리밍 요구 사항을 충족시키기 위해 사용자 정의할 수 있는 충분한 유연성을 가지고 있습니다.
      • 실시간 지연: WebRTC 는 실시간 지연으로 스트리밍을 지원하며, 이는 방송된 비디오가 고품질의 비디오로 실시간으로 시청자 화면으로 전송됨을 의미합니다.
    • 단점
    • 제한된 지원: WebRTC 비디오 스트리밍 프로토콜은 웹 표준으로서 최근 채택되었을 뿐입니다. 시장은 이 스트리밍 설정과의 호환성 문제에 부딪힐 수 있으므로 엔지니어들은 이에 적응하는 데 시간을 더 필요로 할 수 있습니다
  4. Real-Time Messaging Protocol (RTMP)
    • Adobe 가 개발한 기존의 프로토콜로, 스트리밍 서버와 Adobe Flash Player 간에 오디오 및 비디오 파일을 전송하는 데 사용됩니다.
    • 최종 사용자에게 전달되기 전에 RTMP 을 통해 스트리밍 플랫폼으로 전송됩니다.
    • Legacy Protocol 입니다.
    • 장점
      • 낮은 지연: RTMP 는 실시간 비디오 스트림이 안정된 연결을 유지하도록 보장하여 인터넷 연결이 불안정한 경우에도 뷰어에게 안정성을 제공합니다. 뷰어는 또한 인터넷 연결이 안정화되면 스트림을 쉽게 재개할 수 있습니다.
      • 적응성: 이 프로토콜의 스트림 피드는 적응형이며 RTMP 서버에 호스팅되므로 뷰어는 피드의 일부를 건너뛰거나 되감거나 또는 시작된 후에 라이브 스트림에 참여할 수 있습니다.
      • 유연성: 개발자는 RTMP 프로토콜을 사용하여 오디오, 비디오 및 텍스트와 같은 다양한 비디오 형식을 하나의 일관된 패키지로 통합할 수 있습니다. 이것은 또한 여러 미디어 채널을 활용할 수 있도록 하며, 오디오의 경우 MP3 및 AAC, 비디오의 경우 MP4, FLV 및 F4V와 같은 형식으로 스트리밍할 수 있습니다.
    • 단점
      • 제한된 지원: Flash 는 빠르게 구식이 되고 있으며, HTML5 플레이어가 그 자리를 대체하고 있습니다. 현재 Flash 는 RTMP 를 지원하며 이 프로토콜은 HTTP 기반 비디오 프로토콜과 같은 컨버터 없이는 HTML5 플레이어에서 재생할 수 없습니다. 낮은 대역폭: RTMP 스트림은 대역폭 문제에 취약하여, 빈번한 라이브 스트림 중단으로 사용자 경험에 부정적인 영향을 미칠 수 있습니다
  5. Real-Time Streaming Protocol (RTSP)
    • 엔터테인먼트를 대상으로 개발된 기존 프로토콜로, 주요 사용 사례는 엔드포인트 간의 TV 및 영화와 같은 미디어 세션을 설정하고 제어합니다.
    • 라이브 스트리밍 데이터를 단독으로 전송할 수 없으며 RTSP 서버가 RTP 및 기타 프로토콜과 협력하여 스트리밍 작업을 수행해야 합니다.
    • 저지연 스트리밍을 지원하지만 대부분의 기기와 브라우저와 호환되지 않습니다.
    • Legacy Protocol 입니다.
    • 장점
      • 세그먼트 스트리밍: 뷰어는 비디오를 완전히 다운로드하지 않고도 내용을 시청할 수 있으며, RTSP 스트림을 통해 다운로드가 완료되기 전에 내용을 시청할 수 있습니다.
      • 매우 맞춤화 가능: 전송 제어 프로토콜 (TCP) 및 사용자 데이터그램 프로토콜 (UDP)와 같은 다른 프로토콜을 활용하여 자체 비디오 스트리밍 애플리케이션을 만들 수 있습니다.
    • 단점
      • 인기 부족: RTSP는 이 목록의 다른 프로토콜들보다 훨씬 인기가 적으며, 대부분의 비디오 플레이어와 스트리밍 서비스는 RTSP 스트리밍을 지원하지 않습니다.
      • HTTP 호환성 없음: RTSP를 직접 HTTP로 스트리밍할 수 없으므로 웹 브라우저에서 RTSP를 스트리밍하기 쉬운 방법이 없습니다. RTSP는 비즈니스 내의 보안 카메라와 같은 사설 네트워크에서 비디오 스트리밍을 위해 설계되었지만, 개발자들은 웹사이트에 이 프로토콜을 사용하여 스트리밍하기 위해 추가 소프트웨어를 임베드하는 옵션을 가지고 있습니다.
  6. Transmission Control Protocol (TCP)
    • 월드 와이드 웹 (HTTP), 이메일, 파일 전송 프로토콜 (FTP) 등과 같은 핵심 인터넷 응용 프로그램에서 광범위하게 사용됩니다.
    • 긍정적인 확인과 재전송 (PAR)을 통해 신뢰성을 제공합니다.
    • RTMP, RTSP, HLS 및 MPEG-DASH와 호환됩니다.
    • Internet Protocol 입니다.
    • 장점
      • 매우 신뢰성 높음: 목적지 라우터에 데이터 전달을 보장하여 신뢰성 있는 프로토콜입니다.
      • 오류 제한: 플로우 컨트롤 및 데이터 확인을 사용하여 네트워크 에러를 체크하는 메커니즘을 제공합니다. 데이터 패킷이 수신자의 IP 주소로 순서대로 도착하지 않거나 일부가 누락되더라도, 프로토콜은 각 조각이 있어야 하는 위치로 도착하도록 보내는 발신자와 통신합니다.
    • 단점
      • 속도가 느림: 데이터 패킷의 재정렬과 재전송으로 인해 TCP는 전송 속도가 느립니다.
      • 번거로운 프로토콜: 데이터를 보내기 전에 소켓 연결을 설정하기 위해 TCP는 데이터 전송 전에 세 개의 패킷을 필요로 합니다
  7. User Datagram Protocol (UDP)
    • 최소한의 메커니즘을 갖춘 연결 없는 프로토콜입니다.
    • 대량의 클라이언트로 데이터를 전송하는 데 이상적입니다.
    • 비스 검색 및 브로드캐스팅을 위한 멀티캐스트 지원을 제공합니다.
    • 재전송 지연이 낮아 실시간 음성 통화 (VoIP), 온라인 게임 및 실시간 비디오 스트리밍과 같은 응용 프로그램에 적합한 선택입니다.
    • SRT, WebRTC, RTSP 및 RTP와 호환됩니다.
    • Internet Protocol 입니다.
    • 장점
      • 속도: 데이터가 도착 순서대로 처리되기 때문에 무결성은 도착 시점에 체크섬을 사용하여 확인되므로 UDP는 빠릅니다. 가벼운 프로토콜: UDP는 연결 추적, 메시지 순서 지정 등이 없기 때문에 가벼운 프로토콜로 간주됩니다.
      • 연결 없음: UDP는 연결을 기반으로 하지 않으므로 한 프로그램이 동시에 다른 프로그램으로 여러 패킷을 보낼 수 있습니다.
    • 단점
      • 불정확성: UDP 스트리밍을 통해 전송된 데이터 패킷은 누락되거나 순서가 뒤바뀔 수 있으며, 이로 인해 라이브 스트림 중에 몇 프레임이 누락되거나 오디오에 경미한 일시적인 오류가 발생할 수 있으며, 이는 사용자 경험에 영향을 미칠 수 있습니다.
      • 기본 오류 확인: 기본적인 오류 확인을 수행하고 오류 복구 시도 없이 잘못된 패킷을 삭제합니다.
  8. Secure Reliable Transport (SRT)
반응형

+ Recent posts