GraphEditPlus VideoInputDevices are missing - c#

I am completly new with DirectShow and filters. I was reading some articles, tried some examples with C# and I've used libraries like AForge or DirectShow.NET. I've excluded AForge from my project because of huge latency and bad performance in my project. I've found good example where DirectShow.NET was used and after some refactoring performance of the code was fair enought so I want to try with that.
I couldn't make ISambleGrabber to work so now I'm trying to use GraphEditPlus, connect the graph and generate C# code as example for future use, but...
I cannot find VideoInputDevices filter there, I need to start Previewing and Capturing from webcam, but I cannot find it on the list. It is shown on VLC and is working with AForge and DirectShow.NET.
Mayebe I'm blind or I'm missing something? Any hints?

Yup, I'm blind - it's named here as Video Capture Sources which I haven't seen before.

Related

Merge two Media Sources together

I have run to a brick wall in this particular situation where I have to merge two MediaSources together, one for video and one for audio, and then play that in MediaPlayerElement.
I have searched google a lot but haven't found anything relating to it. The actual problem is that I get two Urls and I can create two MediaSources from them but I cant put those two sources in the player source, because when i do it either plays the video or the audio depending upon which was the last source.
So I basically created two MediaPlayerElements and assigned different sources to them and try to sync the audio and video between them but sometimes it creates awful results. I have also thought about creating two streams and then combining those two to create a single stream but I dont know anything about streams so I am not able to do that yet.
Any suggestions here? Maybe a 3rd party library which works in UWP and can help me here? Thanks
What you are trying, adding players and trying to sync is a duct tape solution :), could work, but you will probably have issues.
As you did not mention I'm assuming you need to support various formats for audio/video, which if you go with your current solution you will need to test every possible combination to be sure it works.
The proper way to merge audio and video is to merge the streams, a great (and free) tool you can use for this is FFMPEG, you can use a wrapper for the command line that works with UWP found here, it also has a NuGet package. It supports a lot of formats and is very fast as it's written in C.

Capture fast ingame screen in DirectX in C++ or C#

For a project i'm trying to capture the screen of a game using c++ or c#.
I know there are a lot of solutions on the web but none of them are working 100%
I'm wondering if someone can explain how I can capture it or give me a working example..
I'm curious if it's possible in c# with sharpDX or something else...
Kind regards!
You can use the SaveDDSTextureToFilefrom the DirectXTK library. It saves the current RenderTargetView Resource to a DDS file. Include ScreenGrab.h.
Usage:
ID3D11Resource* test = NULL;
mRenderTargetView->GetResource(&test);
SaveDDSTextureToFile(mContext, test, L"test.dds");
test->Release();

SilverLight: How to record a video from a web camera

I have searched how to use SILVERLIGHT to record video for days but got no luck.
Most articles related to SL only talk about how to record audio or snap a picture rather than recording a video file and save it somewhere.
And I found there is no resources about it on Internet(I am surprised!!!)!
So could you provide me an example code with proper explanation?
I am waiting for it.
PS: I do not want to use Flesh as none iPhone nor iPAD supports it.
Thanks
Fortunately, Mike Taulty's source code can easily be updated to work with Silverlight 5. You can download the fixed source code and try it out (Disclaimer: all code courtesy to Mike Taulty, I merely fixed SL5 compatability and ran a cleanup). Use your favorite diff tool to see the changes I made.
I have tested it, and it generates video files that can be viewed in VLC media player (after selecting build index to fix the corrupted index). As the file format is not 100% correct, the files can not be opened in Windows Media Player etc... but I'm sure that can be fixed.
You should, however, be aware of the fact that Silverlight is not supported on iPhone, iPad, Android, and Windows Phone (Windows Phone apps are made on a special version of Silverlight, but can not run Silverlight applications in the browser).
Unfortunately, after undergoing hundreds of hours researching on the possible solution, I finally found the answer in a book called: Pro Silverlight 4 in C# (Matthew MacDonale, APress).
According what is said on the page 436, although you can do it with Silverlight 4 (you have to write your own file header helper, store the row data as byte arrays and later on you have to convert them into a raw video data and what is worse is the audio and video are separated.), it is just not practical and worthy to do it. Because it requires reams of complex, handwritten code to convert it, and the conversion process is computationally expensive, which makes it extremely difficult to do in real time.
So I guess this would be the conclusion of my question. Now what seems still make sense for me is to find out why Microsoft doesn't support it and what is the new technology which is going to be used/ has been used to replace the SL.
Is it HTML5? But as far as I know, there is only a video tag in HTML which can only be used as a video player, but no tag to support to get the access of a web camera and save the captured video+audio at the same time as one file onto somewhere which could be a local hard drive or a network storage.
I hope all dear you could come up with some thoughtful advice.
I am going to leave this question un-answered for a few days to see whether there could be someone who can come up with some fantastic solution.
Thanks again.

Monotouch - select multiple photos

Is there a way to do this in MonoTouch?
http://definelabs.com/blogs/?p=17
I don't understand much of that Objective-C code...
I wrote an article on this: Accessing iPhone Album
I know this is an old post, but there is a demo app that I've created that lets you do the features Nicklas Savonen requested.
What this demo app does is, it will get the list of images from AssetLibrary and will load them in a UItableview, then maintain a selection status, the Tick image is just an overlay image that will be hidden/visible based on selection.
The following link explains the basic steps you need to take, since it would be difficult to understand by the project:
http://helpalittle.wordpress.com/2014/03/28/monotouch-multiple-image-picker/
And you can find the complete solution at the following path: https://onedrive.live.com/redir?resid=697F540B0A2F1506%21107
hope this helps.
I know am not helping much at this point, but you need to learn at least a bit of ObjectiveC to be able to read it. The issues is, that all the samples and plenty of resources for iOS development is in ObjC and converting it to Monotouch is not that complex, in fact all the constructs there have C# equivalent (the blocks in the sample you posted, are in fact anonymous methods).
More to the point, multiselection of the images is done in the iOS SDK 4.x, if I find some spare time this would be a nice little exercise for my blog.
As to what APIs to check for this, these are asset library APIs:
ALAssetsLibrary & ALAsset & ALAssetsGroup
in Monotouch there are classes in (pseudo code):
using MonoTouch.AssetsLibrary;
MonoTouch.AssetsLibrary.ALAsset;
MonoTouch.AssetsLibrary.ALAssetsLibrary;
MonoTouch.AssetsLibrary.ALAssetsGroup;

Question on Speech Recognition classes in .NET

Is it possible to have an application built using the .NET speech recognition classes and pass in a WAV file for it to go through and create a text representation of it. For example, this what I'm trying to do:
We have a QA department at my office and they have to listen to hundreds of calls a day which is quite impossible, and there's not enough people listening to everything to keep up. What I want to do is have the audio file uploaded to our server and have the server parse it and create a transcript of it. It doesn't matter if it's not perfect, but just a base which would be easier to skim through a couple of dozen lines of text than listen to a 2 hour recording.
Based on a saved transcript I can implement full-text search in the database and also run checks against the transcript if someone is saying something that's a misrepresentation.
So, is it possible to create an application using the .NET speech recognition classes and just pass the WAV file to it and it spit out a rough transcript?
I've dug around MSDN on the Speech classes briefly while thinking up the idea, so I don't have that much knowledge if it's possible to be done.
If possible, I would appreciate any examples in C#. Topic 1055347 is similar to the question I'm having, and was provided links, the most specific of which is in C++. I'm not a C++ developer, nor have I ever went to school for programming, I'm all self though C#, so I would like to stay in the language that I know.
Thanks in advance!
This sounds like you've got a call center type of application. Microsoft Speech Server has a SR engine optimized for telephony (8000 Hz sample rate), which will generate much better recognitions than the desktop SR engine. However, the engine isn't really designed for transcription (although it can do it), and the transcriptions definitely need to be reviewed before further processing occurs. Microsoft Exchange Unified Communications uses the SR engine to generate transcripts of voice mail, and while it's better than nothing, it often generates amusing nonsense.
With areas like speech recognition you are likely to either find a stand alone EXE or an API in c/c++.
For the links in the other topic, you can use a tool like P Interop Assistant to generate C# code. The C# code acts like a wrapper around the unmanaged dll, so you can call it from c#.
This is likely to be the best way to get the functionality you are looking for.
Yes.
I did such an application a few years ago on the Tablet PC; you can read about it at http://web.archive.org/web/20060615192119/www.devx.com/TabletPC/Article/30761 (At the time, I spoke of using Interop to access the libraries, but I believe that the programming model has remained the same, just with a managed wrapper.)
At the time, the results were very poor, but maybe for your use-case better than nothing.
How about route the calls to Google Voice? I'm sure there are similar services. I have been amazed at its accuracy so far, plus you can click and listen to it if required. Google Voice will forward voice calls to SMS or email.
UPDATE: On reread, maybe since you are recording calls it won't work as I yous the voice message left.

Categories