At KernelLabs, one of the questions we receive often has to do with choosng a tuner for use under Linux. Sometimes it’s from end users looking to buy a single tuner for their home theatre PC, sometimes it’s from resellers, and sometimes it’s from embedded customers looking to deploy thousands of units. And in most cases, whoever asks has some difficulty appreciating why our initial answer is almost universally “Well, that depends…”. The goal of this post is to provide some insight into the factors that effect the decision making process, and why it’s not as easy as “Oh, just buy Product XYZ”.
When choosing a tuner, here is what I hope is a helpful list of questions you should be asking?
General Questions:
- What bus types are available in your environment?
- PCI
- PCIe
- MiniPCI
- USB
- What are your power consumption requirements?
- What are your expectations with regards to power management (for example, conservation of power when tuner is idle)?
- How many devices do you plan to install in a single host?
- Do you have any physical/mechanical requirements? For example, if everything must be mounted internally, USB devices would probably not be suitable.
- Do you need IR support (for remote controls)?
- Is device support restricted to a currently shipping commercial Linux distribution, or is it acceptable to compile a v4l-dvb tree from source?
- What Linux distributions and versions do you need it to work with?
Digital questions:
- Do you need digital support?
- How many digital inputs do you need?
- 1
- 2
- More than 2
- What digital standards do you need to support?
- ATSC
- ClearQAM (QAM64/QAM256)
- ATSC-M/H
- DVB-T
- DVB-C
- DVB-S
- ISDB-T
- What are your expectations with regards to tuning quality?
Analog questions:
- Do you need analog support?
- How many analog inputs do you need?
- 1
- 2
- More than 2
- What analog standards do you need to support?
- NTSC
- PAL (and what international variants?)
- SECAM
- Do you need VBI support (for closed captioning/teletext)?
- Do you need an onboard MPEG encoder?
- Do you need raw analog capture support?
- Do you need a tuner, or do you need S-Video/composite capture, or both?
- Do you need to be able to capture analog HD?
Application questions:
- What applications do you need to support?
- mplayer
- xawtv
- Kaffeine
- MythTV
- MeTV
- tvtime
- Proprietary/Internally written
Supportability questions:
- What are your support needs?
- Do you have resources in-house who can debug problems found in the drivers?
- Are the datasheets available to you? Are they available to someone else who can debug the driver for you?
- What happens if I buy hundreds/thousands of these units and *then* a driver bug is found?
The reality is that even if a product has the appropriate hardware specs, the Linux driver support may only support a subset of what the hardware is advertised to support. The quality of drivers varies considerably – some fully implement all the functionality for a product, some implement only the set of features the original developer needed, and some drivers work barely well enough to be considered “working”, and have significant quality problems depending on your environment.
Even when someone provides answers to all of the above questions, the right product to choose is not always clear. In many cases, we have to perform an analysis of a prospective product, which can often require specialized hardware and software. Analysis can include evaluation of characteristics like:
- Tuning quality under various signal conditions (including different modulations and varying levels of signal quality)
- Time to achieve a tuning lock
- Power consumption/management
- Validation of the quality of the delivered video (for cases such as the driver dropping frames or MPEG packets)
- Application compatibility
I hope the above provides some insight into how complicated the process can be, and perhaps offers some hints for things to consider if you are choosing a product in the future.
KernelLabs does offer services to commercial customers who are faced with the above challenges. Feel free to contact us if you would like more information.
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.