MPEG-2 TS 에 대해 알아보자.

oen·2020년 12월 16일
1

📹 VIDEO

목록 보기
1/3


(출처: Apple HTTP Live Streaming (HLS))

MPEG-2 TS ?

위 그림에서 나머지는 알겠는데 Server의 MPEG-2 transport stream 이건 뭔지 긴가민가 해서 찾아보았다.

MPEG

높은 용량의 비디오와 오디오를 CD와 같은 매체에 담으려면 압축을 해야한다.
이때 할 수 있는 압축 기술이 여러가지가 있는데, MPEG도 이런 압축 기술이다.

MPEG는 오디오 및 비디오 압축 및 전송 표준을 설정하기 위해 형성된 모임인 Moving Pictures Experts Group의 약자인데, 동영상 배포를 필요로 하던 시점부터 높은 용량으로 인해 압축이 필수적인 상황이 되면서 MEPG 그룹이 압축 기술을 개발하기 위해 모이면서 등장했다.

정확히 말하면, MPEG는 어떤 압축 기술을 만든 모임의 이름이자 그 모임에서 만든 압축 기술의 이름인 것이다.

MPEG-2

MPEG는 미디어압축(및 압축 해제) 기술이라는 걸 알았다.
그럼 MPEG-2는 뭘까?

MPEG 압축 기술의 종류는 MPEG1, MPEG2, MPEG4, MPEG7, MPEG21 이 있는데 MPEG-2는 이 중 하나이다.

MPEG1는 CD와 같은 매체에 동영상을 담기 위해 사용된 최초의 동영상 압축방식으로 최대 전송률이 약 1.5Mbs밖에 되지 않아 현재의 기술과는 거리가 멀다.

하지만 MPEG2는 디지털 방송이나 DVD 같은 동영상 압축에 사용되는 손실 압축기술로 오래된 기술이지만 4~100Mbps의 전송속도로 MPEG1보다 훨씬 빠르다.
그래서 MPEG 중에서도 특히 많이 사용된다.

(참고: 동영상 압축 기술(MPEG) 정리! (MP3, MP4 등))

MPEG-2 TS(Transport Stream)

위키피디아에 MPEG-2 TS 에 대한 설명이 잘 나와있어서 번역해보았다.

MPEG transport stream (MPEG-TS, MTS) or simply transport stream (TS) is a standard digital container format for transmission and storage of audio, video, and Program and System Information Protocol (PSIP) data.

transport stream (TS) 라고도 불리는 MPEG transport stream (MPEG-TS, MTS) 은 오디오, 비디오, Program and System Information Protocol (PSIP) data를 저장해서 전송하기 위한 표준 디지털 컨테이너 포맷이다.

즉, 디지털 미디어를 전송하는 전송규격. 전송용 컨테이너 포맷이다.
디지털 미디어를 전송하기 위해서는 특정 전송규격으로 보내야 하기 때문에, 데이터를 이 규격에 맞춰 저장하고 그렇게 저장한 데이터를 전송하는 것이다.

> 참고

Transport stream specifies a container format encapsulating packetized elementary streams, with error correction and synchronization pattern features for maintaining transmission integrity when the communication channel carrying the stream is degraded.

Transport stream은 컨테이너 포맷(규격)을 지정하는데, 이 컨테이너 포맷으로 packetized elementary streams(PES)을 캡슐화한다.
또한 스트림을 전달하는 통신 채널이 성능이 저하되었을 때 전송 무결성을 유지하기 위해 동기화 패턴 기능도 포함한다.

Packetized Elementary Stream (PES) is a specification in the MPEG-2 Part 1 (Systems) (ISO/IEC 13818-1) and ITU-T H.222.0 that defines carrying of elementary streams (usually the output of an audio or video encoder) in packets within MPEG program streams and MPEG transport streams.
The elementary stream is packetized by encapsulating sequential data bytes from the elementary stream inside PES packet headers.
A typical method of transmitting elementary stream data from a video or audio encoder is to first create PES packets from the elementary stream data and then to encapsulate these PES packets inside Transport Stream (TS) packets or Program Stream (PS) packets.

Packetized Elementary Stream (PES)는 ISO/IEC 에서 정의한 규정(specification) 이다.
이 규정은 MPEG program streams 과 MPEG transport streams 컨테이너 안에서 패킷화된 elementary streams(보통 오디오 또는 비디오 인코더로부터 인코딩된 데이터) 전송에 관해 정의한다.

elementary stream은 elementary stream 의 sequential한 데이터 바이트를 캡슐화해 PES 패킷(Packet: 트랜스포트 스트림의 기본 데이터 단위) 헤더안에 패킷화된다.

video 또는 audio 인코더로부터 인코딩된 기본 스트림 데이터를 전송하기 위해서는 먼저 기본 스트림 데이터로부터 PES packets를 만들고, 이 PES packetes를 Transport Stream (TS) packets or Program Stream (PS) packets 내부에 담아야 하는 것이다.

(참고: MPEG transport stream)


결론:


(출처: Apple HTTP Live Streaming (HLS))

지금까지 알아본 내용을 바탕으로 위 그림을 다시 보자.

  1. 먼저 아날로그로 녹화된 Audio/Video 인풋 파일들은 Media encoder를 통해 HLS가 지원되는 포맷으로 인코딩된다.
    (인코딩: 음성 또는 영상의 신호를 디지털 신호로 변환. 디지털 신호로 변환해야 기기에서 영상을 재생할 수 있다.
    따라서 캠코더로 녹화된 (아날로그로 녹화된) 영상을 인코더를 거치면서 디지털화한다)

  2. 데이터는 전송용 컨테이너 포맷인 MPEG-2 Transport Stream 규격으로 담아져 Stream segmenter로 전송된다.

  3. Stream segmenter는 전송받은 데이터를 시간 단위로 잘게 쪼개서 ts 파일, ts파일에 대한 정보를 가지는 메타데이터(m3u8)를 만들고(segmentation) 전송해 CDN에 저장한다.

  1. client가 웹서버에 요청하면 웹 서버는 m38u 파일을 제공한다.
profile
🐾

0개의 댓글