Hi: I have a two part project. 1. I need to capture a frame of a video stream
from a Decklink card and write it to a jpg file.
The file will be edited offline by another application. 2. I need to read the
edited jpg file and send it back out to the Decklink card.
With your previous help and examining the sample code I've gotten part 1 to
work and half of part 2 to work. During part 2 when I read the edited jpg file
and attempt to
render it to the Decklink card, it always renders to a window on the desktop.
I can't seem to render the jpg file to the Decklink card.
My application uses code similar to the following code snipet.
I suspect the Decklink renderer will only render particular media types
(NTSC/PAL frame rates and specific resolutions. Therefore, even though it is
in the graph, it will not connect to the source filter and no standard filters
are available to change the media type to one that is supported. You will
likely need to write a transform filter to change the media type to one the
Decklink renderer supports.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks - I would assume that some of people that have decklink cards would
want to render to it - so I would think that there must be quite a few people
that have written transform filters for the card. However, since I'm new at
this - It will be a good exercise to spend the time trying to learn about
transform filters and actually writing one - I'm sure I'll have more questions
-
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am not sure about jpg on decklink but other video files with frame size
1920X1080 are only played. You will need filter that change the framesize and
play the file
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi: I have a two part project. 1. I need to capture a frame of a video stream
from a Decklink card and write it to a jpg file.
The file will be edited offline by another application. 2. I need to read the
edited jpg file and send it back out to the Decklink card.
With your previous help and examining the sample code I've gotten part 1 to
work and half of part 2 to work. During part 2 when I read the edited jpg file
and attempt to
render it to the Decklink card, it always renders to a window on the desktop.
I can't seem to render the jpg file to the Decklink card.
My application uses code similar to the following code snipet.
_GraphBuilder = (IGraphBuilder)new FilterGraph();
_MediaControl = (IMediaControl)_GraphBuilder;
_Renderer = (IFilterGraph2)new FilterGraph();
IBaseFilter destinationFilter = FindCaptureDevice();
// Instead of "Decklink Video Render" I've also used other names
hr = _GraphBuilder.AddFilter(destinationFilter, "Decklink Video
Render");
hr = _GraphBuilder.RenderFile("Test1.jpg", null);
hr = _MediaControl.Run();
Regards, Kenny
I suspect the Decklink renderer will only render particular media types
(NTSC/PAL frame rates and specific resolutions. Therefore, even though it is
in the graph, it will not connect to the source filter and no standard filters
are available to change the media type to one that is supported. You will
likely need to write a transform filter to change the media type to one the
Decklink renderer supports.
Thanks - I would assume that some of people that have decklink cards would
want to render to it - so I would think that there must be quite a few people
that have written transform filters for the card. However, since I'm new at
this - It will be a good exercise to spend the time trying to learn about
transform filters and actually writing one - I'm sure I'll have more questions
-
I am not sure about jpg on decklink but other video files with frame size
1920X1080 are only played. You will need filter that change the framesize and
play the file