GraphEdit Tips and Tricks

technically speaking using this could you run the audio from the TV Tuner card threw somthing that would apply pro-logic decoding? Or is it not quite that free form?
 
Trunks0 said:
technically speaking using this could you run the audio from the TV Tuner card threw somthing that would apply pro-logic decoding? Or is it not quite that free form?

Good question. I suppose if you have access to a direct show filter that handled Pro-logic decoding. I haven't played much with audio, but have used it to rip audio from video files. Maybe you could use DICE with Soundstorm onboard?

I'm no programmer, so most of what I know, I learned from guys like Grog :), or by trial and error.
 
ProLogic Filters

ProLogic Filters

You can add prologic but finding the correct filter might be a bit of a challange.

NOTE: This one is work in progress. But here is what I have so far. Maybe someone else can shed light on this one as well.

I was able to build the filter graph with what I have here but I do get a lot of studdering.

I won't say this is one that will give the results you may be looking for.

The problem is I was able to connect to the "audio processor" layer but audio playback was shall we say "very bad". Connecting directly to the DMO layer seems to work but not perfect either. Voice are not always in sync with this method.

Anyway here is the graph which works fine but as I said not producing the effects desired. If the Intervideo DMO is changed to the "Intervideo Audio Processor" in the graph below backback sound is not good at all.



MP3 - Lets try it
Here is the graph playing a MP3 file where the audio section is done as I think it should be. I could be wrong here. This is the first time I have tried the audio processor layer so I may be missing something and if so I am sure someone will correct me. Still Intervideo ProLogic and ICE worked as expected when I built the graph. When I tore down the graph and did it again the darn thing crashed GraphEdit. So I am still looking it to the issue. Provided you have a better filter for your system for the ProLogic part it may just flat work for you.



Direct Link to pictures:
http://img177.exs.cx:81/img177/5066/ss7hg.jpg
http://img37.exs.cx:81/img37/5315/siv7ib.jpg

Trunks0 said:
technically speaking using this could you run the audio from the TV Tuner card threw somthing that would apply pro-logic decoding? Or is it not quite that free form?
 
Problem for me if I still havn't been able to build a working graph for my TV Wonder Pro.

The "ATI TV Wonder Pro A/V Capture" only has and analog Video In. So I havn't figured out how to deal with the audio yet from it past the cross bar :((also my box's are not colored but meh)
 
HDTV / MPEG - Streams and filters

HDTV / MPEG - Streams and filters

Mixing HDTV streams and filters

Play 720P content recorded from ATI HDTV WONDER.
Uses CyberLink DVD filters to render.



Play two streams.
First stream is 720P content recorded from ATI HDTV WONDER.
Second stream is 1080i content recorded from ATI HDTV WONDER.
The first stream will play in VMR-Input 0 (main)
The second stream will play in VMR-Input 1 (PIP)

The first steam uses CyberLink DVD filters to render.
The second stream uses Ligos MPEG decoder to render.



MPEG streams and filters
Movie recorded in DVD quality using ATI MMC/TV+.

Standard ATI filters (2 channel audio).


Intervideo Player (Notice the ICE option).
InterVideo Channel Expansion (ICE)
ICE Surround creates 5.1 to 7.1 channel output from 2-channel sources, whenever multichannel is available.
ICE ensures that your audio sounds great!


We would love to have ICE in out graph so lets do it.


Sounds wonderful!
Notice, we have 6 channel sound now from a standard MPEG (DVD quality) movie file.

Direct Link to Images
http://img198.exs.cx/img198/6968/play0010rd.jpg
http://img14.exs.cx/img14/884/play0023wb.jpg
http://img109.exs.cx/img109/2959/mpgati4nl.jpg
http://img109.exs.cx/img109/7205/mpgintervideo000gc.jpg
http://img44.exs.cx/img44/4789/mpgintervideo9vd.jpg

Greg
 
ATI HDTV WONDER - Change Audio Filter

ATI HDTV WONDER - Change Audio Filter

So you don't like the CyberLink audio filter or maybe you just want to try something new and different.

Well we are going to replace the CyberLink filter with the Intervideo Sound Processor system. Lots of options with the sound processor that can be fun to play with and the Intervideo sound engine just sounds oh so sweet.

When playing 5.1 sound we will have true 5.1. But what do we do when the provider is not broadcasting in 5.1? Well the sound engine can handle both ICE and Pro-Logic Surround. Within the Intervideo Processor you will find not only Audio Decoder settings but also fun things like "Gargle, Echo, Flanger and Chorus". Sorry but the Audio Effects will not work on streams from within GraphEdit.

ATI HDTV WONDER using InterVideo Audio




Direct Link to Images
http://img217.exs.cx/img217/4435/i0013mr.jpg
http://img61.exs.cx/img61/9561/i0033fw.jpg
http://img217.exs.cx/img217/6821/i0021ln.jpg


Greg
 
Audio splitting / DMO sound effects

Audio splitting / DMO sound effects

Audio splitting / DMO sound effects.

You know I had to show an example using Gargle, Echo, Flanger and Chorus.

Within the Intervideo Processor you will find not only Audio Decoder settings but also fun things like "Gargle, Echo, Flanger and Chorus".

Each of these DMO audio effects may be applied without the need of the full Audio Processor.

In the following example we will split the audio from a MP3 file four ways and apply Gargle, Echo, and Chorus to three of the sub channels, the last channel we will leave alone.

My this one does sounds interesting.. Remember you can play with each of the filters to add or remove effects just as increased delays or changes in frequency.

DMO Sound Effects



Direct Links
http://img97.exs.cx/img97/3985/i0042to.jpg

Greg
 
Build Graph - AIW 9700 PRO - CAT 5.2 / MMC 9.06

Build Graph - AIW 9700 PRO - CAT 5.2 / MMC 9.06

Build Graph - AIW 9700 PRO - CAT 5.2 / MMC 9.06

The filters have changed with the new MMC 9.06 and CAT 5.2 release.
This is a step-by-step on how to build a graph from scratch.

We will build a graph and set the VIDEO for S-VIDEO-IN.
We will use the VMR-9 for rendering the video.
We will also show how to setup for use with TV-Tuner, how to change channels etc.

Build Graph
Note: We connect the pins selecting the start pin with the mouse and dragging the pin to the location to be connected.



The Finished Graph


Play the Graph


Setup TV-Tuner
Be sure to set the "ATI Rage Theater Video Crossbar" to "Video Tuner In".
Be sure to set the "ATI TV Audio Crossbar" to "Audio Tuner In".
You may now setup the TV tuner from the "ATI TV Tuner" filter as shown below.




Direct Link to all images
http://img119.exs.cx/img119/5918/buildgraph0bb.jpg
http://img119.exs.cx/img119/6613/finishedgraph2fo.jpg
http://img119.exs.cx/img119/6273/playgraph5pu.jpg
http://img119.exs.cx/img119/6607/tvtuner5yv.jpg

Greg
 
Major Multi-Media with secondary monitor - I just can't get enough

Major Multi-Media with secondary monitor - I just can't get enough

Major Multi-Media with secondary monitor - I just can't get enough

Here is what we have.



Code:
Upper left: ATI HDTV WONDER (HDTV 1080i Feed) 
                       Using WatchHDTV application for viewing.

Upper right: ActiveMovie Window #1 (main) : 
                 ATI AIW 9700 PRO S-VIDEO-IN from 
                       ATI AIW 9700 PRO S-VIDEO-OUT 
                       (Used as cheap mans second monitor)
                 ActiveMovie Window #2 (left) : 
                 ATI HDTV WONDER S-VIDEO-IN feed from Dish Satellite. 
                         (We have TV video on second monitor)
                 (right) CPU usage shown: 
                          For everything running we are only using 58% 
                          (not bad... not bad at all).
                (behind): Just a WebPage. 
                          That's all, just a WebPage.

Lower left: WinDVD playing DVD Movie Drallion 

Lower right: Windows Media Player #10
                          Playing movie captured in DVD quality mode 
                          from my AIW 9700 PRO ("That Thing You Do.mpg").                  
                          S-VIDEO-IN feed from Dish Satellite was used for 
                          this capture.

MMC was not used in this example. GraphEdit was used since I could specify the type of window render filter I wanted to use.

Moving the video from the secondary display "cheap man's video" across to the main display we will still see video fine. While the video is in both planes the video will go blank. There is a small problem that when you move the ATI HDTV WONDER S-VIDEO feed example window from one monitor to the other the audio will switch to TV-TUNER audio. I have no idea why? You can simply pause of stop the graph and start it to clear the problem.

Run down of what we were able to run all at once.
ATI AIW 9700 PRO S-VIDEO-IN (via GraphEdit)
ATI AIW 9700 PRO S-VIDEO-OUT (Extended Video via Catalyst Control Center)
ATI HDTV WONDER HDTV (OTA) (WatchHDTV application)
ATI HDTV WONDER S-VIDEO-IN (Analog)(via GraphEdit)
WINDVD 4 - PlayDVD Movie Drallion (Full video acceleration and 5.1 audio)
Windows Media Player #10 - MPG DVD quality movie "That Thing You Do"
FireFox - Got to surf while you watch TV and DVD's.

GraphEdit - The Graph's


The GraphEdit examples are very simple. I did not connect the AUDIO on the AIW 9700 PRO S-VIDEO feed but for a cheap man's secondary monitor I did not need audio.
The second graph for the ATI HDTV WONDER S-VIDEO-IN is fully functional including sound.

All of this still with only 58% of the CPU being used on a Athlon-64 3200+ based system with 1GB of RAM.

Direct links to images:
http://img90.exs.cx/img90/7827/massive0ou.jpg
http://img90.exs.cx/img90/1213/massive28zq.jpg

WatchHDTV available here
http://www.avsforum.com/avs-vb/showthread.php?s=&threadid=511835

Greg
 
Any Problems with Directx9?

Any Problems with Directx9?

I have the aiw 128 pro and so far the highest MMC i can go or find is the 7.2. I have read in some places that the directx9 does not work that well with the VBI pin on the capture when using graphedit. Anyone experience this?

Can anyone setup a CC capture and record TV at the same time using graphedit for CC and MMC for capture?

Thanks
 
Playing HDTV inside Windows Internet Explorer

Playing HDTV inside Windows Internet Explorer

While this is not directly releated to GraphEdit the technique shown here not only allows connecting to a given digital TV source be it ATSC or analog.

Futher, the rendering done allows GraphEdit to connect to the graph produced.

Yes you can use this method to figure out how to build a graph.
Once the content is playing simply start GraphEdit and tell GraphEdit to "connect to remote Graph". Next save the graph.

Exit both programs and now when you load the graph you just created it will play with GraphEdit. You may now add whatever you want to customize your new graph.

Play ATI HDTV DTV OTA content in Windows Internet Explorer
Cut and paste the code below to "viewatsc.htm".
Open "viewatsc.htm" with Microsoft Windows Internet Explorer.
Make sure to unblock content. This code will not work with foxfire, sorry.



Code:
<HTML>
<HEAD>
<TITLE>MSVidCtl: ATSC Digital TV</TITLE>
</HEAD>

<!--
	This sample requires a ATSC digital TV tuner card that is compatible with the Microsoft TV Technologies 
		driver architecture (BDA - Broadcast Driver Architecture).  

	You must also have a MPEG-2 decoder installed that is capable of decoding the resolution 
		(e.g. 480p or 1080i) of the digital broadcast.  
	
	High definition (HDTV) broadcasts may be at a resolution greater than your video card or MPEG-2 deocoder 
		are capable of operating.
-->

<BODY BGCOLOR="#000001" TEXT="#FFFFFF" LINK="#FCCB7A" VLINK="#551A8B" ALINK="#EE0000">

<CENTER>

<P>
<INPUT id=startbutton type=button value="Power On">
<INPUT id=stopbutton type=button value="Power Off">
</P>

<OBJECT ID="MSVidCtl" CLASSID="CLSID:B0EDF163-910A-11D2-B632-00C04F79498E"></OBJECT>

</CENTER>


<P ALIGN="center">
	<BR>
	<B>Channel: </B> <INPUT TYPE="text" id=currentchannel maxlength=3 SIZE=3>
	<B>Minor Chanel: </B> <INPUT TYPE="text" id=currentminorchannel maxlength=3 SIZE=3>
	<INPUT id=enter type=button value="Enter">
	<br>
	<INPUT id=chanup type=button value="Channel Up">
	<INPUT id=chandown type=button value="Channel Down">
	<BR>
	</P>
<CENTER>

<P id=dl>xxx</P>

<SCRIPT language=vbscript>
option explicit

dim tscontainer 'tuning space collection
dim ts 'ATSC tuning space 
dim tr 'ATSC tune request
dim locator 'ATSC Locator

sub window_onload
	
	MSVidCtl.MaintainAspectRatio = True
	MSVidCtl.Width = 640
	MSVidCtl.Height = 480

	set tscontainer = createobject("BDATuner.SystemTuningSpaces")	

	'Get the tuning space with the word "ATSC" in its name.  
	'This tuning space works with North American ATSC terrestrial broadcast
	'For other types of digital broadcast, you may need to create your own tuning space
	set ts = tscontainer("ATSC")
        
	set tr = ts.CreateTuneRequest
        
	'By default we will start on channel 46
	'The physical channel property on the locator sets the 'actual' physical channel
	'The Microsoft TV Technology Network Provider will fill in the channel and minor channel, if available
	set locator = CreateObject("BDATuner.ATSCLocator")
	locator.PhysicalChannel = 46
	tr.locator = locator
	tr.MinorChannel = -1
	tr.Channel = -1
      
        'Pass the tune request to the View() method and then build the graph
	MSVidCtl.View tr
	MSVidCtl.Run
	
	dl.innertext = MSVidCtl.InputActive.Tune.Channel
	currentchannel.value = MSVidCtl.InputActive.Tune.Locator.PhysicalChannel
	currentminorchannel.value = MSVidCtl.InputActive.Tune.MinorChannel
end sub

sub startbutton_onclick
	'This starts the graph and begins displaying audio and video
        MSVidCtl.Run
end sub

sub stopbutton_onclick
	'This stops the graph, but does not destroy it
        MSVidCtl.Stop
end sub

sub chanup_onclick
        'Tune to the next channel up
	locator.PhysicalChannel = locator.PhysicalChannel+1
	tr.Locator = locator
	tr.Channel = -1
	tr.MinorChannel = -1
        MSVidCtl.View tr

        dl.innertext = MSVidCtl.InputActive.Tune.Channel
	currentchannel.value = MSVidCtl.InputActive.Tune.Locator.PhysicalChannel
	currentminorchannel.value = MSVidCtl.InputActive.Tune.MinorChannel
end sub

sub chandown_onclick
        'Tune to the next channel up
	locator.PhysicalChannel = locator.PhysicalChannel-1
	tr.Locator = locator
	tr.Channel = -1
	tr.MinorChannel = -1
        MSVidCtl.View tr

        dl.innertext = MSVidCtl.InputActive.Tune.Channel
	currentchannel.value = MSVidCtl.InputActive.Tune.Locator.PhysicalChannel
	currentminorchannel.value = MSVidCtl.InputActive.Tune.MinorChannel
end sub

sub enter_onclick
	'Tune to the channel the user entered in the textbox
	'We allow the user to change to different virtual channels (minor channels)
	locator.PhysicalChannel = currentchannel.value
	tr.locator = locator
	tr.Channel = -1
	tr.MinorChannel = currentminorchannel.value
        MSVidCtl.View tr
        
	dl.innertext = MSVidCtl.InputActive.Tune.Channel
	currentchannel.value = MSVidCtl.InputActive.Tune.Locator.PhysicalChannel
	currentminorchannel.value = MSVidCtl.InputActive.Tune.MinorChannel
end sub

</Script>

</BODY>
</HTML>

We can play analog too.



Code:
<HTML>
<HEAD>
<TITLE>MSVidCtl: NTSC Analog TV</TITLE>
</HEAD>

<!--
	This sample requires an analog TV tuner card compatible with the Windows Driver Model.
-->

<BODY BGCOLOR="#000001" TEXT="#FFFFFF" LINK="#FCCB7A" VLINK="#551A8B" ALINK="#EE0000">
<CENTER>

<P>
<INPUT id=startbutton type=button value="Power On">
<INPUT id=stopbutton type=button value="Power Off">
</P>

<OBJECT ID="MSVidCtl" CLASSID="CLSID:B0EDF163-910A-11D2-B632-00C04F79498E"></OBJECT>

</CENTER>

<P align="center"> 
  	<BR>
  	<B>Channel: </B> 
  	<INPUT TYPE="text" id=currentchannel maxlength=3 SIZE=3>
  	<INPUT id=enter type=button value="Enter">
	<BR>
  	<INPUT id=chanup type=button value="Channel Up">
  	<INPUT id=chandown type=button value="Channel Down">
  	<BR>
</P>

<P id=dl>X</P>

<SCRIPT language=vbscript>
option explicit

dim tscontainer 'tuning space collection
dim ts 'Analog TV tuning space
dim tr 'Analog TV tune request


sub window_onload
	MSVidCtl.Width = 800
	MSVidCtl.Height = 600
	
	set tscontainer = CreateObject("BDATuner.SystemTuningSpaces")

	'Get the tuning space with the word "Cable" in its name.  
	'This tuning space works with North American NTSC Cable 
	'You can use the tuning space "Antenna" if you are using NTSC terrestrial analog broadcast
	'For other types of analog broadcast, you will need to create your own tuning space
        set ts = tscontainer("Cable")

        set tr = ts.CreateTuneRequest
        
	'By default we will start on channel 5
	tr.Channel = 5
        
	'Pass the tune request to the View() method and then build the graph
	MSVidCtl.View tr
        MSVidCtl.Run

	'This will alpha blend the image mstv.jpg over the video
	dim pict
	dim alpha
	dim tempvidrend
	dim myrect

	dim CurrentPath
	CurrentPath = location.href
	CurrentPath = Replace(CurrentPath,"%20"," ")
	CurrentPath = Replace(CurrentPath,"/","\")
	CurrentPath = Mid(CurrentPath,6,InstrRev(CurrentPath,"\")-6)
	if Mid(CurrentPath, 5, 1) = ":" then CurrentPath = Mid(CurrentPath, 4, Len(CurrentPath)-3)
    
	dim fileLoc
	fileLoc = CurrentPath & "\mstv.jpg"
	set pict = LoadPicture(fileLoc)

	alpha = 35
	set tempvidrend = MSVidCtl.VideoRendererActive
	tempvidrend.MixerBitmapOpacity = alpha
	set myrect = tempvidrend.MixerBitmapPositionRect
	myrect.Top = 20
	myrect.Left = 20
	myrect.Width = 50
	myrect.Height = 20
	tempvidrend.MixerBitmapPositionRect = myrect
	tempvidrend.MixerBitmap = pict

	'Display the channel information
	dl.innertext = MSVidCtl.InputActive.Tune.Channel
	currentchannel.value = MSVidCtl.InputActive.Tune.Channel
end sub

sub startbutton_onclick
	'This starts the graph and begins displaying audio and video
        MSVidCtl.Run
end sub


sub stopbutton_onclick
	'This stops the graph, but does not destroy it
        MSVidCtl.Stop
end sub

sub chanup_onclick
	'Tune to the next channel up
	tr.Channel = tr.Channel + 1
        MSVidCtl.View tr

        dl.innertext = MSVidCtl.InputActive.Tune.Channel
	currentchannel.value = MSVidCtl.InputActive.Tune.Channel
end sub


sub chandown_onclick
	'Tune to the next channel down
	tr.Channel = tr.Channel - 1
        MSVidCtl.View tr

        dl.innertext = MSVidCtl.InputActive.Tune.Channel
	currentchannel.value = MSVidCtl.InputActive.Tune.Channel
end sub

sub enter_onclick
	'Tune to the channel the user entered in the textbox
	tr.channel = currentchannel.value
        MSVidCtl.View tr

        dl.innertext = MSVidCtl.InputActive.Tune.Channel
	currentchannel.value = MSVidCtl.InputActive.Tune.Channel
end sub

</Script>

</BODY>
</HTML>

Direct Link to Images:
http://img17.exs.cx/img17/9219/hdtvhtml8av.jpg
http://img17.exs.cx/img17/449/tvhtml6eq.jpg

The HTML examples above are part of the DirectX SDK from Microsoft.

Cool stuff.

Greg
 
Expanding AUDIO to 5.1

Expanding AUDIO to 5.1

In the following examples we will use the ATI HDTV WONDER to capture HD video and audio.
The filters normally used for watching and playback will be changed to enhance the experience.

Watching HDTV in 5.1

ATI CyberLink filters provided by ATI are "2-channel only".



Changing the filters from CyberLink to the Intervideo filters
Remove the CyberLink audio filter and replace with the Intervideo Audio Decoder and Intervideo Audio Processor.
Set the Intervideo Audio Processor to "6 speakers" if needed, should be set that way by default if you have 5.1 sound system.
Make sure to set the "Intervideo Audio Processor" tab to six channels or you will get no sound at all.

We now have greater control over the audio and DirectSound device shows 6 channel audio now.



Playback media in 5.1
ATI playback is 2 channel only.



With Intervideo we can produce 6 channel audio in the same manner we used for watching content. We will replace the CyberLink audio filters with the Intervideo audio filters.



Add closed caption to playback.



Direct link to images
http://img166.exs.cx/img166/8261/hdtvati9ot.jpg
http://img166.exs.cx/img166/1411/hdtvinterv3pp.jpg
http://img166.exs.cx/img166/7342/hdtvatiplayback3rg.jpg
http://img177.exs.cx/img177/2470/hdtvintervplayback6ez.jpg
http://img177.exs.cx/img177/7783/sailawayintercc2ml.jpg

Greg
 
Recording to DVD Quality MPG with GraphEdit

Recording to DVD Quality MPG with GraphEdit

Recording to DVD Quality MPG with GraphEdit

The following example will record from the ATI HDTV WONDER Anlog input to MPG DVD format using the InterVideo filters.
Intervideo filters come with WinDVD in case you did not know.

If the Preview->VMR9 connection and Audio-Capture->Default_Direct_Sound_Device are removed then you can record in the background even with the user logged out.

The InterVideo filters offer great control over the acutal recording of the video and the results are great as well for analog. For HDTV content you really push the CPU with this setup. The Intervideo video encoder does not hold a candle to the ATI CyberLink ones. But as I said, for Analog content the Intervideo filters are first rate.

Other filters may be used as well. This guide simply is to help you get started.

RECORD: GraphEdit Filter - HDTV WONDER ANALOG/Intervideo Filters


PLAYBACK: GraphEdit Filter - HDTV WONDER ANALOG/Intervideo Filters


RECORD: GraphEdit Filter - HDTV WONDER HDTV Content (DTV)/Intervideo Filters


PLAYBACK: GraphEdit Filter - HDTV WONDER HDTV Content (DTV)/Intervideo Filters



Direct link to images
http://img225.exs.cx/img225/5144/hdtvanalogintervideorecord7bq.jpg
http://img225.exs.cx/img225/6432/hdtvanalogintervideorecordplay.jpg
http://img196.exs.cx/img196/2246/hdtvrecord2en.jpg
http://img196.exs.cx/img196/7518/hdtvplayback1zl.jpg
 
Last edited:
Creating HDTV Player - Getting Started

Creating HDTV Player - Getting Started

So you would like to learn how to create your own HDTV tuner for your new ATI HDTV WONDER card but you don't know where to start.

Using GraphEdit is great to learn what filters are and what they can do but you need more, a lot more.

Well you decided to download the Microsoft DirectX 9.0 SDK and still don't know what you need to do.

AmCap is a good start for looking at analog and the sample is provided but you want to create something that will work on HDTV content.

Well there is one great sample to play will in the SDK DirectShow addon. Problem is the project DSW for older versions of Microsoft Visual C++ is not included. If you have an older version of Visual C++ you may need to download the older 9.0 SDK 1st to get the DSW files.

OLD:
C:\DXSDK\Samples\C++\DirectShow\VideoControl\CPP

NEW: (Depends on where you move the DirectShow samples)
C:\Program Files\Microsoft DirectX 9.0 SDK (February 2005)\Samples\C++\DirectShow\VideoControl\CPP

The dialog is a bit small, lets make it bigger.
1.) Edit CPPVideoControl.cpp and change the main window size.
Code:
HWND hWnd = ::CreateWindow(TEXT("AtlAxWin"), 
                    TEXT("CPPVideoControl.CompositeControl"),
                    NULL,
                    CW_USEDEFAULT, CW_USEDEFAULT,   // x,y
                    640 /* 300 */, 480 /* 350 */,               // width, height
                    NULL, NULL,             // parent, menu
                    ::GetModuleHandle(NULL), 
                    NULL);

2.) Edit the main dialog. This is easy to do, just click on the "Res" tab and select the only dialog that we have. You can then visually edit the dialog and make it larger.



Now we can compile the program.
Selecting "Build/ReBuildAll" will assure a clean build of this application.

Remember, the channel numbers are the single digit type not the "9-1, 9-2". No sub-channels are supported. But this is a start. You can modify the program as you learn.

Let's see if our new player works.



As in some of the prior examples we can now use GraphEdit to connect to our new program and look at the filters used. Just use run the new application then start GraphEdit and use "connect to remote graph".
Save the Graph and exit GraphEdit and the new application.
Next start GraphEdit and see if it will run. Right click on "Network Provider" and select a station from the "Tuner Request" tab.



Direct Link to Image
http://img125.exs.cx/img125/6031/cppvideocontrol4ja.jpg
http://img174.exs.cx/img174/3673/maindlg5ps.jpg
http://img65.exs.cx/img65/9723/newgraph0im.jpg

One note here. We did not tell the Microsoft application anything about the ATI HDTV WONDER card. Still the sample application worked and worked well.

This really shows how well ATI followed the Microsoft Digital TV specifications. We really should see a load of programs that support the ATI HDTV Wonder surface since the interface is "by the book".

Any who knows, some who read this may create such a program as well.

In case I have not said it before.

Greg's CopyWrite notice or lack there of. This applies to all my posts herein.

All of my notes may be copied, used, stolen or what ever you want to do with them. You do not have to use my name or anything. If you want to say the information is yours then it is yours.

Greg
 
Last edited:
VBI - CC and GraphEdit Questions

VBI - CC and GraphEdit Questions

There is no issues with using the VBI Pin as far as I know.

While it is easy to render the CC via the VBI pin with the AIW cards and display them as either a seperate video window via VMR-0 or as PIP "picture-in-picture" with VMR-9 there it is a lot harder to process the CC content and mix the result into an MPG file for example.

But that is not even what you want to do. What you are asking for is to use MMC to record at the same time GraphEdit takes the CC content, translates it to ASCII text and saves it to a file. Is this correct?

If so, it can not be done for the following reasons.

1.) Only one instance of the ATI Capture filter may exist. The capture, preview and VBI pins are on this filter. So if MMC is using it GraphEdit can not.
2.) GraphEdit only deals with filters. While the Microsoft "Line-21" filter may be connected to the VBI pin to render the video from the Closed Caption session this filter does not provide a method to convert the "Line 21 Byte Pair" to text.
3.) ATI provides a special CC decoder "ATI Line21 CC Decoder/Renderer" which it appears is used for conversion of "Line 21 Byte Pair" to ASCII text.
The program which is used to connect and attach to the handle of the ATI special filter can read the text from the "Closed Caption Property Page". So in this case a C++ program would be required which connects to this special filter and does the underlining work of processing the text. I could be in error with this one since this filter may simply severe for external rendering anyway. No doc's on the ATI filter that I know of.

If you were thinking of mixing the video from the live capture with the closed caption text this may be possible, problem is I have no idea how to make it work since syncing the two streams and overlaying them during the capture proess would be required. This can be done in code, but I don't know how to do it with GraphEdit.

Simple CC Example - Rendered


CC Property Page Example


Direct Link To Images
http://img34.exs.cx/img34/2859/ccexample0lh.jpg
http://img77.exs.cx/img77/4493/cc21uo.jpg

Greg

chris98007 said:
I have the aiw 128 pro and so far the highest MMC i can go or find is the 7.2. I have read in some places that the directx9 does not work that well with the VBI pin on the capture when using graphedit. Anyone experience this?

Can anyone setup a CC capture and record TV at the same time using graphedit for CC and MMC for capture?

Thanks
 
CAT 5.3 - MMC 9.06 - Sound Delay Work-Around

CAT 5.3 - MMC 9.06 - Sound Delay Work-Around

O.K. XBOX users, here is how you can get video feed from you AIW with no sound delay.

Both GraphEdit and AMCap will do the trick.

AIW 9700 PRO - 2-Second Sound Delay


AIW 9700 PRO - No 2-Second Sound Delay
We are able to obtain no delay in sound by disconnecting the sound capture pin from the sound filter.
This works. Sound from the TV across the room is in sync with my AIW card.


AMCap - No 2-Second Sound Delay
AMCap will default to connecting the output sound to MIDI. This is fine as it won't carry the sound via this path.
Once the sound it connected to the input pin as shown below you will have AMCap running with no delay.


Tool Downloads
Even though AMCap and GraphEdit are provided with the DirectX SDK you may download them both from http://www.videohelp.com

AMCap
http://www.videohelp.com/tools?tool=AMcap
GraphEdit
http://www.videohelp.com/tools?tool=GraphEdit

Direct Link to Images
http://img106.exs.cx/img106/3118/newaiw2seconddelay5aq.jpg
http://img106.exs.cx/img106/6630/newaiwnodelay1qf.jpg
http://img202.exs.cx/img202/8342/newaiwamcapnodelay6he.jpg

Greg
 
Last edited:
Greg,

Have you experimented with HD DVR-MS files produced by HDTV wonder and Windows Media Center? I've used Graphedit with Cyberlink's filters to rip standard "analog tuner" DVR-MS files to MPEG files, but I haven't yet found the right combination of filters to rip and re-multiplex the HD files without audio sync errors. I've been able to convert the HD files with Nero Vision Express, but only by rendering to DVD resolution, and it takes a long time. I figure that Graphedit should be able to do the conversion much faster than real-time, if not re-rendering the MPEG video stream.
 
Updated. Wow Grog......just wow:)

Robert Dory, thats a great suggestion for a post. What good is ripping the MPEG video and ac3 audio from DVRMS if you can't encode it sync'd. I'll see if I can come up with something.......and there's more on the way soon.
 
Convert MPG2-HD examples

Convert MPG2-HD examples

Setup: Record HDTV 720P content with ATI HDTV WONDER card. Export to MPG2-HD format.

What we will do:
We will extract the audio from the HDTV content with GraphEdit and play it with WinDVD and Windows Media Player #10.
We will convert the HDTV MPG2-HD to MPG2 with lower bitrate.
All of the converted items are tested and playback with no sync issues.

The theory behind converting is simple.
We must split the MPEG file to video and audio. Convert what we want and re-mux the video and audio to a single file.
The tick is to find encoder filters which allow us to control the information we need such as format and bitrate.

Let's do it.

Convert ATI HDTV 720P content to AC3 audio file


Play new AC3 audio file


Convert ATI HDTV 720P content to MP3 audio file


Play new MP3 audio file


Convert ATI HDTV 720P content to MPG-2 file with AC3 audio


Play new MPG-2 file with AC3 audio


Direct Link to Images
http://img195.exs.cx/img195/8316/ac3record2zb.jpg
http://img195.exs.cx/img195/2043/ac3playback5qu.jpg
http://img44.exs.cx/img44/1342/mp3record3su.jpg
http://img44.exs.cx/img44/952/mp3playback8et.jpg
http://img195.exs.cx/img195/1843/mpg2record6ov.jpg
http://img195.exs.cx/img195/9325/mpg2playback7aj.jpg

Greg
 
Last edited:
Back
Top