Programming Microsoft DirectShow for Digital Video and Television (Developer Reference) (英語) ペーパーバック – 2003/2/12
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
From desktop to television screen, deliver broadcast-ready digital video with DirectShow—the Microsoft DirectX streaming API integrated in the Windows operating system. Digital video expert and VRML creator Mark Pesce walks you through core DirectShow capabilities for capturing, editing, and rendering media—demonstrating basic to advanced techniques for producing studio-quality results. Whether you’re looking to add simple playback to an application or create your own movies and features, you’ll get the tools, guidance, and ready-to-use media clips you need to get started now.
Learn how to:
- Use the GraphEdit design tool to rapidly prototype applications
- Write your own source, transform, and renderer filters
- Capture audio and video from Webcams, digital video cameras, and TV tuners
- Compress digital video streams onto disk
- Place clips and tracks on a timeline with DirectShow Editing Services
- Merge multiple video streams with the Video Mixing Renderer (VMR)
- Synchronize audio and video
- Create simple programs to play MP3, WAV, MIDI, AVI, and Microsoft Windows Media files
- Use DirectX Media Objects (DMOs) for faster, lightweight development of effects, encoders, and decoders
- Extend DirectShow with AVIs and Windows Media Format
CD inside Includes reusable media and code samples
- Microsoft DirectX 9.0 Software Development Kit (SDK) and documentation
- Music, a movie short, and other video and audio samples
- All the book’s programs and code
Mark Pesce has been an engineer for nearly a quarter of a century and is the coinventor of VRML and the author of numerous books, including VRML: Browsing and Building Cyberspace, and The Playful World: How Technology Is Transforming Our Imagination.
この本はMicrosoftの開発者が書いたというだけあって、索引(INDEX)が充実しているし、本書後半の実践編では、プログラムコードが紙面の1/3～1/4を占めていて、実際に DirectShow を一から触るときの参考書として多いに役立つと思う。
To elaborate, consider a common task that you would want to do with DirectShow capture. How do you ensure that your application sets the capture input to 24-bit RGB at 640x480 pixels? The answer is, "it depends on the capture filter." If the capture filter is a Video for Windows (VfW) wrapper filter, you set these properties in the capture filter itself. If you are using a WDM driver, you need to access the crossbar to set them. In general, VfW filters remember the settings between runs and the WDM drivers do not. Programmatically, it isn't even obvious how you know which kind of capture filter is being used by any given system. The differences between filters, and how to plan for them in your application, is completely ignored in this book.
How to create an app that works the same way with both these common drivers is a signficant issue. But this book is not structured around developing applications -- it's structured around documenting the API. That seriously limits the value of this or similar kinds of programming books.
There are some substantial oversights even in explaining the API. For example, when Mr. Pesce describes saving a GraphEdit filter graph to file, he fails to mention that this file is valid only for the system on which it was created. This is a significant point -- one that every DirectShow programmer ends up rediscovering for himself the hard way. This is just the kind of "hard knocks" experience that a book like this should ease you over.
If you need to learn to program DirectShow using C++, get this book. But don't expect too much help from it.
Well I have to say that if it wasn't for the SDK docs I would have been sunk. Both this book and Programming Direct Show have been real losers. This is better than the other book, but that isn't saying much.
Like previous posters I was disappointed by the audio. I have to support file playback, streaming, and control of a tv card through my interface. Its not rocket science, but the dearth of material on controlling tv cards in this book made it all but useless to me. The same material exists in the same form on MS DirectShow docs - the author added next to nothing.
I did give it 2 stars because sometimes it is nice to have the SDK documentation - with a little extra - to read when you are away from the computer. The author however should be ashamed for putting out such a cut-n-paste effort, pathetic.
The DirectX SDK docs do a better job than this book except that it is not as convenient as a real book that you can flip through.
I do not understand how it got such good reviews, they must not have actually read the DirectX SDK docs. I was eagerly awaiting this books arrival hoping the examples would be substinative, but they were lame, incomplete, and no more helpful than the FREE samples and docs that came with the SDK.
To say this book covers "all the details of DirectShow" is just not accurate. Assuming this book was useful, it would take 3 or 4 books like this one to provide "all the details".
This book is very high level (general). Do not expect the examples to show you how to do anything complicated.
Also, this book was supposed to be about Digital Video and Television. Last time I watched a DVD movie or TV, the movie/show would have been worthless without the audio. Yet, this book only has 14 pages dedicated to audio out of its total 414 pages. There is also about 20 other pages sprinkled around (and that's being generous). Why is this important, because coding audio is different than coding video, and any other DirecShow task. Sure, it's COM, so it's just another set of interfaces, but it is just that, another set or at least it is using the same set of interfaces differently. Same goes for other DirectShow tasks. Even the treatment of Video is very general.
I remember when Windows 3.1 and OS/2 (both from Microsoft) first came out. Programming Windows and OS/2 was considered very difficult and specialized because the documentation/books were few and not in depth. Well, now programming Windows and even OS/2 is just expected from even the novice programmer. Why? Because there are many books from many people, and Microsoft provides tons of information and real examples, and where examples are lacking, 3rd parties fill the need. That is simply not the case with DirectShow. True enough the DirectX SDK is pretty good for an SDK, but this book does nothing more than provide an incomplete hard copy of part of the SDK.
For crying out loud, the following is all over his example code "This code is also stolen from the DirectX SDK". So, just read the SDK don't waste your money on this book.
It might be better than no book, but marginally.