Streaming Media
-
FFmpeg 기본 자료형 - AVFifoBufferStreaming Media/Media Tools 2013. 6. 10. 14:59
순환하는 FIFO 이다. av_fifo_generic_read / av_fifo_generic_write 버퍼에 데이타를 읽고/쓴다.콜백 함수를 사용하지 않으면, 메모리의 복사가 발생한다.읽은 만큼 FIFO를 버린다. (av_fifo_drain 함수 참조)읽고/쓰기 함수에서 FIFO의 크기를 검사하지 않는 점을 주의한다. av_fifo_peek2 오프셋의 데이타의 주소를 반환한다.FIFO 자체에 어떠한 변경도 가하지 않는다. av_fifo_size 저장된 데이타의 크기이다. av_fifo_space 저장 가능한 크기이다. 즉, 버퍼의 크기 - 저장된 데이타의 크기 av_fifo_alloc / av_fifo_free FIFO 구조체의 자원을 생성/소멸한다. av_fifo_grow FIFO의 버퍼의 크기를 ..
-
WebRTC: 비디오 캡쳐화면 보여주기Streaming Media/Media Tools 2013. 3. 12. 17:51
MediaStream MediaStream API는 동기화된 미디어 스트림을 나타낸다. 예를 들면, 캡코더와 마이크로부터 입력받은 스트림은 동기화된 비디오와 오디오 트랙을 가진다. http://www.w3.org/TR/mediacapture-streams/#stream-api 태그 태그는 HTML5에 소개된 것으로, 동영상이나 미디어 스트림과 같은 비디오를 표현하는데 사용한다. http://www.w3schools.com/tags/tag_video.asp 출처: http://www.html5rocks.com/en/tutorials/getusermedia/intro/
-
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..
-
SMIL 소개Streaming Media/Media Tech 2012. 11. 23. 10:36
SMIL는 Synchronized Multimedia Integration Language의 약어로써, 멀티미디어 데이터를 XML을 이용하여 시간적, 공간적으로 배치, 제어하기 위한 W3C 표준 프레젠테이션 언어이다. SMIL 형식 최상의 요소(root element) 로서 를 사용한다. SMIL의 예 미디어 객체 요소 (Media Object Elements) ref text textstream img audio video animation 집단 요소 par : 병렬적(parallel)으로 재생할 요소를 묶는다. seq : 순차적(sequential)으로 재생할 요소를 묶는다. par와 seq를 혼합하여 사용할 수 있다. switch : 최초의 수용 가능한 요소를 선택하여 재생한다. 속성 src : U..