Streaming media

 

  • Streaming 종류
    • On-Demand Streaming - 촬영/편집 후 제작 완료된 동영상을 사용자 요청시 전송
    • Live Streaming - Video/Audio를 실시간 인코딩하여 다수 사용자에게 전송
      • RTSP(RealTime Streaming Protocol)
        • 대규모 그룹에게 audio/video 데이터 효율적 전송(broadcast 목적??)
        • 실제 media는 대부분 RTP로 전송, RTSP는 media server 제어용
        • media server(media)를 원격에서 제어하는 명령어으로 stateful 함,
          즉, RDP(reliable datagram protocol)로 connection oriented는 아니지만 관리 수행
        • RTP와는 다른 세션이고 RTSP 세션으로 세션 관리는 수행하면 안됨
        • transport-layer에 독립적 - UDP, RDP, TCP 중 하나를 사용하여 application-level에서 신뢰성 확보(??)
        • command(HTTP/1.1 형식)
          • DESCRIBE
          • SETUP
          • PLAY
          • PAUSE
          • RECORD
          • TEARDOWN
      • RDP(Relible Datagram Protocol)
        • TCP는 byte-streaming 목적으로 그에 따른 acknowledge 방식, segment-sequencing 제어와 같은 복잡하고 불필요한 제어가 많고 UDP는 acknowledge가 없음
        • UDP, TCP 중간 개념으로 TCP에 비해 flow control, buffering, connection management를 단순화하고 간단하게 만들고 UDP와 같은 full-dulpex 2개의 channel로 구성하는 특성을 가지지만 acknowledge가 있고 channel에 대한 discard, damage detection이 있음
        • RDP - RFC908RFC1151
        • RUDP - wikipedia.org
      • RTP(RealTime Transport Protocol)
        • UDP 기반 payload 전송을 위한 protocol
        • packetization 이 중요함
        • 각 codec 별로 payload 전송을 위한 RTP 권장 치 참조
      • RTMP(RealTime Messaging Protocol)
      • HLS(HTTP Live Streaming)
    • NAT, Firewal
      • Full-duplex 방식인 RTSP, RTP 서비스시에 문제 상황 발생
    • HTTP는 Client -> Server 채널만 확보하면 되기 때문에 통신 구조와 환경이 단순해 지고 웹 서비스 캐시나 기존 CDN 그대로 사용 가능
  • HLS for Comm. Hub
    • Feature(JW Player)
      • An existing file or live stream is segmented before delivery into short files.
      • These segments are stored on a standard webserver and individually requested by a video player.
      • During playback, the player seamlessly stitches the segments together.
    • Diagram
      TODO
      • 애플의 HLS는 sender 가 없이 Camera에서 pre-recorded 데이터를 Media Server에서 encoding 하는 그림에서 시작한다.
      • 그래서인지 HLS uplink streaming 개념을 못 찾음??? HTTP로 Upload한 Contents를 downlink streaming만 하는 가 보옴...
    • HLS Adaptive Stream
      • pre-determined media quality
      • 단말 resource, Network bandwith에 맞게 전송하기 위해 다양한 품질의 Media를 미리 보유한 후에 사용
      • metadata에 관련 정보가 포함되어야 한다.
    • Progressive Download
      • file을 full-download 후 재생함
      • 이때 file list의 모든 files를 다 받는것은 당연히 아닌 듯함, 그중에 하나의 file
      • 어떤 의미에서는 streaming으로 볼 수 없다.
      • device capability, network bandwith에 맞춤형 media 제공 해야 함
    • Security
      • URL로 access 하기 때문에 Dynamically Changing Security Token 방식 사용, 10초마다 토큰 갱신

덧글

댓글 입력 영역