A Tutorial to DirectShow Ruigang Yang August, 2001.

Slides:



Advertisements
Similar presentations
Interactive Space – An application of OpenCV
Advertisements

Android Application Development A Tutorial Driven Course.
How to Build Multi- threaded Applications in.NET Mazen S. Alzogbi Technology Specialist Microsoft Corporation.
Developing Windows ® CE Multimedia Solutions Using Windows Media Rod Deyo Program Manager Windows CE Platforms Microsoft Corporation
Android OS : Core Concepts Dr. Jeyakesavan Veerasamy Sr. Lecturer University of Texas at Dallas
A DEMO ON PREPARATION OF E-TDS RETURN BY R. MUKUNDAN ITO (TDS), CHENNAI.
Russell Taylor. Sampling Sampled a file from an on-line/on-board source Edited that file by Deleting a section of the original file Added a Fade-in section.
COM vs. CORBA.
Embedded Streaming Media with GStreamer and BeagleBoard ESC-228 Presented by Santiago Nunez santiago.nunez (at) ridgerun.com.
Tae-wan You, Seoul National University, Korea
GAM666 – Introduction To Game Programming DirectX Audio, first appearing in DirectX 8, is the union of ● DirectSound – low level control of the audio hardware.
DirectX: A Brief Overview Daniel D’Agostino. Example: Far Cry 2.
Communicating Information : Multimedia. Sights and sounds Combine all or some together and you get… multimedia.
1 L45 Multimedia: Applets and Applications. 2 OBJECTIVES  How to get and display images.  To create animations from sequences of images.  To create.
Video Object Tracking and Replacement for Post TV Production LYU0303 Final Year Project Spring 2004.
Hadar Vorenshtein & Meital Levy Instructor yavgeni Rivkin.
Supervised by Prof. LYU, Rung Tsong Michael Department of Computer Science & Engineering The Chinese University of Hong Kong Prepared by: Chan Pik Wah,
Introduction to DirectX Implementation. Installing DirectX SDK To write and execute DirectX 9.0 programs, you need both : DirectX 9.0 runtime and the.
Chapter 3.7 Memory and I/O Systems. 2 Memory Management Only applies to languages with explicit memory management (C or C++) Memory problems are one of.
Hand Movement Recognition By: Tokman Niv Levenbroun Guy Instructor: Todtfeld Ari.
Winamp Visualization Tutorial Hadi Fadaifard. Introduction  MP3 has become quite popular in the past 6 years.  Good compression  Winamp: The most popular.
Microsoft Office Illustrated Inserting Illustrations, Objects, and Media Clips.
Front end GUI for PsExec, A fast and easy remote deployment utility.
Direct Show Introduction Direct Show Introduction to DirectShow And, I wish, a discussion.
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
Introduction to DirectX Programming Dongho Kim February 12, 2002 Dongho Kim February 12, 2002.
Klas Skogmar, Lund Institute of Technology Real-time Video Effects Using Programmable Graphics Cards Master of Science Thesis Klas Skogmar
1 DirectX CIS 487/587 Bruce R. Maxim UM-Dearborn.
Computer Graphics Introducing DirectX
3dtv.at DV/HDV Tape Drive Synchronization Stereoscopic Displays and Applications Conference 29 th – 31 th January 2007 San Jose, United States.
Windows audio architecture Win MM Application DirectSound Application SysAudio.SYS Kmixer.SYS WinMM.DLLDSound.DLL Device Drive Container USB Device Driver.
Android Apps: Look and Feel Module 6, Intro to I.T., Fall 2011 Sam Scott.
CHAPTER 2 Communications, Networks, the Internet, and the World Wide Web.
Effective WinRT with C++ Tips and tricks for developing WinRT applications in C++
July, 2007 GCB SAGE workshop SAGE Development. July, 2007 GCB SAGE workshop Architecture … Free Space manager provides central control between apps, UI.
Multimedia Framework and Libraries
DVTS for Windows Keio University, Graduate School of Media and Governance WIDE Project Kazuhiro MISHIMA
DirectShow.
차세대 그래픽 개발 환경.NET & DirectX 강성재 Community Specialist Microsoft Corporation.
Chapter 17: Applets, Images, and Sound. Objectives Learn about applets Write an HTML document to host an applet Use the init() method Work with JApplet.
1 ETC. 2 Sounds FX Sounds FX –WAV audio files –Load into memory and play it »Load »Play »Stop »Pause –2D or 3D »3D should be integrated into scene management.
PPT Slides by Dr. Craig Tyran & Kraig Pencil Computer Networking – Part 1 MIS 320 Kraig Pencil Summer 2014.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
Module 8 Review Questions 1.VGA stands for A. Video Graphic Association B. Video Gradient Array C. Video Graphic Array D. Video Graphic Arrangement.
CSC 361/661 Digital Media Spring 2010 Professor Burg.
The Very Basics of Alice: A Simple Overview 6 th & 7 th Grade Tech Apps.
Video & Scanning Overview IT 130 Web Graphics and Multimedia.
Introduce to Java. Outline History of Java History of Java Something about Java Something about Java Brief introduction to Java programming Brief introduction.
Session 27 Swing vs. AWT. AWT (Abstract Window ToolKit) It is a portable GUI library for stand-alone applications and/or applets. The Abstract Window.
H.323, IP Multicast Conferencing, And TAPI 3.0 Don Ryan Development Lead Windows Networking And Communications Microsoft Corporation.
HARDWARE INPUT DEVICES GETTING DATA INTO THE COMPUTER.
Sound DirectMusic & DirectSound. DirectShow Video Formats DirectShow is an open architecture, it can support any format as long as there are filters to.
Dr. Martin Zhao Sept 4, Topics HTML and related tutorials on w3schools.com Related HTML tags Adding interesting features using JavaScript What is.
视频处理相关技术. Basic Concept Image Sequence (图像序列) FPS ( Frames Per Second ) Resolution 1080p , 720i , DVD , VCD , HD Compression Codec H.264 、 MPEG Quick.
1 Contents  Audio  Sprite  Input devices  Game production milestones  Course summary.
Creating Applets. What is an applet? What is an applet? A Java program that runs in a web browser. A Java program that runs in a web browser. An applet.
Microsoft DirectX 8.0 Project Introduction Microsoft COM DirectShow Instruction: Hsiao Kung Wu Students: 賴建利、林廷駿、楊惟仁.
GAM666 – Introduction To Game Programming ● DirectX is implemented as a collection of COM objects ● To use a DirectX program, the user must have the correct.
Introduction to the Media Kit Matt Wronkiewicz Be Users Group at UIUC.
Super Pong Andrew S. Dunsmore CSC436 August 2004.
Computer Graphics 3 Lecture 6: Other Hardware-Based Extensions Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
GAM666 – Introduction To Game Programming ● Programmer's perspective of Game Industry ● Introduction to Windows Programming ● 2D animation using DirectX.
Your slide team at 24point0 You are awesome! Thank you for your business and support. Here from all of us… Wishing you a happy holidays! Note: You can.
Enhancing Classroom Learning Using Video Session 1: Importing & Editing Video.
GAM666 – Introduction To Game Programming ● Textures are simply 2D images which are spread over the triangles of a 3D shape ● Each vertex has texture coordinates.
What is DirectX? DirectX is built by Microsoft as a collection of API’s (Application Programming Interfaces) for the purpose of multimedia processing.
P2P Digital TV Recorder Supervisor: Professor Michael R. Lyu
DirectShow - a technical introduction
Microsoft DirectShow.
Embedding Intelligence
Presentation transcript:

A Tutorial to DirectShow Ruigang Yang August, 2001

What is DirectShow  A part of the DirectX family  Play almost any type of media  Dx8.1 DirectX Direct3D DirectPlay DirectShow DirectMusic DirectDraw

DirectShow Overview

Pros and Cons  Benefits –Very very flexible architecture –Reusable components (filters)  Downside –You are doomed with M$ –Learn the Window programming –MFC (you don’t have to, but better to)

DirectShow Filters  The basic building block, which can –Read files. –Get video from a video capture device. –Code/decode streams –Pass data to the graphics or sound card. An sample MPEG filter

Filter Graph  Several filters connected together to perform a specific task

Filter Graph Manager  High-level API to the APP  Controls the data flow in the filters  Simple API –AddFilter, queryInterface –Run, stop, and pause

Demo  Graph Builder ( mssdk  DirectX utility  Graph Builder )

Writing a Dshow App.  DirectShow API through COM interface  Component Object Model (COM) –Getting a pointer to the interface ptr = CoCreateInstance(…) –Release the pointer after you are done ptr->Release()

Three steps  Create filter graph ganager (FGM)  Create the filter graph (through FGM)  Run the graph and respond to event

“Hello World” COM Init, Remember this Get DS Interface Release COM pointer #include void main(void) { IGraphBuilder *pGraph; IMediaControl *pMediaControl; IMediaEvent *pEvent; CoInitialize(NULL); // Create the filter graph manager and query for interfaces. CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&pGraph); pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl); pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent); // Build the graph. pGraph->RenderFile(L"C:\\Hello_World.avi", NULL); pMediaControl->Run(); // Run the graph. pEvent->WaitForCompletion(INFINITE, &evCode); // Wait for completion. // Clean up. pMediaControl->Release(); pEvent->Release(); pGraph->Release(); CoUninitialize(); }

Building Filter Graph  Add filters to the FGM  Two ways –“Intelligent” connect (as in previous example) –Manual connect (pout  pin)  Format negotiation

Frame grabber  Sample Grabber Filter

A Few Tips  Multi-thread  Avoid in-place transform filter  Image origins  A few useful filters –Color space converter –T-adaptor –Stream-multiplex

References  MSDN