directshow

Record directshow audio device to file

↘锁芯ラ 提交于 2019-12-12 05:31:44
问题 I've stumbled through some code to enumerate my microphone devices (with some help), and am able to grab the "friendly name" and "clsid" information from each device. I've done some tinkering with GraphEd.exe to try and figure out how I can take audio from directshow and write it to a file (I'm not currently concerned about the format, wav should be fine), and can't seem to find the right combination. One of the articles I've read linked to this Windows SDK sample, but when I examined the

Directshow RenderStream “the parameter is incorrect”

我怕爱的太早我们不能终老 提交于 2019-12-12 04:56:41
问题 I am trying to follow through the DirectShow examples on the windows dev center to make my own application that can capture screen and audio to video: Capturing Video to an AVI File When the below code runs it fails on the first RenderStream call with the error: + errMsg 0x09910DB8 "The parameter is incorrect." wchar_t* Does anybody have any clue how to figure out which parameter is incorrect? void AudioVideoBuilder::AVBuilder::MakeVideo() { IGraphBuilder *pGraph = NULL; ICaptureGraphBuilder2

Capture still image from webcam (DirectSHowLib, VB.NET)

别来无恙 提交于 2019-12-12 04:21:43
问题 I'm ashamed, but I'll ask anyway: which is the most straightforward way to take a picture from a webcam with its default size and color-depth? I started playing with DirectShowLib but I'm clueless... Can anyone guive me a guidance? Imports DirectShowLib Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click PictureBox1.Image = Nothing Dim Cam As DsDevice = DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice).FirstOrDefault If Cam IsNot

gdcl multiplexer create file with raw video not h264

最后都变了- 提交于 2019-12-12 04:14:08
问题 i have created one graph as per below (i am using osprey card for input live stream) (graphedit tool) Osprey analog video in ----> GDCL MPEG-4 mulitplexer ----> File Writer (.mp4 file) filesize is very big; even 5 seconds file have 80 mb size. file doesn't get played. when i see file detail in ffmpeg with ffmpeg -i, it will give error like stream 0, missing mandatory atoms, broken header below is ffmpeg response. ffmpeg.exe -i "C:\Documents and Setti ngs\Administrator\Desktop\mp4file\mp4file

Example code not working with DirectShow

与世无争的帅哥 提交于 2019-12-12 03:26:35
问题 that's my problem: I'm trying to create a game for a school project and I created a video for it, so I googled a little bit and discovered that DirectShow provides some method to play .avi files, so I created a new project and pasted the example code I found here, but this won't work because it throws an exception on &pEvent, &pControl and pGraph. The exception reports: Access violation reading location 0x04186000. How could I solve this problem? (I'm a very newbie with DirectShow so I'm

Null Renderer not in graphedit

人盡茶涼 提交于 2019-12-12 03:15:58
问题 I'm running GraphEdit on Windows Server 2012 R2 and I've noticed that the null renderer is not there. There are some other directshow filters that I am using that will run in this server and the null renderer is the only one that isn't there. I have registered quartz.dll and qedit.dll but there is still nothing. How can I use the Null Render on Server 2012? Cheers. 回答1: Null Renderer (along with Sample Grabber and a few others) is hosted by qedit.dll, not quartz.dll. It looks like it is taken

How to debug an access violation in the Microsoft Audio Compression Manager in a DirectShow application?

狂风中的少年 提交于 2019-12-12 03:14:58
问题 I have a Delphi 6 DirectShow application that exchanges audio with Skype via sockets. I am getting an intermittent access violation in one of the threads started by one of the DLLs loaded by the Filter Graph when the DirectShow filter chain is ran. As I discovered in a previous SO post with the help of another SO member, the thread that faults appears to be started by the Microsoft Audio Compression Manager (msacm32.dll): How can I tell what DLL started a thread and what address space a DLL

DirectShow VB.net can't change recording format

做~自己de王妃 提交于 2019-12-12 03:14:42
问题 I'm using direct show to try and capture a webcam stream in to my vb.net program. Heres the subroutine running which works: Private Sub CaptureVideo() Dim hr As Integer = 0 Dim sourceFilter As IBaseFilter = Nothing Try GetInterfaces() hr = Me.CaptureGraphBuilder.SetFiltergraph(Me.GraphBuilder) Debug.WriteLine("Attach the filter graph to the capture graph : " & DsError.GetErrorText(hr)) DsError.ThrowExceptionForHR(hr) sourceFilter = FindCaptureDevice() hr = Me.GraphBuilder.AddFilter

Can we have different resolutions for Preview and Capture of the same DirectShow graph?

北城以北 提交于 2019-12-12 03:12:56
问题 I have 2 streams, one for Preview and one for capture in my DirectShow application. Right now, we observe that the Preview is slow for 1080P video and 1280*720 video. I would like to know if we have any method to have different resolutions for the capture and preview streams. If we have any, I can use the high resolution at capture side alone and at Preview, I am OK to display low resolutions. Thanks 回答1: You can connect the capture output to a Infinite Tee filter. Use one output of the tee

DirectShow --TEnumMediaType --GetMediaTypeDescription

旧城冷巷雨未停 提交于 2019-12-12 03:08:42
//读取文件属性 EnumMT := TEnumMediaType.Create(OpenDialog.FileName); if EnumMT.Count > 0 then for i := 0 to EnumMT.Count - 1 do debug.lines.Add(EnumMT.MediaDescription[i]); EnumMT.Free; function GetMediaTypeDescription(MediaType: PAMMediaType): string; begin // major types result := 'Major Type: '; if IsEqualGUID(MediaType.majortype,MEDIATYPE_AnalogAudio) then result := result+'AnalogAudio' else if IsEqualGUID(MediaType.majortype,MEDIATYPE_AnalogVideo) then result := result+'Analogvideo' else if IsEqualGUID(MediaType.majortype,MEDIATYPE_Audio) then result := result+'Audio' else if IsEqualGUID