Transcodificar canales enigma2 en linux usando ffmepg

La mayoria de los receptores enigma2 permiten realizar streaming transcodificado de un canal a la vez (debido a las limitaciones del SOC) y en ocasiones algunos modelos de receptores enigma2 no permiten la transcodificacion, durante este articulo vamos a desarrollar como transcodificar un canal enigma2 mediante software usando ffmpeg y e2transcoder, para ello usando un pc con sistema operativo linux.

Preparacion de entorno

En primer lugar necesitamos instalar en nuestro pc con sistema operativo linux los recursos necesarios para ello ejecutamos:

sudo apt update

1

sudo apt install ffmpeg apache2 libav-tools php libapache2-mod-php sqlite php-sqlite3 php-xml

2

Ahora creamos una carpeta donde realizaremos la descarga de e2transcoder, en este ejemplo:

mkdir selva

3

Nos situamos en el directorio creado

cd selva

4

Descargamos e2transcoder

wget http://e2transcoder.sharetext.net/wp-content/uploads/files/enigma2_transcoder_072.zip

6

Descomprimimos el archivo descargado

unzip enigma2_transcoder_072.zip

7

Para finalizar debemos mover el contenido del directorio web descargado a /var/www/html para ello usamos el comando

cp -r /home/jungle-team/selva/DB/web/* /var/www/html

11

Configuracion e2transcoder

Una vez hemos preparado el entorno, debemos realizar antes de configurar el acceso a nuestro receptor enigma2 una pequeña modificacion para usar la libreria sqlite3.so, para ello accedemos al directorio /usr/lib/php y en este ejemplo observamos que tenemos la carpeta 20151012 que es la que contiene la libreria mencionada

21

Debemos añadir la ruta donde se halla en el archivo php.ini que se encuentra en /etc/php/xx/apache2, donde xx puede variar segun la version instalada

24

Una vez abrimos el archivo buscamos sqlite3.extension_dir = y añadimo la ruta donde se hallaba la libreria sqlite3.so, en este caso pues quedaria asi:

30

Ahora ya podemos comenzar la configuracion del acceso a nuestro receptor enigma2, para ello, en este ejemplo vamos a usar la configuracion linux, por lo que ejecutamos el siguiente comando:

mv /var/www/html/admin/config_linux.php /var/www/html/admin/config.php

34

Ahora abrimos el archivo /var/www/html/admin/config.php con un editor de texto y observaremos que es de la siguiente manera:

//mandatory configuration
$conf[«username»] = «root»; //username to access DB transcoder
$conf[«password»] = «password»; //password to access DB transcoder
$conf[«callreceiver»] = 0; // if enigma2 receiver is not used must be 0, but it is not mandatory if receiver is used
$conf[«stream_dir»]=»/opt/web/www/video/stream/»; //full path of stream dir
$conf[«db_stream_port»]=»8001″; //enigma2 stream port
$conf[«command»] = «/opt/ff/ffmpeg»; // path of avconv or ffmpeg executable , if avconv of ffmpeg installed from package only need executable name
//$conf[«command»] = «avconv»; // path of avconv or ffmpeg executable , if avconv of ffmpeg installed from package only need executable name
$conf[«stream_web_dir»] = «/video/stream/»; //web url folder of stream

//enigma2 receiver configuration
$conf[«db_username»] = «root»; //enigma2 user name
$conf[«db_password»] = «password»; //enigma2 password
$conf[«db_ip»] =»192.168.2.197″; //enigma2 IP
$conf[«db_web_port»]=»80″; //enigma2 WEB interface port

// Advanced settings
$conf[«parameters»] = «-i {stream_url} -c:a aac -q:a 1 -strict experimental -c:v libx264 -crf {crf} -profile:v baseline -filter:v yadif -vf \»scale=trunc(oh*a/2)*2:min({width} \,iw)\» -r 24 -map 0:a:{audio_id} -map 0:v:0 -hls_time 10 -hls_wrap 6 {stream_dir}ystream.m3u8″;
$conf[«database»] = «db/dbtranscode.db» ; //sqlite database path
$conf[«stream_log»] = «/tmp/stream.log» ; //full path of avconv or ffmpeg log
//Bellow this line do not edit
$conf[«command»] = $conf[«command»] . » » . $conf[«parameters»];

Realizamos los siguientes cambios:

//mandatory configuration
$conf[«username»] = «jungle-team»; //usuario de acceso al panel web
$conf[«password»] = «45464546»; //contraseña de acceso al panel
$conf[«callreceiver»] = 0; // if enigma2 receiver is not used must be 0, but it is not mandatory if receiver is used
$conf[«stream_dir»]=»/var/www/html/stream/»; //full path of stream dir
$conf[«db_stream_port»]=»8001″; //enigma2 stream port
$conf[«command»] = «/usr/bin/ffmpeg»; // path of avconv or ffmpeg executable , if avconv of ffmpeg installed from package only need executable name
//$conf[«command»] = «avconv»; // path of avconv or ffmpeg executable , if avconv of ffmpeg installed from package only need executable name
$conf[«stream_web_dir»] = «/stream/»; //web url folder of stream

//enigma2 receiver configuration
$conf[«db_username»] = «root»; //usuario enigma2 que es root
$conf[«db_password»] = «jungle»; //password de nuestro receptor
$conf[«db_ip»] =»192.168.1.45″; //ip de nuestro receptor
$conf[«db_web_port»]=»80″; //puerto acceso nuestro receptor

// Advanced settings
$conf[«parameters»] = «-i {stream_url} -c:a aac -q:a 1 -strict experimental -c:v libx264 -crf {crf} -profile:v baseline -filter:v yadif -vf \»scale=trunc(oh*a/2)*2:min({width} \,iw)\» -r 24 -map 0:a:{audio_id} -map 0:v:0 -hls_time 10 -hls_wrap 6 {stream_dir}ystream.m3u8″;
$conf[«database»] = «db/dbtranscode.db» ; //sqlite database path
$conf[«stream_log»] = «/tmp/stream.log» ; //full path of avconv or ffmpeg log

Una vez realizados los cambios guardamos el archivo.

50

Ahora en nuetro navegador web debemos poner la ip de nuestro pc ya sea la que tiene en red o 127.0.0.1 + /index.php, ejemplo: en nuestro caso la ip de red del pc es 192.168.1.30, pues ponemos en el navegador: 192.168.1.30/index.php y nos aparecera para introducir usuario y password que configuremos en la opcion mandatary configuration

51

Una vez logueados accedemos a la pestaña setting, debemos pulsar sobre el icono reload playlist e2 para cargar la lista canales de nuestro receptor enigma2, y seleccionar la resolucion de la transcodificacion

52

y tras ello nos aparecera que ha sido leido los favoritos de nuestro receptor enigma2

55

Ahora seleccionamos el canal a transcodificar, para ello pulsamos sobre channels seleccionamos el canal del favorito que deseeamos en este caso cuatro hd, y observaremos que tras unos segundos nos aparecera dicho canal en runnig que quiere decir que ya esta siendo transcodificado

57

Ahora simplemente para visualizar dicho canal transcodificado debemos poner en este ejemplo en vlc la siguiente url:

http://192.168.1.30/stream/ystream.m3u8

60

Y observaremos como visionamos el canal transcodificado

61

 

 

Related posts

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: