A generic method of dumping a /dev/video0 device using ffmpeg (Mythbuntu centric)
Perl Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Right off the bat, let me say that this isn't perfect, but it will tide me over
until full support for the Hauppauge HD PVR 1212 is released in 0.22.


1) You may have play around with the video players to see which one plays
the files best for you.  Depending on what extra options you set, your
player may choke on it  Try all the different players:
(INTERNAL vs VLC vs MPLAYER vs XINE vs ???).  Internal seems to do just fine
in most cases.

2) Must schedule the recording manually or with a cron job in /etc/crontab
(which is what I do).  Yeah, a cron job is a pain, but for my weekly/daily
shows, all I do is set it once and it's done.  No channel guide integration.

3) Apparently, using the stereo RCA audio input makes the HDPVR ouput AAC.  
However, if you use spdif optical audio input, the unit defaults to AC3.  
AC3 seems to give problems with certain containers (mp4 ?).  However, this may 
be a problem with ffmpeg, so you may want to try a new version.

What it does do:

1) Changes channels, records, and moves to the gallery (or wherever you want).

2) Imports into MythVideo (gallery) or the mysql database so the recordings 
from the HDPVR show up where your other normal recordings are listed.

Secondary problems:

1) I've noticed that the location of the device (i.e. /dev/video0) sometimes
changes.  It would be nice to lock it down.  I have other deivces and they
sometimes switch places.

2) The IR blaster/transmitter also stops working after every reboot for me.  
This is not in any way related to this script.  However, if you want to 
change channels, it can be frustrating.  If anyone can help me with that, I 
would appreciate it.  I have to go into the MythBuntu Control Center, change 
the device to anything else and then back...strange.


1) You either have your IR Blaster working or don't care about changing the

2) The device driver for the HD PVR is installed and working.  See...
http://www.mythtv.org/wiki/Hauppauge_HD-PVR It assumes you are running
SVN/Trunk, so ignore the bottom.  Why don't I use svn or trunk?  Cuz I tried
and it screwed up everything so bad I had to reformat and reinstall
mythbuntu....I'm not nerdy enough...I admit it.

You'll notice lots of commented out code.  That is either sitting there waiting
for a few things to be fixed (i.e. native mpg encoding) or it is me trying to
test things, but at least you can see what I'm trying.

I am not a programmer, let alone a perl programmer.  I've never written perl,
so please be nice when you read this code.  I had some help from a friend (Paul
Miller <jettero@cpan.org>) and also did a lot of googling.

In order to play the videos in the gallery, you may want to setup the file
extension and set your favorite player to play it when mythtv calls for it.

Utilities/Setup-->Setup-->Media Settings-->Videos Settings-->File Types

Make a new file type "ts" (or whatever extension you set) without the quotes.
Enter this as the command (i.e. for VLC, but you can do whatever):

    vlc --fullscreen --play-and-exit

for mplayer:

    mplayer -fs -zoom -vo xv

You may also want to try the internal player, depending on the extension, it does
pretty well also, so you can simply try this command...


Then, make sure the two circles (use default player and ignore) both have X's,
not checks.

Lastly, make sure that the video browser is set to actively scan each time you
visit.  This is important or you won't see your new videos unless you jump
through some hoops.  This is where you set that option:
Utilities/Setup-->Setup-->Media Settings-->Videos Settings-->General Settings
There are 3 things that need to be enabled, labeled "Video Browser Browses
Files" & "Video Gallery Browses Files" & "Video List Browses Files"

It may seem like a lot of work, but it may tide you over until MythTV has full
support for this device.

Here is an example of a crontab entry for a daily show.  To be recorded on
channel 183 for 60 minutes at 8pm (20:00) on every Thursday.  The location of
your "videodump.pl" script may be different.  Replace "user" with whatever 
your normal username/account is.  This example will put your recordings in the 
MythVideo (gallery) area.

    00 20 * * 4  mythtv   /home/user/temp/videodump.pl -c 183 -t 60 -n TestShow -f

This example will integrate into mysql and the MythTV recordings listing.  Your -o
path may be different, but it is the path to where your system puts it's normal 
recordings.  The XXXXXXXX is the password for your mysql.

    00 20 * * 4  mythtv   /home/user/temp/videodump.pl -c 183 -t 60 -n "TestShow 2" -o /recordings/Default/ -p XXXXXXXX -f