Any interest in digital cable PVRish abilities for Plex?

PVR FireWire
Hi, first time listener long time caller here. I've been playing around with some stuff for capturing video via firewire and almost have things working. Before I go into what my plan is, I'll explain what I've got, a couple Objective-C++ command line utilities that can do the following:

* 'tchannel' - Change channels on a compatible cable tuner (I've got a Motorola DCT-6200) via firewire, the command line utility is basically just 'tchannel 29', to change the cable box to channel 29.

* 'tsrecord', which will capture video over firewire and stream it to disk. The resultant file is an MPEG transport stream (.ts). tsrecord isn't done yet, but should be working by the end of next week.

Now, being able to flip channels and record video through the command line isn't quite to the point where you'd chuck your TiVo, but considering that all macs have firewire it might save you a little money if you don't have one. My thinking is, once done with these two utilities I'll work out a Python script to download TV listings and setup some sort of scheduler such that you could tag things to be recorded and it could just stream in the background. If anyone is interested in helping out with this (or just wants tchannel+tsrecord), I'll be happy to share when I'm done. Truth be told I tend to get bored after I get the hard part of the project done so my 'scheduler' may just end up being crontab.

A little background for people who might not be familiar with firewire cable boxes, if you live in the USA you're entitled by law (if you have cable) to have a cable box that has FireWire video capture ability. (FCC interpretation of Section 304 of the Telecommunications Act of 1996.).

The downer is, you can't capture 'protected' content like HBO or premium channels. You can at least capture many cable channels and HD broadcast (NBC, PBS, CBS, etc). So again, this isn't a tivo killer, but if you've got the cable box and a mac already. To be honest I'm not sure if HBO really is protected content or not. I don't have it, haven't tried. And it will vary by your cable provider. Odds are though, no premium.

So, thats all I got for now. When I get tsrecord finished I'll put up a package for everything if people want to poke it a bit.

Another idea I had for this is, simply dumping the stream out and see if it's even possible to get Plex to 'stream' live TV -- would just need to overlay channel changing capabilities and bob's your uncle.

-synthesizer patel

If I can connect to my comcast motorola DVR I’d totally use it. I hate the UI included with it.



If it's got firewire, it should work along the parameters I've laid out. I'll post to this thread when I've got something more concrete to share. I've never programmed objective-c++ before, or really much c++ so it's a bit slow going.

Whee. Things went faster than I thought. I got command line firewire recording, I need to add command line options and get the code cleaned up. Should have something in the next couple days. Performance is pretty good – dumping full HD to the drive only takes up about 1-1.5% cpu, so this might be feasible to have running in the background even when watching video.



I would personally ***love*** this capability. I have a Verizon FiOS HD DVR and would love to play or control it from Plex. :D

I know there is a Firewire SDK kit you can get from Apple that has several tool in it so you can record unencrypted programs through firewire already. (Have done this on my mini) But you are right, I know you can't watch or save the encrypted stuff.


Yeah, I'm using the FireWire SDK stuff for my program. They've got 'AVCVideoCap.app' which allows you to change channels and record for X amount of minutes etc etc but it's a UI program. Having not programmed much C++ and no Objective-C stuff, it was a little confusing but I've managed to basically take the useful stuff out of the AVCVideoCap.app and put a CLI utility to execute it. I'm actually pretty stoked that it works, I've only spent about 3 days working on it.

Added bonus, if the show has it the stream includes closed captioning data, I just verified that using 'ccextractor'. [http://sourceforge.net/project/downloading...se_mirror=voxel](http://sourceforge.net/project/downloading.php?groupname=ccextractor&filename=ccextractor.0.43.zip&use_mirror=voxel)



Gotta go take my girl and the dog to the dog park, then lunch.. After that I think I'm going to be working on this until I have a package done. I'm pumped.

Will it be possible to browse the device and stream files from it? It would be pretty cool if you could launch a program as a daemon that mounted a (virtual?) file system for the DVR somewhere. Then you could browse to this source in Plex and watch content that’s recorded.



I don't think it'd be possible to get data out of it that way. It looks like via firewire you can send a variety of messages however, so doing things like controlling it in more complex ways than just changing channels is possible. For instance it looks like there's different codes that can be sent to simulate hitting the 'menu' button, or up/down/left/right cursor from the remote.

In my area Comcast offers HD movies on demand, some are even free.. So I think that'll be my premium content test.

The idea is good in theory.




Like Blackstar I too have FiOS. I have done extensive testing with FiOS and very few of their HD channels are open for recording or even viewing over firewire.

The other issue with this is that everything has to be done in real time. There is no file transferring from a DVR and if you record something on your cable company HDDVR that happens to be tagged copy freely instead of copy once you have to play it real time to record it on the mac. I think the only way you could get this to work without it being a pain is if you could strip the copy once tag out. The person who figures out how to do this will surely reap the wrath of every cable company in the country :unsure:

Allow me to hit this with the spice weasel…



http://www.amazon.com/dp/B0018LX0DY/?tag=g…sl_10mfqgln1v_e



I think my next project will be porting the Linux drivers to OSX.



But for now…




Almost to the point where I'm happy with the code. I need to add command line options to change channel and specify dump-filename.. One thing I've noticed is that 1080i captured video being played looks like absolute garbage until it's deinterlaced. But.. one step at a time.

-sp



Can that be handled by the TV, the Cable box, or will setting it manually to only output 720p work do you think? On my box you do have that option to change the output to either 1080i or 720p.

Ok, here’s my first beta tarball. It’s still rough, but it works. Any coding advice in regards to Objective-C++/C++ would be welcomed. Patches even more welcome!



http://www.remix.net/static/clover/

Had my first real test of clover yesterday when I set it up to record Heroes for me. Worked like a charm. Added bonus I found a nifty app called comskip – http://code.google.com/p/etv-comskip/



Scheduler still isn’t done – using cron. Rather than go through all the trouble of coming up with a TV feed sucker I’m leaning towards just making a day/hour grid and let users do it themselves. Going to be building this as a python script to run inside plex/xbmc so… Home brew DVR here I come.



-sp

So with this app you are still limited to recording programs that are flagged as “Copy Freely” right?




That product has always seemed interesting. Possibly the only saving grace for true HD compatibility with home-made DVRs.

The one point that I wanted to mention with it: it would also show your cable box guide. I guess you could probably just record intelligently enough to never have it show up, but it could be problematic. Does this happen with FireWire?

Also, the component method would make the idea of multiple tuners rather expensive. It truly is sad that there is no easy way to interface and get the digital signals. The days of access to signals is soon to die with HDMI and restricted CableCard


Come to think of it, no, you don't see the cable guide with firewire recording. Which given how terrible and slow Comcast's cable guide is, I'm thankful.

I'm not too concerned about losing out on digital signals -- being able to encode 1080i via component w/AC3 sound should be fine. Firewire just as analog recording is limited to only being able to record in realtime anyway.

And in answer to the other question, firewire stuff would appear to be limited to 'copy freely' only. But really the only reason I wrote clover was to get hi-def versions of things I could get OTA anyway.

Although I will say I think it's possible to bypass. I just don't know if it's worth the time to get HBO shows.


For me, very few of my HD channels on FiOS are set to copy freely. Out of the four main networks, only NBC is copy freely. I can not record ABC, CBS or FOX at all.


You might be interested in this:

hi just was reading over your post in this thread and i have been looking for someone to do this for a long time. Does your program turn channels on scientific atlanta 4250 HD boxes? Please keep me posted on your progress, it sounds very cool. The minute its in plex, my media center is complete. would love if you could create a GUI, my ability to use command line is nonexistent. However im going to test your program to see if it changes channels on my box (the SDK doesnt :frowning: ) Ill let you know





also if you can really port the drivers for the Happauge PVR up there i would be more than delighted.

\Thanks great work




so i tested it out, Fanally an app that actually changes the channels of my box :) excellent. I just have one question where does it save the file to? i cant find it any where and i dont know how to change the save location?