Skip to content

Samuel-Jeong/JDASH

Repository files navigation

MPEG DASH Program

비디오(+오디오) 라이브 스트리밍 서버 & 클라이언트

1. 상기 프로그램은, 
    1) DASH 서버로서 다른 DASH 클라이언트로부터 요청을 받아 처리할 수 있고, 
    2) DASH 클라이언트로서 다른 DASH 서버에 요청을 보내서 미디어 스트림을 가져올 수 있다.
    3) 서버와 클라이언트 기능은 서로 구분되어 동작하지 않고, 상호 운용된다.

2. DASH 서버로 동작할 때, 
    1) 미디어 스트림을 가져올 때 현재는 [RTMP, DASH] 방식을 사용 가능
    2) DASH 방식을 사용하여 static media stream 을 미리 가져오기 가능 (DASH 클라이언트로 동작)
        > dynamic media stream 은 rtmp 서버에 publish 했다는 가정 하에, 
          published media stream 을 사용자가 요청하기 전에 미리 가져오도록 구현되어있음
          (RTMP 클라이언트로 동작)

3. DASH 클라이언트로 동작할 때, 
    1) 미디어 스트림 송출할 때는 (publishing), 비디오와 오디오 모두 송출 필요 > 사용하는 Open API 에서 오디오만 송출되지 않음
        > RTMP 를 사용하면 비디오 + 오디오 필수, DASH 사용하면 비디오 또는 오디오 선택 가능
    2) 미디어 스트림 수신할 때는 (playing), 비디오 또는 오디오 수신 > 오디오만 따로 수신 가능

4 REFERENCE
  1) Make MPD & Segments
    + REF : org.bytedeco.javacv (static, dynamic)
            (https://github.com/bytedeco/javacv)

  2) MPD class object & Validatation of MPD file
    + REF : carlanton/mpd-tools (io.linstrom:mpd-parser)
            (https://github.com/carlanton/mpd-tools)

  3) Camera
    + REF : org.bytedeco.javacv
            (https://github.com/bytedeco/javacv)

MAIN CODE LOGIC

JDASH_메인코드로직

Service

dash_stream_flow

스크린샷 2022-02-15 오후 4 02 51

스크린샷 2022-02-10 오전 9 40 31

(1) DRM 적용 전

스크린샷 2022-02-09 오후 3 47 00

(2) DRM 적용 후

스크린샷 2022-02-09 오후 3 47 20

Flow

(1) DRM 적용 전

스크린샷 2022-02-09 오후 3 44 54

(2) DRM 적용 후

스크린샷 2022-02-09 오후 3 45 54

Data structure

스크린샷 2022-02-04 오전 9 31 14

Releases

No releases published

Packages

No packages published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy