BSDMon NeXT Gen

A website, talking about Opensource system, video games, animations and ... myself

TVCenterPipe, a "hook" program for Pinnacle TV Center Pro

TV Center Pipe

To begin with, TVCenterPipe is a small program I made because the Pinnacle TV Center Pro software does not do something I really need.

What is Pinnacle TV Center Pro ?
It is the software I use with my Pinnacle HDTV USB device. It allows me to watch TV, capture input S-Video data and also to record the input data of my choice.

What do I need ?
The Pinnacle software records data to disk. It is fine. But what I really need is to record data to an output like my icecast server, for instance a shoutcast output.

So, what do I have in mind, first ?
The Pinnacle software does not support output plugin, so I was thinking of hooking its "output to disk" functions (something like fopen(), fwrite(), CreateFileW(), WriteFileW() ...). Then, using a shoutcast library may be a real pain and would probably take days or weeks. Remember, I'm lazy :D, so the easiest thing is to rely on an existing software doing the encoding and streaming job. And the answer is VLC !

So, what did I do ?
I made TVCenterPipe. It basically hook CreateFileW() and WriteFileW() in order to write to a named pipe. I know that VLC supports named pipe reading as a source data. So, bingo ! I have the solution. Efficient and easy :D.
In that way, I redirect all "write to disk" attempts to a named pipe and I can launch VLC, reading data, encoding and streaming to my icecast server in real time !

You may ask why I need to do streaming with data, coming in real time. I will probably write an article, explaining my real purpose.

Add a comment

  • Your email will never be published

Comments