Showing posts with label gnome. Show all posts
Showing posts with label gnome. Show all posts

Thursday, May 13, 2021

Short tutorial: Digital Television with GStreamer (ATSC setup)

GStreamer support for Digital Television (DTV) is still working. If you follow a few very simple steps you can get DTV signals tuned-to, captured, decoded and displayed with your computer and a few accessories. 

This short article presents basic instructions for a working DTV setup. I use ATSC in the US as an example, but the short process should work equally well for other terrestrial delivery systems and countries.

What hardware do you need?

Beyond a computer, you will need an antenna and a capture device. I recently tested a Hauppauge WinTV-dualHD (ATSC/QAM) USB dongle with a 5-years old Amazon basics flat indoor antenna (that looks pretty much like this one) and it worked quite well at roughly 60km from the repeater station.

Installation

The hardware setup is simple. Install the antenna pointing to your repeater station and as high as you can. Your local telecommunications and/or broadcasting association should have data about repeaters near you. You can get this information by ZIP code from the Federal Communications Commission (FCC) if you are in the US.

Don't stress about the "as high as you can" part of the antenna installation. It's great to have a uninterrupted and direct line of sight to the repeating station's antenna, but this is hard to accomplish in urban areas. My current test system is indoors, on a first floor, and it works fine for a few channels.

Software

You will need GStreamer. I'm building it from the master branch with gst-build but the DTV code hasn't changed much in the last few years so any recently-packaged version should work for you. You will also need dvbv5-scan from DVBv5 tools.

TL;DR

Build a channels.conf configuration file by scanning an initial set of frequencies for your area with dvbv5-scan. You can get initial-frequencies files from the the dtv-scan-tables repository. Here I'm using my Mountain View, California file as an example:

$ dvbv5-scan -o channels.conf ./dtv-scan-tables/atsc/us-CA-Mountain-View

The scanning can take several minutes.

If you grep the resulting file you can see what channels were detected:

$ grep "\\[" channels.conf

The output should look something like this:


[KNTV-HD]
[Hai Le]
[KPIX-TV]
[KQED-HD]
[KTVU-HD]
[ION]
[KFSF-HD]
[KICU-HD]


If you get no channels, and you have reasons to believe your hardware is working correctly, try repositioning your antenna and rescanning till you get some. Small direction and position changes can have big effects on VHF/UHF reception with semi-directional antennas like the flat one I'm using for this example.

To playback a channel with GStreamer you can use the generated channels.conf configuration file and any of the scanned-channel names to let playbin/dvbbasebin figure out all necessary parameters at runtime

$ GST_DVB_CHANNELS_CONF=channels.conf gst-play-1.0 dvb://KNTV-HD

And that's it.

There are lots of details, pitfalls and options I don't write about in this short tutorial but if there's some interest I will try to discuss the subject in more depth in future ones.

I leave you with two screenshot of the HD feed by KNTV in the bay area

 



 

 

 


 






Wednesday, March 11, 2009

Quick tip on transfering files from your phone to your gnome-ill computer

So, I just hate when things that are supposed to work
right out of the box just doesn't..., Anyway, 4 steps
recipe to get this working under debian/sid:

1.- Install gnome-bluetooth and bluez-gnome: (as root) apt-get install gnome-bluetooth bluez-gnome
2.- Run bluetooth-applet if its not running already: bluetooth-applet
3.- Make your adapter discoverable and connectable: Right click on bluetooth-applet, then preferences, then choose 'Visible and connectable for other devices' under 'Mode of operation'.
4.- run gnome-obex-server from the console, an small icon should pop up on your pannel.

Now do what you need to do on your phone to select and send your files.

Not saying this is the right way to do it but what the hell, this should get you going.