《微软:DirectShow开发指南》第二章 GraphEdit

DirectShow GraphEdit工具:多媒体开发与调试 DirectShow是微软推出的一套用于流媒体处理的编程框架,它允许开发者在Windows平台上捕捉、播放和处理媒体数据。自1990年代末首次亮相以来,DirectShow已发展成为Windows多媒体架构的基础部分,它与DirectSound、Direct3D和DirectDraw紧密集成,为多媒体应用程序提供了丰富的图形和声音处理能力。DirectShow框架的核心组件包括Filter Graph Manager、Filter和Pin。 阅读详情

Chapter 2  GraphEdit

因为本章只是GraphEdit的使用,没有什么高深的技术,所以就不一一翻译了。

As you read Chapter 1, you might have visualized DirectShow filters as being boxes with input and output pins, connected with “wires,” one filter to another, across a filter graph. The DirectX SDK has a tool, GraphEdit, that makes these DirectShow visualizations explicit, executable filter graphs. GraphEdit is DirectShow’s visual filter graph editor, and this chapter covers the features and uses of this tool.

GraphEdit可以进行可视化的说明,执行filter graph。

 

Introducing GraphEdit

The basic elements of DirectShow applications—filters, connections, and filter graphs—can be easily represented visually, and drawing a diagram of a DirectShow filter graph can be an important aid in the design process. GraphEdit can be thought of as a whiteboard on which prototype DirectShow filter graphs can be sketched. However, because GraphEdit is built using DirectShow components, these whiteboard designs are fully functional, executable DirectShow programs. More than just a design tool, GraphEdit is a rapid prototyping environment for DirectShow. Any DirectShow application, regardless of complexity, can be built and tested in GraphEdit before you write a single line of application code.

DS应用的所有基本元素—filter, 连接,和filter graph—都能在GraphEdit中可视化表示,因为它还能执行,所以可以用作写代码实现前,设计时的原型验证。

 

To launch GraphEdit, select Programs from the Start menu, select Microsoft DirectX 9.0 SDK, select DirectX Utilities, and then select GraphEdit. When the program launches, you’ll be presented with a large blank area, representative of an empty filter graph with no component filters, as shown in Figure 2-1.

Figure 2-1. GraphEdit’s startup state

 

Rendering Media Files

GraphEdit makes it easy to render a wide range of media files. From the File menu, select Render Media File. You’ll be presented with an Open File dialog box asking you to select a file to be rendered. Select the file John Boy 9 – Foggy Day.wav (included on the CD-ROM). If your DirectX installation is correct, you should see the the filter graph shown in Figure 2-2

GraphEdit has created a complete filter graph, with three components. From left to right, the filter graphs are

A source filter that points to the WAV file

A transform filter that parses the file into a series of samples

A renderer filter that passes the stream along to the default DirectSound device

As explained in Chapter 1, these three types of filters—source, transform, and renderer—can be found in nearly every filter graph. The filter graph created by GraphEdit to render the WAV file is minimal but complete. To hear the WAV file being rendered to the speakers (or whichever DirectSound device has been selected as the default), click the Play button on the toolbar, immediately below the menu bar, as shown in Figure 2-3.

Figure 2-2. Filter graph to render a WAV file

 

When you click the Play button, the WAV file begins to render and the control below the toolbar begins to fill with color, corresponding to how much of the WAV file has been read into the filter graph. You can pause the filter graph by clicking Pause or stop it by clicking Stop. (As you might expect, the Play, Pause, and Stop

buttons send the run, pause, and stop messages to the filter graph.) After the entire stream has rendered to the DirectSound device, GraphEdit stops the filter graph. Using the Render Media File option, a broad range of media files—all the types understood by DirectShow—can be rendered. In fact, trying to render these files is a good test of the DirectShow capabilities of your system. If you open a media file and DirectShow can’t render it, it’s likely that you don’t have the appropriate collection of DirectShow filters (which might encourage you to write a DirectShow filter that could render the media type you’re interested in).

Figure 2-3. Rendering the WAV file

 

Enumerating Filter Types

To understand what kinds of filter graphs you can create in GraphEdit, you have to enumerate (list) all the possible filters available for DirectShow’s use. From GraphEdit’s Graph menu, select the first item, Insert Filters, and you’ll see the dialog box shown in Figure 2-4.

Figure 2-4. GraphEdit’s Insert Filters dialog box enumerating all available DirectShow filters

This dialog box uses the Windows convention of expandable lists of items. To the left of each list entry in the dialog box is a plus sign, which hides a list of DirectShow filters underneath. Clicking on the DirectShow Filters entry will present the entire list of DirectShow filters available to GraphEdit. The other filters

enumerated in the Insert Filters dialog box are Windows Driver Model (WDM) devices (all valid WDM devices are available to DirectShow as filters), DirectX Media Objects (DMOs), Video for Windows devices, and so forth.

Building a Filter Graph from Scratch

Now that you’ve enumerated the filters available to DirectShow, it’s possible to build up a filter graph—say, one that will render an AVI movie—from scratch. Begin by selecting New from the File menu, which will clear out any existing filter graph. Next you’ll need a source filter that points to the AVI file. From the list of DirectShow filters, select the entry labeled File Source (Async) and click the button marked Insert Filter. You’ll immediately be presented with a file selection dialog box with the message “Select an input file for this filter to use.” Select the AVI file Sunset.avi from the CD-ROM, and you should see the filter

within GraphEdit, as shown in Figure 2-5.

Figure 2-5. A source filter—the beginning of every DirectShow filter graph

 

The AVI file in the source filter needs to be divided into two streams, one with video data and one with audio data. The DirectShow transform filter AVI Splitter makes the division; insert it into the filter graph.

The source filter and the transform filter need to be connected, from the output pin of the source filter to the input pin of the transform filter. To make this connection, click the output pin of the source filter, drag the mouse pointer over the input pin of the transform filter, and release the mouse button, as shown in Figure 2-6.

Figure 2-6. Creating a connection between an output pin and an input pin

GraphEdit automatically rearranges the filters so that they fit together smoothly, as Figure 2-7 shows.

Figure 2-7. GraphEdit adjusting the position of the filter

The AVI Splitter transform filter produces two streams, which are available on output pins Stream 00 and Stream 01. Although

it’s less than clear from these labels, Stream 00 is a video stream and Stream 01 is an audio stream. (This confusing

nomenclature is a result of the fact that an AVI file can have a wide variety of media types stored within, which means you

couldn’t appropriately name a pin VideoOut or AudioOut because there might be no video or audio in any given AVI file.) To

render the audio stream, you need to insert the renderer filter Default DirectSound Device from the list of Audio Renderers in the Insert Filters dialog box. Connect output pin Stream 01 to the Audio Input pin of the renderer filter. Now your filter graph

should look like the one shown in Figure 2-8.

Figure 2-8. A DirectSound renderer filter added

 

Rendering the video is a two-step process. Because this AVI file contains digital video (DV) and audio data, a transform filter known as the DV Video Decoder must be added to the filter graph. Add the filter, and connect pin Stream 00 from the AVI Splitter filter to the XForm In pin of the DV Video Decoder. Finally a video renderer can be selected from the list of DirectShow filters. Although several types of video renderers are available—including full-screen and off-screen renderers—we’ll use the generic Video Renderer, which sends the video to a window on the display that will be opened when the filter graph begins to run. Add the filter, and connect the output pin XForm Out from the DV Video Decoder to the Input pin of the Video Renderer.

 

When it’s all done, the filter graph will look like Figure 2-9.

Figure 2-9. A complete filter graph rendering both audio and video streams of the AVI file

 

At this point, click Play. A new window titled ActiveMovie Window will open on the screen and display the AVI file as it plays, as shown in Figure 2-10. The window’s title bar is a holdover from the time, a few years back, when DirectShow was known as ActiveMovie. (The movie has a silent soundtrack, so don’t expect to hear anything from the speakers as the movie is playing.) That’s what it takes to create a filter graph from scratch; filters have to be inserted into the filter graph manually and connected appropriately. However, GraphEdit provides two alternative techniques to speed the creation of filter graphs: rendering pins and Intelligent Connect.

Figure 2-10. The AVI file in mid-playback

 

Creating Filter Graphs with Rendering Pins

Another technique that quickly renders media files from within GraphEdit uses rendering pins. Starting from an empty filter graph, add a File Source (Async) source filter to the filter graph and select Sunset.avi as the input file. Right-click the output pin of the filter. You’ll see the menu shown in Figure 2-11.

Figure 2-11. The pin menu with per-pin options on each filter

 

Select Render Pin. The resulting filter graph should be identical to the filter graph you built from scratch—without the additional steps of finding the correct DirectShow filters, inserting them into the filter graph, and connecting them appropriately. You can “Render Pin” from any output pin in the filter graph, not just a source filter. You can use this feature to finish a partially complete filter graph or, as in this case, to build the entire filter graph.

 

Simplifying Design Tasks with Intelligent Connect

In Chapter 1, you used the filter graph to connect output pins that accepted different media types by stringing a set of intermediate transform filters between the pins. This feature, known as Intelligent Connect, allows the filter graph to assume most of the heavy lifting involved in graph building. This same feature can be put to work in your DirectShow programs to simplify coding tasks in many situations. Intelligent Connect is turned on in GraphEdit by default. (To turn it off, clear the Connect Intelligent menu option in the Graph menu.)

 

To use Intelligent Connect, begin by creating a filter graph with two filters: first a File Source (Async) filter, pointing to the file Sunset.avi, and next a Video Renderer filter. You’ve now got a filter graph with a source filter and a renderer filter, but no transform filters. However, GraphEdit will let you create a connection from the output pin of the source filter to the input pin of the renderer filter, as shown in Figure 2-12.

Figure 2-12. A source filter can’t be connected directly to a renderer filter, unless…


This connection won’t work on its own. The media type of the output pin of the source filter does not agree with the media type required by the input pin of the video renderer. That’s when Intelligent Connect steps in and adds the intermediate filters needed to transform AVI file data into video that can be rendered to the display, as shown in Figure 2-13.

Figure 2-13. …Intelligent Connect is used, in which case intermediate transform filters are added.

 

The filter graph has added AVI Splitter and DV Video Decoder transform filters, both of which are needed to translate the output of the source filter into video data that can be rendered to the display. Note that the audio stream hasn’t been rendered. Rather than rendering the media file, Intelligent Connect simply found a path to connect a source filter to a renderer filter. If the renderer filter had been a Default DirectSound Device rather than a Video Renderer, the resulting filter graph would have looked like Figure 2-14.

Figure 2-14. A source filter connected to an audio renderer requiring one transform filter

 

Capturing Video from a Digital Camcorder to Disk

One of the most important capabilities of DirectShow is its ability to make quick work of the various audio and video capture devices, such as DV camcorders, which have become increasingly popular in the last few years. Many PCs have IEEE 1394 (FireWire) connectors so that DV camcorders can be plugged directly into a PC for digital capture, editing, and production of video material. In particular, Microsoft Windows XP makes it very easy to work with digital camcorders, and the inclusion of Windows Movie Maker provides a level of software support for the digital camcorder that hasn’t been seen before in Windows systems. For the rest of this chapter, we’ll assume that there’s a DV camcorder attached to your computer system, most probably through a high-speed IEEE 1394 interface.

 

You’ll now use GraphEdit to create a filter graph that will take the input from the capture source filter representing the DV camcorder and write that data out to disk as a high-resolution AVI movie file. To begin, clear the filter graph with the New item from the File menu. Now open the Insert Filters dialog box, and open the list of Video Capture Sources. Depending on how many video capture devices are attached to your system, this list could be quite long or could contain just one entry.

 

If you don’t see anything on the list, make sure your camera is on and plugged in to your computer correctly. If you still don’t see anything on the list,  you might be having a problem with the drivers associated with your DV camcorder. Windows XP includes a standard driver for camcorders

connected with IEEE 1394, but your camcorder won’t necessarily work correctly with that driver.

 

Somewhere in the list you’ll see the entry Microsoft DV Camera And VCR. This is the standard DirectShow filter that acts as a capture source filter for both digital camcorders and VCRs. Add the filter to the filter graph. Next add the DV Splitter from the list of DirectShow filters and connect the DV A/V Out pin from the source filter to the Input pin of the DV Splitter filter. The DV Splitter, as the name suggests, splits the audio/video (A/V) stream coming from the source filter into two streams, an audio stream identified on an output pin as AudOut00 and a video stream identified as DVVidOut0.

 

You would like to be able to monitor the video stream so that you can see what’s coming out of the camera as the video stream is being written to disk. For you to do so, the video stream must be split into two components, which can be done using a DirectShow transform filter known as the Smart Tee. When this transform filter is inserted into the filter graph, the DV Splitter output pin DVVidOut0 should be connected to its input pin. The Smart Tee has two output pins, appropriately labeled Capture and Preview. If you use the Render Pin function on the Preview pin of the Smart Tee, you get a filter graph that can monitor the output of the camcorder. The filter graph should now look like Figure 2-15.

Figure 2-15. An incomplete filter graph for DV camcorder capture and monitoring

 

At this point, the separate audio and video streams have to be recombined (or multiplexed) into a single stream so that they can be written to a file. Add the AVI Mux DirectShow transform filter to the graph. The AVI Mux has one input pin, Input 01. Connect the output pin Capture from the Smart Tee to this input pin, and a second input pin, Input 02, appears on the AVI Mux. (This process will keep going indefinitely; as you add inputs, the AVI Mux adds pins.) Connect the AudOut00 pin from the DV splitter to the Input 02 pin on the AVI Mux. Now the AVI Mux is mixing the video and audio streams from the camcorder into a single AVI-formatted stream. Finally add a File Writer renderer filter from the Insert Filters dialog box. Doing so will open a file-selection dialog box that asks for an output file name. Call this file DVCAM.AVI. Once the filter has been added to the filter graph, connect the AVI Out pin of the AVI Mux to the In pin of the DVCAM.AVI File Writer. The completedfilter graph should look like Figure 2-16.

Figure 2-16. The complete filter graph for DV camcorder capture and monitoring

 

When you click Play, a monitor window will open on the display, showing the live output from the camcorder, as shown in Figure 2-17.


Figure 2-17. The DV capture filter graph displaying the live output from the camcorder

 

AVI files get big very quickly, at the rate of about 250 MB per minute, so make sure you have plenty of disk space available when you run this filter graph. After you click the Stop button, an AVI file named DVCAM.AVI is on the disk. This file can be played in the Windows Media Player, or you can use the Render Media File menu item in GraphEdit to play it. You’ll see that the filter graph faithfully captured the camera’s output to disk.

 

Filter graphs created by GraphEdit can be saved to disk or opened from disk. If you choose Save Graph from the application’s File menu, you can save the filter graph to a file with a .GRF extension. GraphEdit will open .GRF files and other GraphEdit files, so if you’re tinkering with a filter graph design, you can save work in progress and return to it later.

 

Using Windows Media for File Storage

For a final example using GraphEdit, we’ll adopt a more streamlined approach to file storage. Although the high resolution of AVI files is attractive, AVI files quickly fill up an entire disk with video data. Windows Media is an alternative solution for video storage; it’s as much as several hundred times more efficient for the storage of A/V streams in disk files.

 

To convert your existing AVI-creating filter graph into one that creates Windows Media files, remove the AVI Mux and File Writer filters from the filter graph. Now you need to add a renderer filter that will create a Windows Media Advanced Streaming Format (ASF) stream. You’ll find the WM ASF Writer in the list of DirectShow filters. When you insert the filter, it will ask you to select an output file name. Use the name DVCAM.ASF for the output file. Now connect AudOut00 from the DV Splitter to the Audio Input 01 pin of the WM ASF Writer filter, and connect the Capture pin of the Smart Tee to the Video Input 01 pin of the WM ASF Writer. Intelligent Connect will automatically add a DV Video Decoder as an intermediate step between the Smart Tee and the WM ASF Writer. You should get a filter graph that looks like Figure 2-18.

 

When you click Play, the monitor window will once again show the live feed from the camcorder. After you click Stop, look for the file DVCAM.ASF. It should be much smaller. For example, a 10-second AVI file comes in at around 40 MB. A 10-second ASF file should be about 250 KB. These ASF files can be played in the Windows Media Player, or you can use the Render Media File capability inside GraphEdit.

Figure 2-18. DV capture filter graph that produces smaller ASF files

 

Setting Filter Properties

The WM ASF Writer offers a wide range of options for the degree of file compression in its output files. These options are accessible to the DirectShow programmer through COM, but they’re also available to the GraphEdit user. Right-click the WM ASF Writer and select Filter Properties. You’ll see the properties dialog box shown in Figure 2-19.

Figure 2-19. The filter properties dialog box for the WM ASF Writer renderer filter

 

In the Profile drop-down list, you can select from a broad array of compression techniques. The WM ASF Writer filter will create a 256-Kbps stream by default, but streams from 28.8 Kbps (suitable for modem users) all the way up to 1500 Kbps (for use on LANs) can be created. The greater the bandwidth, the better the image quality—and the larger the files.

 

Most DirectShow filters have properties that can be examined from GraphEdit, and each pin on a filter has its own pin properties, also accessible through a right-click of the mouse. The pin properties are interesting to look at because you can see which media types an output pin can transmit and which media types an input pin can receive. It’s an easy way to determine whether two filters are compatible. You can also examine the pin properties of connected pins, which will show you the actual media type of a pin-to-pin connection.

 

Summary

At this point, we’ve covered all the basics with GraphEdit, and you’ve created a number of DirectShow

filter graphs useful for both media playback and media capture. Now it’s time to move into the realm of

C++ programming where we can create some real-world DirectShow applications.

GraphEdit音视频处理工具实践教程 在数字媒体处理领域,GraphEdit工具以其强大的可视化界面和灵活的操作性,成为了DirectShow开发者和调试人员手中的利器。GraphEdit不仅能够帮助设计和测试Filter Graph的结构,还能模拟多媒体数据流的处理过程,从而验证过滤器之间的兼容性和整个数据处理流程的正确性。通过直观的拖放机制和即时的图表显示,GraphEdit显著降低了开发和调试的复杂度,是学习和应用DirectShow技术不可或缺的辅助工具。 阅读详情

相关推荐

DirectShow源码实战解析与应用

DirectShow是一种多媒体架构,由微软公司提供,用于处理各种格式的多媒体文件。DirectShow通过基于过滤器的图形模型,使得开发者可以轻松地实现媒体数据的捕获、处理和播放。GraphEdit是DirectShow框架中一个用于构建和测试过滤器图的可视化编辑工具。它提供了一个直观的界面,允许开发者和测试人员拖放不同的过滤器,连接它们,以及查看数据流如何通过过滤器图。GraphEdit的关键功能包括但不限于过滤器的添加和移除、连接线的绘制以及图的运行和停止控制。

weixin_35266799的博客 1080

DirectShow学习笔记

graph流 filter一道处理中枢。 pin是filter的管道和阀门。   如果将这个graph看成水流系统的话,filter是水处理中枢,pin就是管道和filter的阀门。    pin决定了数据流的类型格式和每次允许的流量(每个sample的大小),filter可以对数据进行处理或者存储。   没有"重载filter"的说法,一般都是继承。 filter基本的类型了三

蓝叶菱的专栏 510

深入DirectShow图形图像处理实践教程_Visual_C++

DirectShow是微软提供的一套用于媒体流处理的API集合,广泛应用于音视频数据的捕获、解码、编码、渲染等多媒体处理工作。DirectShow以Filter Graph Manager为基础,将各种处理步骤封装成Filter,通过Pin进行数据交换,进而形成一个完整的媒体处理流程。DirectShow采用的是基于COM组件的架构,它允许开发者灵活地构建Filter Graph,以适应各种复杂的多媒体应用需求。

weixin_32661831的博客 1087

directshow开发指南 pdf_Web开发书籍整理

HTML5+canvas开发详解第2版.epub JavaScript - 框架设计 司徒正美.pdf JavaScript - 权威指南(第6版)(中文版) -(笔记版).pdf JavaScript - 权威指南(第6版)(中文版).pdf JavaScript - The Definitive Guide 6th.pdf 学习JavaScript数据结构与算法(第2版).epub JavaS...

weixin_39902472的博客 277

delphi5开发人员指南pdf完整版

一本学习Delphi的难得的书,原版pdf格式文本。

DirectShow开发指南 pdf完整版附随书源码

DirectShow开发指南以DirectX SDK 9.0版为蓝本,内容几乎涵盖了在Windows平台上使用DirectShow进行C++编程的方方面面。 DirectShow开发指南共分4个部分。第1部分详细介绍了DirectShow的基础知识。第2部分重点讨论了Filter的开发,以及DirectShow应用程序的开发,包括目前非常流行的音视频采集、数码摄像机的支持、非线性编辑等应用。第3部分深入分析了DirectShow SDK提供的部分典型源代码。第4部分结合作者个人的一些开发实践,通过案例和开放源代码分析,进一步介绍DirectShow的实务应用。

DirectShow中的工具GraphEdit使用小结

一. 安装完Windows SDK 7.0或7.1后,在C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin下有32位的graphedt.exe,及x64目录下有64位版本的graphedt.exe,当使用任何一个版本不正常的行为时,换成另一个版本试试; 二. 在Win7下,GraphEdit的【Connect To Remote Graph】

dijkstar的专栏 9286

DirectShow开发指南及源码.part1(共四卷)

《DirectShow开发指南》 作 者: 陆其明(著) 金邦飞(审校) 内容提要:本书以DirectX SDK 9.0版为蓝本,涉及的内容几乎涵盖 了在Windows平台上使用DirectShow进行C++编码的方方面面。 共压缩为四卷

GraphEdit 实用手册

GraphEdit是微软公司开发一个用于建立和测试音视频程序的可视化工具。它建立在Graph Filter的原则上(Directshow是基于模块化,每个功能模块即单元组件都采取COM组件方式,称为Filter。将Filter串联在一起就形成了Graph Filter)。可以算是一个简单的DirectShow应用程序。通过这个工具,可以很直观的看到Filter Graph的运行及处理流程...

diexiequ0204的博客 288

《DirectShow开发指南及源码》 陆其明 part2

《DirectShow开发指南及源码》 陆其明,书和源代码,非常好的参考资料 共2部分

《DirectShow开发指南》完整版.rar

本书以DirectX SDK 9.0版为蓝本,内容几乎涵盖了在Windows平台上使用DirectShow进行C 编程的方方面面。全书共分4个部分。第1部分详细介绍了DirectShow的基础知识。第2部分重点讨论了Filter的开发,以及DirectShow应用程序的开发,包括目前非常流行的音视频采集、数码摄像机的支持、非线性编辑等应用。第3部分深入分析了DirectShow SDK提供的部分典型源代码。第4部分结合作者个人的一些开发实践,通过案例和开放源代码分析,进一步介绍DirectShow的实务应用。

DirectShow--用GraphEdit辅助调试

DirectShow--用GraphEdit辅助调试 GraphEdit   微软的SDK里面有个DirectShow的辅助工具GraphEdit,这里的文字简单介绍如何将应用程序生成的GraphBuilder插入到GraphEdit中直观的显示。   可能一开始我们对这种应用有点儿不理解,既然是自己写的代码,GraphBuilder里面的链路也是自己建立的,

Narvik的专栏 1419

DirectShow开发指南.pdf

此书是学习DirectShow编程的必备好书;特别适合初学者;当然对有经验的也有参考价值;

GraphEdit

GraphEdit对于DirectShow的开发来说真是个好东西,可惜微软明确表示不提供它的源代码,而且是不能发布的。 目前我手上最新的GraphEdit是050926的,比PSDK和DXSDK Extras中提供的都要新,不过忘了是从哪里下载的了。^_^ 转载于:https://www.cnblogs.com/s5689412/archive/2006/02/05/325703.h...

weixin_30840253的博客 112

自动驾驶预测决策规划八股

预测规划八股个人总结。

dawushixiange的博客 479

测站坐标系统 -- 东北天(ENU)坐标系、站心坐标系

测站坐标系统以观测站(或地面上某一个观测点为中心建立坐标系统,将这类坐标系称为测站坐标系统。测站坐标系通常以用户所在的位置点P为坐标原点三个坐标轴分别是相互垂直的东向北向和天向,因而测站坐标系又称为东北天(ENU)坐标系。由于测站坐标系以站心为坐标原点,因此也称为站心坐标系。如图所示,测站坐标系的天向与大地坐标系(LLA经纬度坐标系)在此点的高程方向一致。测站坐标系固定在地球上,本质上是一种地固坐标系。(1)以站心为坐标原点。(2)Z轴与站心点的椭球法线重合,向上为正。

qq_43381998的博客 1万+

DirectShow系列讲座之二——Filter原理

在上一讲中,笔者介绍了DirectShow的总体系统框架。从这一讲开始,我们要从程序员的角度,进一步深入探讨一下DirectShow的应用以及Filter的开发。在这之前,笔者首先要特别提一下微软提供的一个Filter测试工具——GraphEdit,它的路径在DXSDK/bin/DXUtils/Graphedt.exe。(如果您还没有安装DirectX SDK,请到微软的网站上去下载。)通过这个工

1741

【GEE实战指南】Python本地API配置避坑与一站式环境搭建

本文详细介绍了Google Earth Engine(GEE)Python本地API的配置避坑指南与一站式环境搭建流程。通过conda创建隔离环境、账户认证关键步骤、初始化代码的正确写法以及实战测试案例,帮助开发者快速掌握GEE Python API的配置技巧,避免常见错误,提升地理空间数据分析效率。

weixin_42624889的博客 186
上一篇: 《微软:DirectShow编程》第一章 DirectShow的基本概念
下一篇: 《微软:DirectShow开发指南》第三章 Programming DirectShow Applications
北雨南萍
北雨南萍 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
博客等级 码龄20年 2665粉丝 453原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值