MythTV Hardware- Hauppauge USB Live-2
The Hauppauge USB Live-2 is a USB 2.0 capture device without a TV tuner. It has both composite and S-video inputs. It also has stereo audio inputs. It has never been fully supported in Linux, however, new kernels have some degree of support. The chipset in the device has been revised at least twice. Success with the device may depend on which encoder chip is present.
Contents
driver and system recognition
The driver will be loaded by the kernel during boot. When the system is up, use the command lsusb to see the device.
Example:
# lsusb Bus 002 Device 002: ID 174c:3074 ASMedia Technology Inc. Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 09da:0006 A4 Tech Co., Ltd Optical Mouse WOP-35 / Trust 450L Optical Mouse Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB Bus 001 Device 005: ID 2040:c200 Hauppauge Bus 001 Device 002: ID 174c:2074 ASMedia Technology Inc. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Here the device can be seen as Device 005 with the label "Hauppauge."
You will have better luck connecting this device to a USB 2.0 port than a USB 3.0 port. There is a bug in the linux kernel known as the "USB Shutdown Bug" which impacts machines that have both USB 2.0 and USB 3.0 ports. It is recommended that you disable support for USB 3.0 in the system BIOS.
If you are specifically impacted by the "USB Shutdown Bug" you will notice errors in "dmesg" such as:
xhci_hcd ERROR Transfer event TRB DMA ptr not part of current TD
You may observe no video, green video, or flickering partial video in your video player. USB ports may become inactive. If you have a USB mouse connected to the system you may lose use of the mouse as the USB ports will become non-functional until reboot. Again, disabling SuperSpeed or USB 3.0 in BIOS will often serve as a workaround.
testing video input
Once in Xfce you can test to see if you are able to receive video from a composite source via the USB Live-2. For basic testing purposes mplayer serves well. You will want to make sure that the driver loaded by using lsusb as described earlier. A device should have been created in /dev as /dev/video0 or if you have other capture cards it could be /dev/video1 or higher. Confirm which video device belongs to your USB Live 2. For our example we will assume /dev/video0
From the command prompt in a console window type the following:
mplayer tv:// -tv driver=v4l2:device=/dev/video0:norm=NTSC:width=720
mplayer will complain that there is no TV Tuner (because of the -tv switch) however this will not prevent video from being displayed. Specifying width= can be substituted with a width you prefer based on your resolution. You should now see video from your source.
Please note that the indicator lights on the USB Live 2 device will not illuminate nor will they blink during testing.
The driver dev made it default to PAL. This is annoying if you are in North America. norm=NTSC will force it to NTSC however if you observe dmesg you will see it tries PAL then NTSC.
cx231xx #0: do_mode_ctrl_overrides : 0xff cx231xx #0: do_mode_ctrl_overrides PAL cx231xx #0: do_mode_ctrl_overrides : 0xb000 cx231xx #0: do_mode_ctrl_overrides NTSC
I guess if the dev lives in Europe he is going to assume everyone uses PAL.
testing audio input
Install PulseAudio Volume Control.
apt-get install pavucontrol
PulseAudio Volume Control will show at least 2 devices under the "Configuration" tab. The first device will be your sound card or built-in audio. The second device will be for the USB Live-2. It will be labeled "Cx231xx Audio" as it is using the hacked Cx231xx kernel driver. For an example you might see:
- Built-in Audio
- Profile: Analog Stereo Output
- Cx231xx Audio
- Profile: Ama;pg Stereo Input
If you click on the "Input Devices" tab you should see, at the top, "Cx231xx Audio Analog Stereo" and below that...
- Cx231xx Audio Analog Stereo
- Port: Analog Input
You will see the horizontal bar fluctuating indicating input sound (if your source has sound) but you will not hear any audio. THis is because there is a "pulseaudio module-loopback" which is not automatically loaded nor can it be loaded though the graphical interface. To add the loopback module to the running instance of Pulse Audio issue the command:
pactl load-module module-loopback
To make the module auto load issue the command:
sudo sh -c ' echo "load-module module-loopback" >> /etc/pulse/default.pa '
Once module-loopback is loaded the pulse audio Volume Control panel will add an option to the Recording tab that allows selection to use on the loopback device.
reference: pulseaudio and saa7134 audio device
No additional audio related parameters were necessary to use on the mplayer command line for the test.
mplayer tv:// -tv device=/dev/video0:norm=NTSC
Now it is with picture and sound.
more testing with mplayer
Note: If you see a green picture with flickering lines at the top, then mplayer is attempting to play an NTSC video as PAL. Again, the dopey kernel driver assumes PAL unless you specify NTSC. You can see the problem in dmesg:
cx231xx #0: do_mode_ctrl_overrides PAL
It is useful to create a configuration file for mplayer with the defaults you use for your USB Live-2. Create or edit the mplayer config file. It is typically located at: /home/username/.mplayer where "username" is your username for mythtv. Mythbuntu creates an empty file for you. You can edit it.
vi ~/.mplayer/config
Add the following to your config file (including the comment text that is already present).
# Write your default config options here! [protocol.tv] zoom = yes vo = x11 tv = "driver=v4l2:device=/dev/video0:norm=NTSC" monitoraspect = "4:3"
Customize to suite your system config. Now you don't have to specify command line parameters when running mplayer. Start mplayer to view from your USB source:
mplayer tv://
We can test using gnome-mplayer which is the graphical gnome version part of the deb package gnome-mplayer installed via the command:
sudo apt-get install gnome-mplayer
If you have the ~/.mplayer/config configured for mplayer it will be used by gnome-mplayer also. You will need to do this because gnome-mplayer won't accept the -tv switch from the command line and will also try to default to PAL. Now launch gnome-mplayer:
gnome-mplayer tv://
You may get prompted to "Resume Playback of Video X input at 0:00" - say "no."
Now you can use gnome-mplayer gui frontend for mplayer as well as mplayer command line to get video and sound from the Hauppauge USB Live-2. See also: Configure mplayer the right way
Testing with VLC (Video LAN Player)
To show the a/v stream using VLC instead of mplayer execute the command:
vlc v4l2:///dev/video0:standard=NTSC
If the last time the input was displayed was NTSC then vlc will default to NTSC with just vlc v4l2:///dev/video0
When vlc is closed, the sound continues to play.
Adding to MythTV backend configuration
Launch the backend setup
my
- Capture Card Setup
- Card type:
- Video device: /dev/video0
- Probed info: Hauppauge USB Live 2 [cx231xx]
- VBI device: (leave this blank - it is for closed caption)
- Audio device:
So far unsuccessful. In progress..