Copyright
Copyright © José
Luis Lara Carrascal 2011-2015
Sumario
Introducción
Configurar un dispositivo Real HDTV Nano NPG
Búsqueda de canales con w_scan
Visualización con SMPlayer y Gxine
Enlaces
Introducción
GNU/Linux
no podía permanecer ajeno a la llegada de la televisión
digital terrestre (TDT), y en este manual voy a explicar la
configuración de un dispositivo penstick, Real HDTV Nano NPG, la posterior búsqueda de los canales con la utilidad w_scan, y finalmente la reproducción y visualización de estos con SMPlayer y Gxine.
Configurar un dispositivo Real HDTV Nano NPG
Lo que en un primer lugar parece ser un dispositivo no soportado por GNU/Linux,
termina derivando en uno que sí lo es. En el mundo de la venta
de aparatos eléctronicos, existen los fabricantes y los
ensambladores. Tenemos el caso obvio de NVIDIA, cuyos chips son montados en infinidad de tarjetas gráficas, que compramos sabiendo que el chip es de NVIDIA. Pero en el caso de otros componentes como es éste, el tema ya no está tan claro.
La mejor manera de averiguar esto, es acceder al disco que contiene los controladores de Windows y buscar o extraer el archivo inf
correspondiente que contiene la información del auténtico
fabricante del componente. Además de copiar el correspondiente
archivo firmware necesario para el correcto funcionamiento del
dispositivo.
Montamos el cd y accedemos al directorio correspondiente referente a la versión de 32 bits, en la ruta Files/Driver/x86/x86, y nos encontramos con el archivo utilizado por Windows
para la instalación del driver, lo abrimos con un editor de
texto y comprobamos cual es el verdadero fabricante del chip, tanto en
el inicio del archivo como al final.
; Installation inf for the Siano Mobile Silicon Devices
;
; Copyright (C) Siano Mobile Silicon, 2004 - 2007 All Rights Reserved.
; |
Sms="Siano Mobile Silicon"
smsbda.name="DVB-T TV Stick"
smsrom.name="SMS Digital Video (ROM)"
smsprimarytuner.name="Siano BDA Tuner Filter"
smssecondarytuner.name="Siano Secondary Tuner Filter"
smsbdacapture.name="Bda Capture Filter"
smscapture.name="TS Capture Filter"
Disk_Description="SMS Installation Disk"
|
Si buscamos con google el término "Siano Mobile Silicon", en primer lugar nos aparece la web de este fabricante, http://www.siano-ms.com. Una vez sabemos el nombre del fabricante real, nos vamos a http://www.linuxtv.org/wiki/index.php/Main_Page y en el buscador metemos el término "siano", y nos sale esta página,
de la que poco podemos sacar claro, lo único que el fabricante
es israelí. Así que metemos este término
"siano+kernel+linux" y ahora sí que encontramos
lo que buscamos (aunque yo esto me lo salté y me fui
directamente al código fuente del kernel). Desde el kernel
2.6.31, este driver está incluido en el núcleo.
Respecto al firmware, lo averigüé a través de dmesg, en
el que me aparecía el mensaje de que faltaba el firmware con el
nombre, dvb_nova_12mhz_b0.inp, que está localizado en la ruta Files/Driver/x86/x86/i386 del cd de los drivers para Windows y que hay que copiar como root a /lib/firmware.
$ su
# cp /mnt/cdrom/Files/Driver/x86/x86/i386/dvb_nova_12mhz_b0.inp /lib/firmware
|
Cambiar el punto de montaje por el que tenga cada usuario en su
sistema. En mi caso particular tuve que recompilar el kernel, porque
los dispositivos dvb no los tenía configurados, algo obvio,
porque hasta ahora no tenía ninguno.
La inmensa mayoría de distribuciones vienen con este driver
compilado como un módulo, así que esto sólo es
necesario en usuarios que se crean núcleos personalizados con lo
justo para funcionar.
Finalmente para que el módulo smsdvb se cargue al principio, el
kernel sólo carga el smsusb y el smsdtv, haremos lo siguiente en
función de la distribución que utilicemos:
1) Mandriva y PCLinuxOS
Abrimos un editor de texto y añadimos lo siguiente:
Lo guardamos con el nombre smsdvb y lo instalamos como root, en /etc/modprobe.preload.d
$ su -c "install -m644 smsdvb /etc/modprobe.preload.d"
|
2) Fedora
Abrimos un editor de texto y añadimos lo siguiente:
#!/bin/sh
echo -n "Cargando módulo smsdvb..."
if /sbin/modprobe smsdvb
then
echo "OK"
else
echo "FALLÓ"
fi |
Lo guardamos con el nombre smsdvb.modules, y lo instalamos en /etc/sysconfig/modules
$ su -c "install -m755 smsdvb.modules /etc/sysconfig/modules"
|
3) Slackware y derivados
Abrimos con un editor de texto, como root, el archivo /etc/rc.d/rc.local, y añadimos lo que está en rojo:
#!/bin/sh
#
# /etc/rc.d/rc.local: Local system initialization script.
#
# Put any local startup commands in here. Also, if you have
# anything that needs to be run at shutdown time you can
# make an /etc/rc.d/rc.local_shutdown script and put those
# commands in there.
# Ufw
if [ -x /etc/init.d/ufw ]; then
/etc/init.d/ufw start
fi
# smsdvb
/sbin/modprobe smsdvb
|
4) Debian y derivados
Abrimos con un editor de texto, como root, el archivo /etc/modules, y añadimos lo que está en rojo:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
smsdvb |
5) OpenSUSE
Abrimos con un editor de texto, como root, el archivo /etc/sysconfig/kernel, nos vamos a la línea 30 y añadimos lo que está en rojo:
## Type: string
## ServiceRestart: boot.loadmodules
#
# This variable contains the list of modules to be loaded
# once the main filesystem is active
# You will find a few default modules for hardware which
# can not be detected automatically.
#
MODULES_LOADED_ON_BOOT="smsdvb"
## Type: string
## Default: "" |
Búsqueda de canales con w_scan
Una vez tenemos configurado el kernel y el acceso al dispositivo, nos
toca buscar el programa adecuado para crear las listas de los canales
de televisión, y sin lugar a dudas, el mejor con diferencia es w_scan. Cuya instalación se trata a continuación.
Instalación
Dependencias
Herramientas
de Compilación
Entre paréntesis la
versión con la que se ha compilado w_scan
para la elaboración de este documento.
* GCC - (5.2.0) o Clang - (3.7.0)
* Gawk - (4.1.3)
* M4 - (1.4.17)
* Make - (4.1)
* Automake - (1.15)
* Autoconf - (2.69)
Descarga
w_scan-20141122.tar.bz2
Optimizaciones
$ export {C,CXX}FLAGS='-O3 -march=amdfam10 -mtune=amdfam10'
|
Donde pone amdfam10
se indica el procesador respectivo de cada sistema
seleccionándolo de la siguiente tabla: |
Nota informativa sobre las optimizaciones para GCC
|
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado.
* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.
* En versiones de GCC 3.2.x e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
|
Nota informativa sobre las optimizaciones para Clang
|
* La opción '-mtune=' está soportada a partir de la versión 3.4 de Clang.
* Los valores de color azul no son compatibles con Clang.
* Las filas con el fondo de color amarillo son valores exclusivos de Clang y,
por lo tanto, no son aplicables con GCC.
|
Valores |
CPU |
generic |
Produce un código
binario optimizado para la mayor parte de procesadores existentes.
Utilizar este valor si no sabemos el nombre del procesador que
tenemos en nuestro equipo. Este valor sólo es aplicable en
la opción '-mtune=', si utilizamos GCC. Esta opción está disponible a
partir de GCC 4.2.x. |
intel |
Intel Haswell y Silvermont. Este valor sólo es aplicable en
la opción '-mtune='. Esta opción está disponible a partir
de GCC 4.9.x. |
i386 |
Intel i386.
|
i486 |
Intel i486. |
i586, pentium |
Intel Pentium sin soporte de instrucciones MMX. |
pentium-mmx |
Intel PentiumMMX basado en Pentium con soporte de instrucciones MMX. |
pentiumpro |
Intel PentiumPro. |
i686 |
Produce un código binario optimizado para la mayor parte de
procesadores compatibles con la serie 80686 de Intel. Todos los actuales lo son. |
pentium2 |
Intel Pentium2 basado en PentiumPro con soporte de instrucciones MMX. |
pentium3, pentium3m |
Intel Pentium3 basado en PentiumPro con soporte de instrucciones MMX y SSE. |
pentium-m |
Versión de bajo
consumo de Intel Pentium3 con soporte de instrucciones MMX, SSE y SSE2.
Utilizado por los portátiles Centrino. |
pentium4, pentium4m |
Intel Pentium4 con soporte de instrucciones MMX, SSE y SSE2. |
x86-64 |
Procesadores
AMD y compatibles con soporte de instrucciones x86-64, SSE2 y
extensiones
64-bit. |
yonah |
Procesadores
basados en la microarquitectura de Pentium M, con soporte de
instrucciones MMX, SSE, SSE2 y SSE3. |
prescott |
Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2 y SSE3. |
nocona |
Versión mejorada de Intel Pentium4 con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2 y SSE3. |
core2 |
Intel Core2 con
extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3 y
SSSE3. Esta opción está disponible a partir de GCC 4.3.x. |
nehalem |
Intel Nehalem con soporte de instrucciones MMX,
SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT y extensiones
64-bit. Esta opción está disponible a partir
de GCC 4.9.x. |
westmere |
Intel Westmere con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES,
PCLMUL y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9.x. |
sandybridge |
Intel Sandy Bridge con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX,
AES, PCLMUL y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9.x. y Clang 3.6.x. |
ivybridge |
Intel Ivy Bridge con soporte de instrucciones
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX,
AES, PCLMUL, FSGSBASE, RDRND, F16C y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9.x. y Clang 3.6.x. |
haswell |
Intel Haswell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT,
AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2,
F16C y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9.x. |
broadwell |
Intel Broadwell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT,
AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2,
F16C, RDSEED, ADCX, PREFETCHW y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9.x. y Clang 3.6.x. |
bonnell |
Intel Bonnell con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3 y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9.x. y Clang 3.6.x. |
silvermont |
Intel Silvermont con soporte de instrucciones
MOVBE, MMX, SSE, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
SSE4.2, POPCNT, AES, PCLMU, RDRND y extensiones 64-bit. Esta opción está disponible a partir
de GCC 4.9.x. y Clang 3.6.x. |
knl |
Intel Knights Landing con soporte de instrucciones
MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2,
AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX,
PREFETCHW, AVX512F, AVX512PF, AVX512ER y extensiones 64-bit. Esta opción está disponible a partir
de GCC 5.x. y Clang 3.4.x. |
penryn |
Intel
Penryn con soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3 y SSE4.1. |
corei7 |
Intel Core i7 con
extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1 y SSE4.2. Soporta también los procesadores Intel
Core i3 e i5. Esta opción está disponible desde GCC 4.6.x, hasta GCC 4.8.x. A partir de GCC 4.9.x se utiliza la definición nehalem. |
corei7-avx |
Intel Core i7 con
extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1, SSE4.2, AVX, AES y PCLMUL. Soporta también los
procesadores Intel Core i3 e i5. Esta opción está disponible desde GCC 4.6.x, hasta GCC 4.8.x. A partir de GCC 4.9.x se utiliza la definición sandybridge. |
core-avx-i |
Intel Core (ivyBridge) con
extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3,
SSSE3, SSE4.1, SSE4.2, AVX, AES, PCLMUL, FSGSBASE, RDRND y F16C. Esta opción está disponible desde GCC 4.6.x, hasta GCC 4.8.x. A partir de GCC 4.9.x se utiliza la definición ivybridge. |
core-avx2 |
Intel Core (Haswell). Esta opción está disponible desde GCC 4.6.x, hasta GCC 4.8.x. A partir de GCC 4.9.x se utiliza la definición haswell. |
atom |
Intel Atom con extensiones
64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3 y
SSSE3. Esta opción está disponible desde GCC 4.6.x, hasta GCC 4.8.x. A partir de GCC 4.9.x se utiliza la definición bonnell. |
slm |
Intel
Silvermont con soporte de instrucciones SSE4.2, CMPXCHG16B, MOVBE,
POPCNT, PCLMUL, AES, CallRegIndirect, PRFCHW, SlowLEA, SlowIncDec,
SlowBTMem y FastUAMem. Esta opción está disponible a
partir de Clang 3.4.x. |
skx, skylake |
Intel
Haswell con soporte de instrucciones AVX512, CDI, DQI, BWI, VLX,
CMPXCHG16B, FastUAMem, POPCNT, AES, PCLMUL, RDRAND, F16C, FSGSBase,
MOVBE, LZCNT, BMI, BMI2, FMA, RTM, HLE y SlowIncDec. Esta opción está disponible a partir de Clang 3.5.x. La definición skylake está disponible a partir de Clang 3.6.x. |
k6 |
AMD K6 con soporte de instrucciones MMX. |
k6-2, k6-3 |
Versiones mejoradas de AMD K6 con soporte de instrucciones MMX y 3DNow!. |
athlon, athlon-tbird |
AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y SSE prefetch. |
athlon4, athlon-xp, athlon-mp |
Versiones mejoradas de AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y full SSE. |
k8, opteron, athlon64, athlon-fx |
Procesadores basados en
AMD K8 core con soporte de instrucciones x86-64 (MMX, SSE, SSE2,
3DNow!, enhanced 3DNow! y extensiones 64-bit). |
k8-sse3, opteron-sse3, athlon64-sse3 |
Versiones mejoradas de
AMD K8 core con soporte de instrucciones SSE3. Esta opción
está disponible a partir de GCC 4.3.x. |
amdfam10, barcelona |
Procesadores basados en
AMD Family 10h core con soporte de instrucciones x86-64 (MMX, SSE,
SSE2, SSE3, SSE4A, 3DNow!, enhanced 3DNow!, ABM y extensiones
64-bit). Esta opción está disponible a partir de GCC 4.3.x. La definición barcelona está disponible a partir de Clang 3.6.x. |
btver1 |
Procesadores basados en
AMD Family 14h core con soporte de instrucciones x86-64 (MMX, SSE,
SSE2, SSE3, SSE4A, CX16, ABM y extensiones 64-bit). Esta opción está disponible a partir
de GCC 4.6.x. |
btver2 |
Procesadores basados en
AMD Family 16h core con soporte de instrucciones x86-64 (MOVBE, F16C,
BMI, AVX, PCL_MUL, AES, SSE4.2, SSE4.1, CX16, ABM, SSE4A, SSSE3, SSE3,
SSE2, SSE, MMX y extensiones 64-bit). Esta opción
está disponible a partir
de GCC 4.8.x. |
bdver1 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.7.x. |
bdver2 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (BMI, TBM, F16C, FMA, LWP, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.7.x. |
bdver3 |
Procesadores basados en
AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE,
SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones
64-bit). Esta opción está disponible a partir
de GCC 4.8.x. y Clang 3.4. |
bdver4 |
Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64
(BMI, BMI2, TBM, F16C, FMA, FMA4, FSGSBASE, AVX, AVX2, XOP,
LWP, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A,
SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está
disponible a partir de GCC 4.9.x. y Clang 3.5.x. |
winchip-c6 |
IDT Winchip C6, que equivale a un i486 con soporte de instrucciones MMX. |
winchip2 |
IDT Winchip2, que equivale a un i486 con soporte de instrucciones MMX y 3DNow!. |
c3 |
Via C3 con soporte de instrucciones MMX y 3DNow!. |
c3-2 |
Via C3-2 con soporte de instrucciones MMX y SSE. |
geode |
AMD integrado con soporte de instrucciones MMX y 3DNow!. Esta opción está disponible a partir de GCC 4.3.x. |
native |
Produce un código
binario optimizado para el procesador que tengamos en nuestro sistema,
siendo éste detectado utilizando la instrucción cpuid.
Procesadores antiguos pueden no ser detectados utilizando este valor.
Esta opción está disponible a
partir de GCC 4.2.x. |
Optimizaciones adicionales
Optimizaciones adicionales |
GCC |
Graphite
|
$ export {C,CXX}FLAGS+=' -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block'
|
LTO |
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=2'
|
Donde pone 2
se indica el número de núcleos de nuestro procesador, si
sólo tiene uno, utilizar el parámetro -flto |
|
Clang |
Polly |
$ export {C,CXX}FLAGS+=' -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine'
|
LTO |
$ export {C,CXX}FLAGS+=' -flto'
|
Parámetros adicionales
Parámetros adicionales de eliminación de avisos específicos en el proceso de compilación |
Clang |
$ export {C,CXX}FLAGS+=' -Qunused-arguments'
|
Extracción y Configuración
$ tar jxvf w_scan-20141122.tar.bz2
$ cd w_scan-20141122
$ export CC=clang CXX=clang++
$ ./configure --disable-dependency-tracking --prefix=/usr
|
Explicación de los
comandos
export CC=clang CXX=clang++
:
Si vamos a compilar el paquete con Clang, establecemos
la correspondiente variable de entorno.
--disable-dependency-tracking : Acelera
el tiempo de compilación.
--prefix=/usr : Instala el programa en el directorio principal /usr.
Compilación
Parámetros de compilación opcionales
-j2
: Si tenemos un procesador de doble núcleo (dual-core), y el kernel
está optimizado para el mismo y es SMP, con este parámetro
aumentaremos el número de procesos de compilación
simultáneos a un nivel de 2 y aceleraremos el tiempo de compilación del programa de forma considerable.
-j4
: Lo mismo que arriba pero con procesadores de 4 núcleos (quad-core).
Instalación como root
$ su -c "make install-strip" |
Estadísticas de Compilación e Instalación de w_scan
Estadísticas de Compilación e Instalación de w_scan |
CPU |
AMD Athlon(tm) II X2 260 Processor
|
MHz
|
3214.610
|
RAM
|
2048 MB
|
Sistema de archivos |
XFS |
Compilador |
Clang 3.7.0
|
Parámetros de optimización |
-03 -march=amdfam10 -mtune=amdfam10 -mllvm -polly -mllvm -polly-vectorizer=stripmine -flto |
Parámetros de compilación |
-j2 |
Tiempo de compilación |
5" |
Archivos instalados |
2 |
|
Ocupación de espacio en disco |
312 KB |
Desinstalación
como root
1) MODO TRADICIONAL
En el directorio de compilación ejecutamos el siguiente comando:
2) MODO MANUALINUX
El principal inconveniente del comando anterior es
que
tenemos que tener el directorio de compilación en nuestro
sistema para poder desinstalar el programa. En algunos casos esto
supone muchos megas de espacio en disco. Con el paquete de scripts que
pongo a continuación logramos evitar
el único inconveniente que tiene la compilación
de
programas, y es el tema de la desinstalación de los mismos
sin
la necesidad de tener obligatoriamente una copia de las fuentes
compiladas.
w_scan-20141122-scripts.tar.gz
$ su
# tar zxvf w_scan-20141122-scripts.tar.gz
# cd w_scan-20141122-scripts
# ./Desinstalar_w_scan-20141122 |
Copia de Seguridad
como root
Con este otro script creamos una copia de seguridad de los binarios
compilados, recreando la estructura de directorios de los mismos en un
directorio de copias de seguridad (copibin)
que se crea en el directorio /var. Cuando se haya creado el paquete comprimido de
los binarios podemos copiarlo como usuario a nuestro home
y borrar el que ha creado el script de respaldo, teniendo en cuenta que si queremos
volver a restaurar la copia, tendremos que volver a copiarlo al lugar
donde se ha creado.
$ su
# tar zxvf w_scan-20141122-scripts.tar.gz
# cd w_scan-20141122-scripts
# ./Respaldar_w_scan-20141122 |
Restaurar la Copia de Seguridad
como root
Y con este otro script (que se copia de forma automática cuando
creamos la copia de respaldo del programa) restauramos la copia de
seguridad como root cuando resulte necesario.
$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_w_scan-20141122
|
1) Crear la lista de canales de televisión para MPlayer y SMPlayer
Abrimos una ventana de terminal y ejecutamos lo siguiente:
$ mkdir -p ~/.mplayer
$ w_scan -c ES -M > ~/.mplayer/channels.conf
|
Sustituir 'ES' por '?' para saber el identificador del país de
cada usuario, el parámetro -M se
utiliza para generar la lista de canales compatibles con MPlayer. Y el proceso que se inicia es el siguiente:
w_scan version 20141122 (compiled for DVB API 5.10)
using settings for SPAIN
DVB aerial
DVB-T Europe
frontend_type DVB-T, channellist 4
output format mplayer
output charset 'UTF-8'
Info: using DVB adapter auto detection.
/dev/dvb/adapter0/frontend0
-> DVB-T "Siano Mobile Digital MDTV Receiver": good :-)
Using DVB-T frontend (adapter /dev/dvb/adapter0/frontend0)
-_-_-_-_ Getting frontend capabilities-_-_-_-_
Using DVB API 5.2
frontend 'Siano Mobile Digital MDTV Receiver' supports
INVERSION_AUTO
QAM_AUTO
TRANSMISSION_MODE_AUTO
GUARD_INTERVAL_AUTO
HIERARCHY_AUTO
FEC_AUTO
FREQ (44.25MHz ... 867.25MHz) |
Hasta que va encontrando los canales:
tune to: QAM_AUTO f = 626000 kHz I999B8C999D999T999G999Y999
(time: 05:09) service = Boing (Tele5)
service = Telecinco HD (Tele5)
service = MTV (TELSON)
service = La 10 (La 10)
service = Punto Radio (La 10)
tune to: QAM_64 f = 778000 kHz I999B8C23D0T8G4Y0
(time: 05:23) ----------no signal----------
tune to: QAM_64 f = 778000 kHz I999B8C23D0T8G4Y0 (no signal)
(time: 05:24) ----------no signal----------
tune to: QAM_AUTO f = 666000 kHz I999B8C999D999T999G999Y999
(time: 05:25) service = La 1 (RTVE)
service = La 2 (RTVE)
service = 24h (RTVE)
service = Clan (RTVE)
service = Radio Nacional (RNE)
service = Radio 5 Todo Noticias (RNE) |
2) Crear la lista de canales de televisión para Xine
Abrimos una ventana de terminal y ejecutamos lo siguiente:
$ mkdir -p ~/.xine
$ w_scan -c ES -X > ~/.xine/channels.conf
|
Para más información sobre otras opciones del programa, ejecutar el comando w_scan -h.
Visualización con SMPlayer y Gxine
En SMPlayer nos vamos a Abrir >> TV para seleccionar el canal de tv que deseemos ver, y en Gxine, a Fichero >> DVB,
se cargará un canal y posteriormente nos aparecerán en la
lista de reproducción todos los canales de televisión.
Enlaces
http://wirbel.htpc-forum.de/w_scan/index_en.html >> La web de w_scan.
http://www.linuxtv.org >> Todo lo relacionado con la TV y GNU/Linux lo encontraremos en este sitio.
|