Streaming Media
-
Smooth Streaming Client Manifest FormatStreaming Media/Media Tech 2012. 11. 21. 11:01
Smooth Streaming Client Manifest 포맷은 SMIL 2.0 XML 포맷 사양을 기본으로 하며 아래와 같은 구조로 되어 있다. SmoothStreamingMedia Smooth Streaming의 미디어를 표현하는 메타데이타를 명시한다. 속성MajorVersion : (필수) Client Manifest의 주 버젼. MinorVersion : (필수) Client Manifest의 부 버젼.TimeScale : (선택) 1초를 나누는 시간의 수를 명시한다. 기본값은 10,000,000으로 100 나노초를 의미한다.Duration : (필수) 전체 재생 시간. 라이브는 반드시 0으로 설정한다.IsLive : (선택) "true"라면 진행중인 라이브. 주문형이면 생략한다.Lookahea..
-
Smooth Streaming 파일과 프로토콜Streaming Media/Media Tech 2012. 11. 20. 14:10
Smooth Streaming는 마이크로소프트에서 개발한 HTTP기반 어댑티브 스트리밍의 한 종류이다. Smooth Streaming Disk File Format Smooth Streaming Disk File Format은 MPEG-4 파일 시스템 기반이며, 다음과 같은 이유로 작게 쪼개진 메타데이타/데이타 쌍으로 구성이 된다. 라이브 스트리밍은 데이타를 받고 있는 중이어서 완전한 메타데이타를 구성할 수 없다.메타데이타가 작으면 적은 오버헤드로 좀 더 빠른 재생이 가능하다. 종종 "fMP4" 또는 "Fragmented MP4 파일"이라고 부른다. 박스(box)의 구성Movie Fragment (moof)Movie Fragment Header (mfhd)Track Fragment (traf)Movie ..
-
MPEG-2 Transport Stream 소개Streaming Media/Media Tech 2012. 11. 19. 13:01
MPEG-2 시스템은 압축 부호화된 비디오, 오디오, 데이타 등의 다중화와 동기화를 구정했다. Transport Stream 생성 비디오, 오디오 등의 압축 부호화되어 ES(Elementary Stream)을 생성한다. 이것을 프레임의 정보를 담은 헤더(header)와 단일의 비디오나 오디오의 프레임을 담은 페이로드(payload)로 구성한 가변 길이의 PES(Packetized Elementary Stream)로 나눈다. 다음은 PES를 188 bytes의 고정 길이의 TS(Transport Stream)으로 나눈다. 오디오, 비디오, 데이타를 담고 있는 각각의 패킷은 PID(Packet Identifier)라는 번호로 식별한다. PSI(Program Specific Information) PAT (P..
-
MPEG-4 파일의 구조 개괄Streaming Media/Media Tech 2012. 11. 19. 11:18
박스(box) 파일의 기본 단위로 크기와 타입, 데이타를 가진다. 크기는 크기와 타입 필드를 포함한 박스의 전체 크기이다. 데이타는 타입에 따른 데이타나 자식 박스(child box)가 올 수 있다. 예전에는 아톰(atom)으로 불렀다. 파일의 구조 MP4 파일은 데이타와 메타데이타 박스를 구성할 수 있는 다양한 방법을 제공한다. ftyp : 파일의 호환성을 확인하는 파일 타입 박스 (file type box) moov : 미디어의 모든 메타 데이타를 저장하는 무비 박스 (movie box) mvhd: 무비 헤더 박스 (movie header box) trak : 무비 안의 단일 트랙을 정의하는 박스 (track box) tkhd : 트랙의 특성을 기술 (track header box) edts : (e..
-
HTTP 기반 어댑티브 스트리밍Streaming Media/Media Tech 2012. 11. 6. 14:02
전통적인 스트리밍전통적인 스트리밍 프로토콜의 대표적인 예는 RTSP(Real-Time Streaming Protocol)이다.서버는 클라이언트와의 접속이 이루어지면 세션을 생성한다. 이 세션은 클라이언트의 재생 상태를 유지하는데 사용한다. 클라이언트의 명령(시작, 일시정지, 정지 등)에 따라서 이러한 상태를 변경한다.세션이 살아있는 동안 서버는 작은 패킷으로 미디어 데이타를 전송한다. 서버는 재생 속도에 따라서 적절한 양의 패킷을 전송하는 흐름 제어의 역활까지 한다. 특히 전송 프로토콜이 UDP 상에서 동작할 경우는 필수적이다. 프로그레시브 다운로드미디어 파일을 받으면서, 다시말하면 전체 파일을 모두 받기 전에, 재생하는 방식이다. 아직 받지 않은 지점으로 이동하려면 서버와 클라이언트가 HTTP 1.1 ..
-
H.264 소개Streaming Media/Media Tech 2012. 11. 6. 11:13
소개 H.264, MPEG-4 Part 10, MPEG-4 AVC으로 알려져 있다. 두개의 표준화 단체, ITU과 ISO/IEC에서 표준을 만들었다. AAC과 함께 요즘 대세를 이루는 코덱이다. 로얄티 WebM의 영향으로 인터넷상에서 무료로 공개되는 동영상에 대해서는 로얄티를 요구하지 않는다. 반대로 나머지 경우(유료 컨텐츠, 인코더, 플레이어 등)에 대해서는 로얄티를 내야 한다. 경쟁 코덱 H.264에 대한 오해 중에 하나는 높은 연산을 요구하여 컴퓨터의 자원(CPU)을 많이 소모한다는 점이다. 이 오해는 절반은 맞고 절반을 틀리다. 다른 코덱에 비해서 많은 연산을 필요로 하는 것은 맞지만, 컴퓨터의 자원을 많이 소비하는 것은 2000년대 초반의 문제고 지금은 그러하지 않다. 오히려 비디오 가속의 지원..
-
FFmpeg 소개Streaming Media/Media Tools 2012. 11. 2. 14:53
FFmpeg은 완벽하고 플랫폼 의존적이지 않은 미디어 프레임워크이다. 여러가지 도구와 개발 라이브러리 제공한다. 홈페이지 제공하는 도구ffmpeg - 미디어 포맷 변환 도구 ffserver - 라이브 방송을 하는 멀티미디어 스트리밍 서버 ffplay - 간단한 멀티미디어 플레이어 ffprobe - 간단한 멀티미디어 스트림 분석기 개발 라이브러리libavutil - 다양한 개발 도구 라이브러리 libavcodec - 오디오/비디오 코덱 라이브러리 libavformat - 멀티미디어 컨테이너의 디먹서/먹서 라이브러리 libavdevice - 입출력 장치 제어 라이브러리 libavfilter - 미디어 필터 라이브러리 libswscale - 이미지 처리 라이브러리 libswresample - 오디오 처리 라이..