들어가기 전에                                                                                                                                                            

                                                                                                                                                                           

  AWS를 주로 사용하는 미디어 엔지니어라면 AWS Elemental MediaLive에 익숙할 것이다. 클라우드에서 라이브 스트림을 수신하고 트랜스코딩해 다양한 포맷으로 내보내는 채널 기반의 서비스다. Tencent Cloud의 StreamLive는 이와 동일한 포지션에 위치한 서비스이다. 방송 수준의 라이브 스트림 처리를 클라우드에서 처리하는 플랫폼으로, 입력 수신부터 트랜스코딩, SCTE-35, 다중 출력까지 하나의 채널 구성 안에서 관리한다.   

                  

  AWS MediaLive가 MediaPackage등 기타 Elemental 시리즈와 결합해 동작하듯, StreamLive도 StreamPackage, CSS와 함께 전체 파이프라인을 구성한다. 서비스 설계 철학이나 구성 단위가 매우 유사하기 때문에, MediaLive 경험이 있다면 StreamLive 구성도 크게 어렵지 않게 접근할 수 있다.

                           

 

                                                                                                                                               

 파이프라인에서의 위치                                                                                                                                                    

  

 전체 라이브 스트리밍 파이프라인에서 StreamLive의 위치는 아래와 같다.                                                                                                     

 

                                                                                                                                                                           

  Streamlink가 크로스 리전 전송 안정성을 담당하는 구간이라면, StreamLive는 그 이후 신호를 받아 실제 처리를 수행하는 구간이다. 트랜스코딩, 어댑티브 비트레이트 출력 구성, SCTE-35 처리가 모두 여기서 이뤄진다. StreamLive의 출력은 StreamPackage로 이어지며, 패키징된 HLS 또는 DASH 스트림이 CDN을 통해 시청자에게 전달된다. 또한 StreamLive의 출력을 Streampackge가 아닌 MediaPackage나 기타 라이브 오리진으로 보내는 것도 지원한다. 일반적으로 현재 미디어 워크로드를 크게 바꾸지 않는 상태에서 StreamLive에서 제공하는 트랜스코딩 품질만 얻고 싶을때 사용하는 방식이 되겠다.

 

                                                                                                                                                                           

                                                                                                                                     

  

  채널 구조: 입력부터 출력까지                                                                                                                                             

                  

  StreamLive는 채널(Channel) 단위로 모든 설정을 관리한다.

  하나의 채널 안에 입력, 트랜스코딩 템플릿, 출력 그룹을 각각 구성하고 연결하는 방식이다.                           

  

  입력(Input)                                                                                                                                                              

 StreamLive가 지원하는 입력 프로토콜과 방식은 아래와 같다.             

 

프로토콜 방식
RTMP Push
Pull
SRT Push
Pull
RTP Push
RTP-FEC PUSH
UDP Push
HLS Pull
MP4 Pull
RTSP Pull

    

                                                                                             

                  

  RTP-MPEGTS 입력은 다중 오디오 트랙을 포함한 스트림을 수신하면서 각 트랙을 채널 내에서 독립적으로 트랜스코딩할 수 있다. 다국어 방송이나 SAP(Secondary Audio Program) 구성이 필요한 환경에서 유용하다.

                                                                                                                                                                           

  또한 각 채널에는 기본(Primary)과 백업(Backup) 입력 주소가 제공되어 Failover 구성이 가능하며 RTP-MPEGTS 입력은 다중 오디오 트랙을 포함한 스트림을 수신하면서 각 트랙을 채널 내에서 독립적으로 트랜스코딩할 수 있다. 다국어 방송이나 SAP(Secondary Audio Program) 구성이 필요한 환경에서 유용하다. Pull 타입 입력은 소스 종료 후 동작을 LOOP(반복) 또는 ONCE(1회) 중에서 선택할 수 있다.


  

  트랜스코딩                                                                                                                                                               

                  

  비디오와 오디오 트랜스코딩 템플릿을 별도로 생성한 뒤 출력 그룹에 조합해 연결하는 구조다. 지원 해상도는 SD부터 4K까지이며, H.264와 H.265 인코딩을 모두 지원한다. AI 기반 동적 인코딩 파라미터 산출 기능을 통해 비트레이트 대비 화질을 최적화하는 Top Speed Codec 옵션도 제공된다. TSC에 대해서는 별도 섹션에서 설명하기로 한다.

                                                                                                                                                                           

 출력 그룹(Output Group)

 

 하나의 채널에서 여러 출력 그룹을 동시에 구성할 수 있다. 지원하는 출력 타입은 아래와 같다.                                                                                

 

출력타입 설명
HLS TS 또는 fMP4 세그먼트 기반 출력
DASH fMP4 세그먼트 기반 출력
HLS Pull
MP4 Pull
RTSP Pull

                                                                                                         

                  

  ABR 구성이 필요한 경우, 해상도와 비트레이트가 다른 복수의 트랜스코딩 템플릿을 하나의 출력 그룹 안에 묶어 구성한다. 이 구조는 AWS MediaLive의 Output Group 개념과 동일하다.

                                                                 

 

                                                                                                         

  [해당 콘솔 캡쳐 삽입]

 

 

 입력 보안과 SCTE-35                                                                                                                                                      

  

  입력 보안 그룹                                                                                                                                                           

  입력 단에서 CIDR 기반으로 허용 IP를 제한할 수 있다. 보안 그룹을 채널에 연결하면 설정된 IPv4 범위 외의 인제스트 요청은 차단된다. 특정 인코더나 업스트림 서버에서만 신호를 받아야 하는 환경에서 기본적으로 설정해두는 것이 좋다.                                                                                                                    

  

 

  SCTE-35                                                                                                                                                                  

  SCTE-35는 방송 스트림 내에 광고 삽입 타이밍 신호를 포함하는 표준이다. StreamLive는 입력 스트림에 포함된 SCTE-35 마커를 처리해 출력 스트림에 전달하는 기능을 지원한다. OTT 플랫폼에서 서버 사이드 광고 삽입(SSAI)을 구성할 때 이 구간의 처리가 전제 조건이 된다.                                                                                   

                  

  마치며                                                                                                                                                                   

                  

  StreamLive는 AWS Elemental MediaLive와 동일한 역할을 Tencent Cloud 생태계 안에서 수행하는 서비스다. 채널 단위의 구성 방식, 입력-트랜스코딩-출력 그룹의 조합 구조, SCTE-35지원까지, 방송급 라이브 스트리밍 파이프라인에 필요한 처리 요소들을 하나의 플랫폼에서 담당한다. StreamLink로 안정적인 신호를 받아 StreamLive에서 처리하고, StreamPackage로 패키징해 CDN으로 내보내는 흐름이 Tencent Cloud 미디어 서비스의 표준적인 구성이다.                                                                        

                  

 

참고자료 : https://www.tencentcloud.com/document/product/1048?lang=en&pg=

+ Recent posts