Multimedia Programming 17: Introduction to DirectShow

Slides:



Advertisements
Similar presentations
IP 기반 통합방송정보 솔루션 IP 기반 통합방송정보 솔루션 ( IP 기반의 HD 방송 CONTENTS 통합미디어 서비스 ) Easy-Viewer System.
Advertisements

- 정경훈, 전민철 - 1 Codec 이란 ? 멀티미디어 저작시스템 전민철 정경훈
멀티미디어 배움터 장 멀티미디어와 정보화사회 1.1 멀티미디어의 이미와 특성 1.2 멀티미디어의 발전 배경 1.3 정보화사회에서 멀티미디어의 발전 방향과 역할.
인터넷 정보관리 Internet Information Management. 학습내용 PART 1 정보통신윤리, 네티켓 및 컴퓨터의 개요 PART 2 인터넷의 이해 - 인터넷의 개요, 인터넷관련 법규 PART 3 인터넷 서비스 PART 4 사용자 환경구축 및 홈페이지 제작.
Streaming 과 Adaptive Streaming 티빙 시대 8조. 티빙시대 모니터링팀 8조의 PowerPoint 01 Streaming02 Adobe Flash03 Silverlight04 APPLE’S05 Q&A.
Company 사용자 인터페이스와 멀티미디어 2006 년 1 학기 컴퓨터의 개념 및 실습 Ver. 1.1.
제 1 부 멀티미디어 (Multimedia) 와 웹 (Web) 제 1 장 멀티미디어 (Multimedia) 와 생활 제 2 장 웹 (Web) 과 멀티미디어 (Multimedia) 제 2 부 컴퓨터 그래픽스 (Computer Graphics) 제 3 장 컴퓨터 그래픽스.
1 개인 음악방송 웹사이트 구축 음악 파일 종류 및 편집도구. 2 목차 1. 음악 파일의 종류 Wave, midi, ra, au, aiff, asf, wma, atrac, mp3, wma, ogg 등 2. 음악 파일 형식 변환 Audiograbber(CD에서 음악 파일.
디지털코드와 압축 구미 1 대학 컴퓨터정보전자계열 3 디지털 코드의 압축 - 문자, 음성, 영상 등 모든 정보가 디지털 코드로 표시 - 제한된 크기의 메모리에 많은 정보를 저장 - 제한된 전송선로를 통해 많은 정보를 전송 -
Distributed Computing Incoder Park Gui Mong(PL) Kim Byeon Jin Lee In Uk Tim OutSiders - INingyuCODER-
멀티미디어 하드웨어 / 소프트웨어. 이 장에서 배울 것  멀티미디어 하드웨어  멀티미디어 소프트웨어  멀티미디어 표준.
미디어 프로그래밍 II 소개.
Home Media Network (HMN)
음향기기 사업계획서.
제 10장 멀티미디어.
땅 따먹기 박중규,나민하 나와 바~악!.
7장 멀티미디어 기술과 활용 7.1 멀티미디어의 개념과 환경 7.2 멀티미디어의 활용 분야 7.3 멀티미디어 데이터의 처리
사용자 인터페이스와 멀티미디어 2006년 2학기 컴퓨터의 개념 및 실습.
멀티미디어 컨텐츠 개요 멀티미디어 컨텐츠 입문 (2001 Fall).
공개SW 기반 멀티미디어 학습 유 승 욱.
Media Server 제안서.
국가도서관통계시스템 수치입력자 매뉴얼 이의신청 방법 Version. 1.0.
사운드.
Based on silverlight. Contents  RIA  Content Delivery Techniques  Smooth Streaming  Smooth Streaming 지원하는 파일  Smooth Streaming 의 세부 방식.
싸이월드 동영상 서비스 솔루션 MovieUP 커스터마이징 개발완료 보고서.
동영상 제작 송정아 강사.
3장 인터넷과 멀티미디어.
Computer Architecture and Design Lecture 14
12. 방송융합 서비스.
2017 북부문화사업단 공모지원사업 교부·정산 설명회.
7장 비디오.
제7장 비디오 멀티미디어의 이해.
인터넷 방송시스템 제안서.
차례 ▶VoiceEye(보이스아이) 란 ? 2 ▶구입시 확인 사항 3 ▶설치 PC 시스템 요구사항 4 ▶PC와 케이블 연결 5
제 5장. MPEG.
MagicOne , Window Movie Maker, etc
비디오.
정보이론 PARSONS/OJA 데이터의 표현 1.
제 12장 멀티미디어.
제 8장. 멀티미디어 데이터베이스 및 정보검색 시스템
Premiere 정태영 임정호.
9장 사운드 9.1 사운드의 본질 9.2 사운드의 디지타이징 9.3 사운드 처리 9.4 압축 9.5 파일 형식 9.6 MIDI
audio/video Chapter 3 Part 1
멀티미디어 기본+활용 제대로 배우기.
멀티미디어.
LOTOTO “디지털 음원 유통 플랫폼” ( Oct, 2004 LOTOTO Co., Ltd.
Multimedia Programming 18: GraphEditor
Udisk 이용 교육 정보통신처 IT기획운영팀.
Visual C++ Programming
Software Engineering Project
User Interface ? MP3플레이어의 UI 디자인 유형 분석 및 발전 전망
인터넷 방송 시스템 제안서 Internet Eye 2002 ㈜다산씨앤씨 ☏02) FAX 02)
♥ 학생의 눈높이에서, 머리는 차갑게, 가슴은 따뜻하게…
Premiere의 개요 Adobe사에서 제작한 동영상 편집 소트프웨어로 비디오와 오디오 편집뿐만 아니라 애니매이션, 사진 및 그래픽 등을 동영상에 첨가하여 결합된 형태인 디지털 무비(Digital Movie)를 제작하는 프로그램 Premiere는 원래 매킨토시용으로 개발된.
1장 멀티미디어와 정보화사회.
멀티미디어 프로젝트 주간: 수요일 4,5,6 교시 D617호 야간: 목요일 1,2,3 교시 D617호
장애인과 함께하는 시민도서관 “신체적, 사회적 여건에 관계없이 공평하게 이용해야 할 것” 큰글자도서, 촉각도서, 오디오북, DVD, CD-ROM 등의 특수자료와 62만 여권의 도서를 장애인정보누리터와 각 자료실에.
제1장 모바일 멀티미디어의 개요.
Media Server 제안서.
Chapter 34. Advanced Web Page Options
Ⅳ. 컴퓨터와 생활 오 산 중 학 교.
기술가정 2학년 1학기 4. 컴퓨터와 생활 > 1) 소프트웨어의 활용 > 4-6/11 소리 자료는 어떻게 만들까?
Image Styler 발표자 : 백승현 신홍범.
2-3-1 민주 시민의 경제적 구실 3 (3)민주시민의 다양한 경제적 역할 주요 학습 내용 민주 시민의 다양한 경제적 역할
개인회원가입, 그룹생성 & 그룹회원가입 매뉴얼
Chapter 30 Creating Web Audio Files
속담이나 관용표현 사용하여 글쓰기 다섯째 마당 국어(말듣쓰) 6학년 1학기 마음을 나누며-되돌아보기 9/9 수업 수업 계획
2-3-1 민주 시민의 경제적 구실 2 (2)민주 시민으로서의 생산자 역할 바람직한 기업의 활동 주요 기업의 사회적 책임 학습
Kinect 설치 및 사용 컨텐츠제작프로젝트.
제12장 멀티미디어 개론.
Presentation transcript:

Multimedia Programming 17: Introduction to DirectShow Departments of Digital Contents Sang Il Park

Outline DirectShow Graph Editor

참고서적 DirectShow 멀티미디어프로그래밍 신화선 저 한빛미디어

Direct Show란? Microsoft Direct Show: 대부분의 비디오 관련 윈도우 어플리케이션의 기반 마이크로소프트가 만든 다양한 미디어 파일을 다루기 위한 멀티미디어 프레임웍/API 대부분의 비디오 관련 윈도우 어플리케이션의 기반 Windows Media Player/OpenCV DirectShow 는 DirectX의 한 부분으로 배포 현재는 배포 중단 Microsoft Platform SDK 의 한 부분으로 배포

Direct Show만? 비슷한 다른 프레임웍 Apple Computer’s Quick Time 프레임웍 Windows Vista’s media foundation

Direct Show의 특징 다양한 프로그래밍 랭귀지를 서포트 확장 가능한 Filter 기반 프레임 웍 Microsoft Windows Component Object Model(COM) 확장 가능한 Filter 기반 프레임 웍 사용자의 요구에 따라 미디어 파일을 실행/기록 가능

Direct Show 의 역사 선사시대: Video for Windows (1992년) 동영상 재생 및 편집을 위해 Apple의 QuickTime을 대항하고자 개발 (Macintosh) Windows 3.1/3.11의 Free Add-on 후에 Windows 95의 표준에 포함됨 AVI (Audio Video Interleave) FILE format 제안 Media Player 등장 단점: 해상도 제한(320*240) 재생률 제한(30 frame/sec) Apple사의 QuickTime Code 무단 도용  소송 결과: 맥용 office 개발 1억5천만불 apple주식 구매 Windows 95

Direct Show 의 역사 태동기: Active Movie (1996년) Code Name: Quartz Video for windows를 대체 (32bit 시스템 미지원) Internet Explorer 3.0을 통해 배포 스트리밍 미디어 기술 윈도우에서의 MPEG-1을 지원하기 위해 시작 다양한 매체로 부터의 동영상 재생 지원 인터넷, 인트라넷, CD-ROMs MPEG-1: Moving Picture Experts Group 1990 배포 CD-ROM에 어떻게 비디오를 담을 것인가에 대한 규약 1.5 Mbit/sec의 환경, 352*240(29.97 frame/sec) MP3 (MPEG-1 Part 3 Layer 3) 도입

Direct Show 의 역사 전성기: Direct Show (1997년) 1997년 DirectX 5.0의 일부분으로 배포 Windows 98부터 표준 구성 요소로 포함

Direct Show 의 역사 망함: (2004년~) 2004년 DirectX의 기본요소로부터 분리  DirectX Extras 2005년 DirectX에서 완전히 삭제 Mircosoft로부터의 지원 중단 현재 Microsoft Platform SDK의 일부로 배포 Windows Vista의 Media Foundation으로 대체 High-definition(HD) 지원 Digital Rights Management (DRM) 강화 DXVA 2.0 지원 (하드웨어 가속을 이용한 비디오 재생)

DirectShow의 역사 Release Date Version Notes November 1992 Video for Windows 1.0 First public release. Including Microsoft's RLE and Video1 codecs.   Video for Windows 1.1 Added Cinepak codec Video for Windows 1.1a Video for Windows 1.1b Video for Windows 1.1c Video for Windows 1.1d Included Indeo 3.2 (Allegedly included source code from Apple's QuickTime for Windows) March 1995 Video for Windows 1.1e Last version for Windows 3.1x August 1995 Video for Windows 95 Bundled with Windows 95 July 1996 Video for Windows NT 32-bit version bundled with Windows NT 4.0 ActiveMovie 1.0 The successor to Video for Windows. Added support for MPEG-1 and QuickTime file formats March 1997 DirectShow 1.0

DirectShow 등장의 배경 멀티미디어 데이터의 특징 항목 요구사항 데이터 처리 멀티미디어 데이터는 대용량/신속함을 요구 동기 문제 비디오와 오디오 + 부가데이터 간의 동기 문제 처리 다양한 입력 로컬, 네트워크, 비디오 카메라, TV, 사운드 카드 등 다양한 입력 처리 다양한 포멧 AVI, ASF/WMV, MPEG, DVD, MP3, WAV등 다양한 파일 포맷 지원 다양한 출력 비디오 카드, 사운드 카드, 로컬, 네트워크 등 다양한 방식의 출력 지원 하드웨어 장치 하드웨어의 존재 유무에 따라 최대한 활용

DirectShow 등장의 배경 Direct Show의 해결 방안 항목 해결 방안 데이터 처리 DirectDraw와 DirectSound를 사용하여 처리의 효율성 극대화 동기 문제 타임 스탬프를 사용한 멀티미디어 샘플로 포장하여 동기화 다양한 입력 ‘필터(FILTER)’라는 컴포넌트 구조를 통해 다양한 요구 조건을 만족 다양한 상황에 대해 적절히 컴포넌트를 조합 다양한 포멧 다양한 출력 하드웨어 장치 DirectDraw와 DirectSound의 하드웨어 추상화를 이용

Direct Show의 필터? 콤포넌트 기반: 멀티미디어 처리 단계를 필터들의 연결로 구현 필터: 데이터 처리의 단계 필터의 연결을 통해 작업을 구현 (필터 그래프) 예) MP3 재생 장점: 여러 가지 조합으로 필터 연결 가능 자신만의 필터 디자인 가능 (예:새로운 압축코덱 개발) 파일열기 소리부분추출소리압축디코딩사운드카드제어

Direct Show의 특징 개발과정을 Filter Graph를 만드는 것으로 대체 범용 미디어 파일 포맷 지원 MPEG1 + MP3 WMV (Windows Media Video) Royalty-free MP3 Player Microsoft 가 Fraunhofer의 License 구입 Direct show에 포함 필터 (=Codec) 인스톨을 통한 확장성 Ogg Vorbis files AC3 …

Direct Show의 단점 단순 동영상 재생은 아주 쉽다. 그러나… 자신만의 필터 개발은 어렵다 “One of Microsoft’s most complex development APIs” DirectShow Base Classes 제공 너무 종류가 많다. (MFC 전체의 절반 규모) COM을 따르지만 안따르기도… Codec Hell 같은 타입의 미디어 파일에 대해 복수개의 codec이 존재가능 지원 툴과 인코딩 코덱의 부재 필터 그래프를 통해서만 인코딩 가능 (GUI 제공 무) 비디오 인코딩 시에 제한된 옵션만 제공(ASF/WMV만 지원) Video For Windows는 GUI 제공 AVI가 많이 쓰이는 이유

Graph Editor DirectShow 기반 개발 = 필터 그래프 조합 Graph Editor 필터들의 연결상태를 보여준다. 자신만의 필터 조합을 만들 수 있다.

무엇이 가능한가? 내가 만든 멀티미디어 플레이어 인터넷에서 재생 중인 파일을 저장 WAV파일을 MP3파일로 변환 DVD 비디오를 DivX로 변환 등등등…

Graph Editor 처음 실행하기 Direct X 8.1 이상 환경 DirectShow SDK없이 실행 가능 (windows media player가 실행된다면) 수업 홈페이지  GraphEditor.zip

미디어 파일 재생(Render) File  Render Media File 또는 파일을 끌어다 놓는다 (drag and drop) PLAY(▶) 버튼을 누른다 PLAY

네트워크를 통한 스트리밍 FileRender URL ( asx, asf, mpg, wmv…) mms://cinewelvod.gscdn.com/cinewel_etc/cinezine/low/300_tr_070228.wmv

필터 변환 필터 (Transform Filter) 소스필터(source filter) / 렌더필터(render filter) input pin output pin 필터이름

필터 일반적인 구조 소스필터 변환필터1 변환필터2 렌더필터

여러가지 렌더링 법 렌더링(Rendering): 널 렌더링(Null Rendering) 컴퓨터 그래픽스에서 화면에 표시하는 것 (3차원/2차원) 미디어 파일로 부터 영상/음성을 표현(합성) DirectShow: Filter graph의 구성 널 렌더링(Null Rendering) Null(0)로 부터 Filter Graph를 만드는 것 Render File/Render URL FILE의 Drag and drop

여러가지 렌더링 법 필터 추가 후 렌더링 “필터 추가 후 렌더링” = ‘필터 추가’ + 널 렌더링 GraphInsert Filters FileRender File/Render URL DirectShow FiltetsOverlay Mixer

여러가지 렌더링 법 필터 렌더링 (핀 렌더링) 출력 핀은 pin rendering을 지원한다. GraphInsert FiltersFile Source (Async.) 영상만 나오게 해보자!

필터 그래프 구성법 자동 연결하기 output pin 과 input pin을 연결 자동 완성 audio out pin을 “Default DirectSound Device”에 연결해보자

필터 그래프 구성법 수동 연결

필터 그래프 구성 기술 구성 기술 특징 렌더링 널 렌더링 그래프 에디터가 모든 것을 처리 필터 추가 후 렌더링 특정 필터를 추가 할 경우 사용 필터 렌더링 특정 스트림에 대해서만 재생하고 싶을 경우 사용 연결 자동 연결 직접 연결에 참여하여 필터와 필터를 연결하고 싶을 경우 사용 수동 연결 직접 모든 필터들을 일일이 연결할 경우 사용

WAV 재생

MP3 재생

Midi 재생

MPEG-1 비디오 재생

컴포넌트 구조로서의 특징 다양한 입력

컴포넌트 구조로서의 특징 다양한 포맷

컴포넌트 구조로서의 특징 다양한 출력

DShow로 무엇이 가능할까? 내 손으로 만드는 멀티미디어 플레이어

DShow로 무엇이 가능할까? 인터넷에 있는 MP3 음악을 저장

DShow로 무엇이 가능할까? WAV 파일을 MP3로 변환하여 저장

DShow로 무엇이 가능할까? DVD의 내용을 DivX로 저장

DShow로 무엇이 가능할까? 내 목소리를 MP3음악과 함께 녹음

DShow로 무엇이 가능할까? 내가 만든 필터를 사용해서 미디어 플레이어에서 실행