 |
|
 |
Thanks very much for your response... I will check out the Ball filter and see what I can do!
Cheers,
John
|
|
|
|
 |
|
 |
I just loaded the .chm, but only the headings are displayed. What am I doing wrong?
|
|
|
|
 |
|
 |
I've cut and pasted my reply of March 16th.
"The post about a '#' in a path says to avoid saving the .chm to a directory with a name like "c:\c#", for example, since the '#' in the path might confuse windows help.
You can also try to click the "Unblock" button on the properties pages for the zip file (right-click the icon for the zip file in Windows Explorer and goto Properties and click the button at the bottom right before unzipping)."
-daniel
|
|
|
|
 |
|
 |
"Unblock" did the trick. Thanks for your quick reply.
|
|
|
|
 |
|
 |
Unblock worked for me.
|
|
|
|
 |
|
 |
Wish I could vote 6 for this article. Great work.
Tunca Bergmen
|
|
|
|
 |
|
 |
Thank you for your generous comment. This creates an incentive to prepare an update so it can be even better.
Thank you
-daniel
|
|
|
|
 |
|
 |
Hello,
Can anybody tell me how can send the video input from the webcam to another computer through a TCP/IP connection, and stream the video output there real time?
Thanks
|
|
|
|
 |
|
 |
If you can live with Windows Media files (i.e. wma, wmv and asf), you should look into the the Windows Media Encoder SDK from MS. I recall that some of its samples are very close to what you want.
-daniel
|
|
|
|
 |
|
 |
I have tried Broadcasting a Live Stream Using the Predefined UI they had on msdn website, but it's really slow, and the client sees the video with at least 10 seconds delay. How else can I create a direct connection which will be fast and simple.
Thanks.
|
|
|
|
 |
|
 |
It's not your lucky day. If you've done your (maths) homework, for example, I recall that someone was trying to stuff 8 webcam feeds into a USB1 port and wonder why it was so slow (and you can check viewing the video on the local machine to see if the problem is related to the network). Then there is no easy solution to low latency.
The standard reply is "Google search win32.programmer.directx.video" for low latency. But AFAIK no one has found a silver bullet.
-daniel
|
|
|
|
 |
|
 |
Has anyone got the code for this that they could send me. I just want a program that takes webcam images and sends them to remote client either using internet site or preferably tcp/ip. Images can be received in windows media player (or similar) or own app.
mail me at bignev72@hotmail.com
|
|
|
|
 |
|
 |
Could you send me the link to the Live Stream with the Predefined UI on msdn. For my application, latency is not a problem. Meanwhile, is there ANY way to feed the data to the direct show application through a byte []? Perhaps, something that is similar to the framework used in:
http://www.codeproject.com/cs/media/cswavplay.asp?df=100&forumid=13779&exp=0&fr=26&select=736865
|
|
|
|
 |
|
|
 |
|
 |
I can find it in the directory Samples/C++/DirectShow/Capture of the DS.
-daniel
|
|
|
|
 |
|
 |
In the path you mean, I have the following folders:
- Common
- Direct3D
- DirectInput
- DirectSound
- Misc
- XACT
- XInput
but, there's no DirectShow folder
I've done the full installation of the latest DirectX SDK (October 2005) Any idea?
|
|
|
|
 |
|
 |
DirectShow is now part of the Platform SDK. I'm not sure if it's a separate download or you have to update the whole Platform SDK. Search MSDN for Platform SDK.
-daniel
|
|
|
|
 |
|
 |
Hi,
I was reading on DirectShowLib message board that my custom a/p couldn't play mpeg files. So I went to check and I fixed a bug, here's the update code for the CustomAP InitializeDevice (that I'll include when I'll update these tutorials)
============================================
public void InitializeDevice ( uint dwUserID , ref _VMR9AllocationInfo lpAllocInfo , ref uint lpNumBuffers )
{
lock(this)
{
if( lpNumBuffers == 0 || m_san == null )
throw new Exception( "errors during Initialization" );
uint width = 1, height = 1;
while( width < lpAllocInfo.dwWidth ) width = width << 1;
while( height < lpAllocInfo.dwHeight ) height = height << 1;
float fTU = 1.0f, fTV = 1.0f;
fTU = (float)(lpAllocInfo.dwWidth) / (float)(width);
fTV = (float)(lpAllocInfo.dwHeight) / (float)(height);
m_scene.SetSrcRect( fTU, fTV );
lpAllocInfo.dwWidth = width;
lpAllocInfo.dwHeight = height;
// VMR9AllocFlag_TextureSurface = 0x0004
lpAllocInfo.dwFlags |= 0x0004;
DeleteSurfaces();
// allocate memory for our surface pointers
IntPtr buffer = Marshal.AllocCoTaskMem( Marshal.SizeOf( typeof( IntPtr )) * (int)lpNumBuffers );
// ask the renderer to create these surfaces
m_san.AllocateSurfaceHelper( ref lpAllocInfo, ref lpNumBuffers, buffer );
// retrieve the pointers and stuff them in our array
surfaces = new IntPtr[lpNumBuffers];
for( int i = 0; i < lpNumBuffers; i++ )
{
// following only work on 32 bit machines
surfaces[i] = Marshal.ReadIntPtr(buffer , i*4);
}
Marshal.FreeCoTaskMem( buffer );
m_scene.Init( device );
}
}
-- modified at 14:14 Monday 12th December, 2005
|
|
|
|
 |
|
 |
Hi there,
any way how to get single frames from a camera (in a windows ce 5.0 pda) and save them into memory? I need to do real time face recognition and thus am looking for a way to get single frames. I think it might be done via the imaging API, but I have no idea how to do that in c# and how to figure out the framerate (which in generell is not constant). Thanx for help, Andy O.
|
|
|
|
 |
|
 |
Hi,
You can look at the capture tutorial (ie Tutorial 3) and modify it to change the call to the RenderStream method with the 4th argument (ie second to last) referring to an instance of the SampleGrabber filter (for e.g. as used in Tutorial 7).
Then the SampleGrabber callback returns a pointer that can be used like in the following code, to create a bitmap object
// create a bitmap object; 40 is the size of the header on a 32-bit machine
// bufPtr is the pointer returned in your callback
Bitmap b = new Bitmap( width, height, width*3, PixelFormat.Format24bppRbg, new IntPtr( (int)bufPtr + 40 ));
// if needed, change the bitmap orientation
b.RotateFlip( RotateFlipType.Rotate180FlipX );
-daniel
|
|
|
|
 |
|
 |
Hi,
thanx for thy reply. I wanted to write the project in C++ which I am quite familiar with, but as it seems way easier in c#, I decided to give c# a shot. Hence, I tried to change the tutorial into a Smart Device project. Was no big deal, but the GUIDs don't work at all and thus I get an error message and the program quits. As I am a newbie to c# I got one further question: How can I - especially for Smart Devices - figure out those GUIDs?
I admit I would prefer C++ - you don't happen to have written a tutorial for DirectShow and C++? I promise, this will have been my last question.
Best wishes,
gilgamash
-- modified at 3:08 Friday 9th December, 2005
|
|
|
|
 |
|
 |
I'm not that familiar with Windows CE but, as with the X86 platform, you have to "fish" for them in the .h and .idl files of the DirectShow and DirectX sdk.
-daniel
|
|
|
|
 |
|
 |
You can't use the iSmapleGrabber interface in CE unless you write your own version. It's simply not supported. There are two ways that you might be able to get access to the data on the screen. One is to take repeated screen shots of your phone, this is the simpler option but can have a performance overhead. The second is a bit more complex and involves you writing your own transform filter to plug in to the renderstream method call for the preview. You can then use this transform filter to access the raw data, create a bitmap if need be, anything basically. I'm not sure what performance would be like in C# as i ended up using C++ for mine. Hope this helps
Suggs
|
|
|
|
 |
|
 |
Is it possible to use a seperate IMediaControl for each of the movies in the PIP tutorial so that, for example, you could pause the smaller video at a chosen point?
Also, is it possible to load and play a second video on top of an already-playing larger video i.e. at any given time during the first video's playback?
thanks for your help, the tutorials are excellent!
kind regards
J Clark
|
|
|
|
 |
|
 |
Hi,
AFAIK the changes that you want require writing a custom allocator/presenter and use it in a multi graphs setting.
You would have to modify the custom A/P in Tutorial 9 (or use the A/P sample in DirectShowLib v1.1) and extend it as illustrated in the MultiVMR9 sample of the SDK. This sample is rather big (compare to other SDK samples). But I don't see why it couldn't be implemented in C#.
-daniel
|
|
|
|
 |