[mythtv-users] non-cable video source

David Fishburn fishburn at ianywhere.com
Tue Dec 12 04:16:45 UTC 2006


> -----Original Message-----
> From: mythtv-users-bounces at mythtv.org 
> [mailto:mythtv-users-bounces at mythtv.org] On Behalf Of adam wisely
> Sent: Monday, December 11, 2006 7:14 PM
> To: mythtv-users at mythtv.org
> Subject: [mythtv-users] non-cable video source
> hey guys,
> my pvr-150 has the normal cable-in in the back of the card, 
> but it also has an s-video and composite-in back there, too.  
> i was wondering if it were possible (and how to do it) to use 
> those second two to play video from an alternative source 
> (say, my video camera) through my capture card, and have 
> mythtv record it.
> is there an easy way to do this?  or i suppose i could just 
> use a different combination of programs to import them to the 
> box, outside of mythtv.

I am in the midst of writing this readme (to myself) documenting what I have
been trying.

I have this working for capturing the output from a VCR or Video Camera
outside of MythTV.  I had just started adding the necessary gear in MythTV
setup, but haven't had a chance to test it.

Anyway, I found this from googling the gossamer site.  Make use of it where
you can.



To capture videos from a video camera or other external source 
this thread provides very good information:

Record shows outside of Myth, but using the video capture card:
    So, basically, although you can do as you asked, doing so is probably
    not what you want because Myth was designed as a PVR, not as an
    interactive recording application. Therefore, it may actually make a
    lot more sense to just find a time when a capture card isn't in use and
    use "dd if=/dev/video4 of=/home/me/MySummerVacation.mpg". (This example
    shows using capture card 5 because it's the least likely to be used for
    recordings. If you only have 1 card, use "/dev/video0", or with 2 cards
    use "/dev/video1", or ...) Note, though, that with this approach,
    you'll have to run the appropriate ivtvctl commands to set the format,
    resolution, and input before using dd to capture.

    Something like:

    Note, ivtvctl has been changed to v4l2-ctl in version 0.8.1
        ivtvctl -u 0x3000
        ivtvctl -p 6
        ivtvctl -f width=720,height=480
        dd if=/dev/video0 of=/tmp/myvideo.mpg
    So this becomes:

    Each tuner has multiple inputs.  You can see this with:
        v4l2-ctl -n
            ioctl: VIDIOC_ENUMINPUT
                    Input   : 0
                    Name    : Tuner 1
                    Type    : 0x00000001
                    Audioset: 0x00000007
                    Tuner   : 0x00000000
                    Standard: 0x0000000000001000 ( NTSC )
                    Status  : 0

                    Input   : 1
                    Name    : S-Video 1
                    Type    : 0x00000002
                    Audioset: 0x00000007
                    Tuner   : 0x00000000
                    Standard: 0x0000000000FFFFFF ( PAL NTSC SECAM )
                    Status  : 0

                    Input   : 2
                    Name    : Composite 1
                    Type    : 0x00000002
                    Audioset: 0x00000007
                    Tuner   : 0x00000000
                    Standard: 0x0000000000FFFFFF ( PAL NTSC SECAM )
                    Status  : 0

                    Input   : 3
                    Name    : S-Video 2
                    Type    : 0x00000002
                    Audioset: 0x00000007
                    Tuner   : 0x00000000
                    Standard: 0x0000000000FFFFFF ( PAL NTSC SECAM )
                    Status  : 0

                    Input   : 4
                    Name    : Composite 2
                    Type    : 0x00000002
                    Audioset: 0x00000007
                    Tuner   : 0x00000000
                    Standard: 0x0000000000FFFFFF ( PAL NTSC SECAM )
                    Status  : 0

    You can set the input using:
        v4l2-ctl --device=0 --set-format=width=480,height=480
        v4l2-ctl --device=0 --set-standard=0x003000
        v4l2-ctl --device=0 --set-input=2
            Video input set to 2 (Composite 1)
        dd if=/dev/video0 of=/tmp/myvideo.mpg
            CTRL-C to stop recording
            -- Make sure you set the input back to 0 when done!!!!
            v4l2-ctl --device=0 --set-input=0

    Transcoding the file when finished:
        # Make sure mencoder has been installed
        aptitude search mencoder

        # http://www.mythtv.org/wiki/index.php/Transcoding_for_the_PDA
        # Transcode Using lavc's mpeg4 (this is what I use)
        mencoder -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=300:vhq:vpass=1 \
        -vf scale=320:240 -oac lavc -lavcopts acodec=ac3:abitrate=128
-ffourcc \

        # -ovc - encode using this video codec: mp3lame, lavc
        # -oac - use this audio type: mp3lame, lavc
        mencoder -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=300:vhq:vpass=1
-oac lavc -lavcopts acodec=ac3:abitrate=128 -ffourcc DX50 -o squash.avi
        mencoder -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=400:vhq:vpass=1
-oac lavc -lavcopts acodec=mp3:abitrate=128 -ffourcc DX50 -o squash.avi

    Should do. Submit the last command--the dd command--when you're ready
    to start recording. Then, when finished, use Ctrl-C to stop the
    recording (you may want to record a few seconds longer than necessary so
    you can clean up the end of the recording with an MPEG editor). 

Setup a channel in Myth to record input from a video camera
    Shut down mythfrontend and mythbackend. Run mythtv-setup.

    In "Video Sources", create a new video source (i.e. "VCR" or "Digital
    Video Camera" or "External" or whatever--just make sure you give it a
    name). For the grabber, select, "No grabber." Select "Finish". Hit
    Escape to go back to the menu.

    In "Channels", create a new channel. Give it a name (like "VCR" or
    "Camera" or "External" or ...) and a unique channel number (one that
    doesn't yet exist on your system) and callsign ("VCR", "Cam", "Ext",
    "Other Stuff", ...). Select the video source you just created. While
    you're at it, you'll probably want to mark the channel as commercial
    free (depends on your home movies, I guess :). Select "Next." Do /not/
    change the "Frequency or Channel" field--it should be exactly the same
    as the channel number you specified previously. Select "Finish". Hit
    Escape to go back to the menu.

    In "Input Connections", associate the new source to the appropriate
    input. Set the "External channel change command" to "/bin/true" (no
    quotes). Do /not/ fill in a value for "Preset tuner to channel", do
    /not/ "Scan for channels" or "Fetch channels from listings source".
    Ensure the channel you just created is selected as the starting
    channel. Select "Finish". Hit Escape to go back to the menu.

    Exit mythtv-setup. You'll be told to run mythfilldatabase, but--since
    your new source uses "No grabber", it's unnecessary. So, start up
    mythbackend and mythfrontend. Then, create manual recording schedules
    to record from your camera.

    What? Manual recording schedules?


    Using manual recording schedules is not ideal because it's
    non-interactive (as a PVR should be). So, when creating a manual
    recording, you'll be able to specify a name (which is good), but you
    must specify a start time and an end time (which isn't so good).
    Therefore, you have to guess the content's length and specify a
    longer-than-the-content recording time to allow for starting the video
    sometime after the recording starts and ensuring it ends sometime before
    the recording stops.

    Note, though, that if you start watching LiveTV and hit record, Myth
    will create a 30-minute manual recording starting at the time you press
    record. If you need to extend the recording time, you will have to exit
    LiveTV and modify the end time on the in-progress recording before the
    recording finishes. Also, recordings made on "channels" with no guide
    data will get terrible names if recorded from LiveTV with the record
    button, so manual recordings--which allow specifying names for the
    recordings--are much more appropriate.

    If you just "watch" LiveTV to do the recordings, Myth will in fact
    record input; however, you'll encounter similar issues as with the
    record button. Since you have no guide data, the recordings will have
    terrible names and will be broken into 30-minute segments. I think with
    LiveTV, though, the first segment breaks on the half-hour--i.e. at the
    top of or half-past an hour on the clock, regardless of when you started
    watching LiveTV, so the first segment will be less than 30 minutes
    long. Note, also, that it's critical that you change the recording
    group from LiveTV to something else if you record the video this
    way--otherwise, the recording will be autoexpired "tomorrow."


More information about the mythtv-users mailing list