Streaming Media/Media Tech
-
러스트로 MPEG-4 파일 시스템 라이브러리를 만들어보자.Streaming Media/Media Tech 2021. 7. 12. 13:33
스푼라디오에 재직하던 시절 작성한 "러스트로 MPEG-4 파일 시스템 라이브러리를 만들었던 경험"을 소개합니다. ISO BMFF를 구현한 순수한 러스트 크레이트는 전부 인큐베이팅 수준에 불과했습니다. 미디어 데이터를 읽어서 재생할 수도 인코딩된 데이터를 저장할 수도 없었습니다. 새로운 크레이터를 만들까 고민하다가, 약간이라도 진행된 mp4rs를 선택하여 사용 가능한 수준으로 개선하기로 했습니다. https://medium.com/spoontech/rust로-mpeg-4-파일-시스템-라이브러리를-만들어보자-4dd73e3bf77b 전체 내용은 원문으로 확인하세요. 추가 mp4rs에서 mp4-rust로 이름이 바뀌었다. 코드는 https://github.com/alfg/mp4-rust에서 문서는 https:/..
-
멀티미디어 서비스를 위한 얕은 지식Streaming Media/Media Tech 2017. 12. 21. 10:56
멀티미디어의 특징 데이터가 매우 크다. 문자 데이터와 비교하면 비디오나 오디오 데이터는 엄청나가 크다. 24-bit, 1080p @ 60 fps: 24 × 1920×1080 × 60 = 2.98 Gbit/s. 출처 : Wikidepia, Uncompressed video 방대한 분량의 자료를 저장하고 전송하는 기술이 요구된다. 시간에 민감하다. 멀티미디어 정보의 유효성은 시간과 밀접하다. 시간내에 처리되지 않으면 정보의 품질이 급격히 떨어진다. 실시간 처리와 네트워크 서비스 품질(QoS)이 필요하고 각 매채간의 상호 동기를 해결해야 한다. 인간의 오감으로 수용하는 데이터이다. 멀티미디어는 궁극적으로 인간의 오감(대부분 시각과 청각)으로 수용된다. 이로 인해 약간의 오류를 허용하는 특징이 있다. 이를 활용..
-
MPEG-4 파일 시스템의 미디어 샘플과 시간 정보 구하기Streaming Media/Media Tech 2013. 6. 26. 18:09
선행 학습MPEG-4 파일의 구조 개괄 샘플의 정보를 저장하는 박스 미디어 샘플에 관한 정보는 샘플 테이블 박스에서 구한다. 미디어 샘플 테이블 박스는 "stbl"이라는 타입명을 가진다. 이 박스의 위치는 다음과 같다. (중간에 존재하는 다른 박스는 모두 무시하였다. 자세한 내용은 아래 참고 링크에서 확인한다.) moovmvhdtrakmdiaminfstbl stbl 박스는 목적에 맞는 여러 개의 박스를 포함한다.co64 - 64-bits Chunk Offsets Boxctts -Composition Offset Boxstco - Chunk Offsets Box stsd - Sample Descriptionstsc - Sample To Chunk Boxstss - Sync Sample stsz - Samp..
-
RTMP의 스트림 이름의 접두어 규칙Streaming Media/Media Tech 2013. 3. 6. 14:57
RTMP에서 재생하기 위한 미디어 파일의 종류에 따라서 접두어가 붙는다. FLV 파일을 재생하려면, 확장자를 제외한 이름을 사용한다. 즉, 접두어를 붙이지 않는다. 예를 들면, 파일명이 "sample.flv" 라면 재생시에 "sample"이라고 요청한다.MP3나 ID3 태그를 재생하려면, 스트림 이름에 "mp3:" 접두어를 붙인다. 예를 들면, "mp3:sample"을 사용한다.H.264/AAC 파일을 재생할 때는, 스트림 이름 앞에 "mp4:"를 붙이며, 확장자를 명시한다. 예를 들어, "sample.m4v"를 재생한다면, "mp4:sample.m4v"라고 명시한다.
-
HTTP Dynamic Streaming 소개Streaming Media/Media Tech 2013. 2. 4. 18:22
출시 역사와 배경 20세기 초반 어도비의 플래시는 인터넷에서 사용자 경험(User experience)과 RIA(Rich Internet Application) 측면에서 가장 앞서있던 기술이었다. 기존의 Window Media가 지배했던 웹 비디오 시장이 점차 HTTP 다운로드 방식의 플래시 비디오로 넘어가게 되었다. 이 당시 비디오 공유 시장, 소위 UCC의 확산으로 플래쉬 비디오는 거의 웹의 표준으로까지 성장하게 된다. 그러나 이 방식은 보안과 저작권에 대한 문제를 안고 있다. PC의 임시 저장 공간에 남아있는 컨텐츠로 인해서 누구라도 복제하고 재배포할 수 있는 우려를 낳게 해 준다. 이에 어도비는 전통적인 스트리밍 방식의 RTMP 프로토콜을 공개한다. 20세기 후반들어,RTMP와 같은 전통적인 스트..
-
Media Presentation Description (MPD) 예제Streaming Media/Media Tech 2013. 1. 30. 21:40
MPD 구조의 예 MPDMPD의 최상의 요소이다.Period보통 미디어의 정보가 유지되는 기간을 명시한다.이 기간 동안 가능한 비트율, 언어, 등은 고정이다.BaseURL다른 세그먼트나 리소스의 공통된 URL을 명시한다.AdaptationSet하나 이상의 상호 교체할 수 있는 인코딩된 버젼의 집합이다.Period에는 최소한 하나의 AdaptationSet이 있어야 한다.Representation하나 이상의 전송 가능한 인코딩된 버젼을 나타낸다.하나 이상의 미디어 스트림을 포함한다.Segment한번의 HTTP 요청으로 가져갈 수 있는 가장 큰 조각을 나타낸다. MPD의 예 http://www-itec.uni-klu.ac.at/ftp/datasets/mmsys12/BigBuckBunny/bunny_15s/ ..
-
WebRTC와 CU-RTC-Web 간단 메모Streaming Media/Media Tech 2013. 1. 23. 18:16
WebRTC와 CU-RTC-Web 모두 브라우져에서 화상 채팅과 같은 기능을 구현하는 위한 표준이다. WebRTC는 구글에서 주도하고 있으며 파이어폭스, 오페라 등이 참여하고 있다. 플러그인없이 화상 채팅 등의 기능을 브라우저에 제공하기 위해서 개발이 되었다. 구글에서 개발한 소스코드를 오픈했다. 이 글을 포스팅하는 시점으로는, 크롬에서는 이 기능이 포함되어 배포되었으며, 파이어폭스는 개발 버젼에만 이용 가능하다. 반면, CU-RTC-Web은 마이크로소프트가 단독으로 진행하고 있다. WebRTC가 SDP를 사용하는 문제점을 지적하고 있다. WebRTC를 위해서는 SDP 표준의 확장이 필요한다. 그런데, 이 표준을 관리하는 주체는 ITEF의 MMUSIC(Multiparty Multimedia Session..
-
MPEG DASH 소개Streaming Media/Media Tech 2012. 12. 6. 16:45
Dynamic Adaptive Streaming over HTTP (DASH)는 ISO 표준(ISO/IEC 23009-1)으로 개발된 HTTP Adaptive Streaming의 한 종류이다. 두가지 요소Media Presentation (MP)오디오/비디오는 하나의 파일로 묶일 수도 있고 (HTTP Live Streaming 처럼) 각각의 파일로 분리될 수도 있다. (Smooth Streaming 처럼) Media Presentation Description (MPD)스트림의 정보를 나타내는 XML이다.MPD의 예 특징 코덱 독립적이다. 예를 들면, H.264, WebM, 또는 다른 코덱과 동작 가능하다.MP4 Format(ISO Base Media File Format)과 MPEG-2 Transpor..