Aller au contenu principal
Sujet: [TUTO] Debian 8.5 + Tvheadend 4.1 (git) + transcoding + SiliconDust HDHomeRun (f (Lu 2894 fois) sujet précédent - sujet suivant
0 Membres et 1 Invitédans ce sujet

[TUTO] Debian 8.5 + Tvheadend 4.1 (git) + transcoding + SiliconDust HDHomeRun (f

Tutorial expliquant comment installer et configurer Tvheadend 4.1 (build from Github) sous Debian 8.5 avec la fonctionnalité de transcoding et le double tuner TNT-Cable SiliconDust HDHomeRun (HDHR4-2DT)

Bonjour à tous ! C'est mon premier tuto concernant ce super soft : Tvheadend.
Je vais essayer de vous expliquer comment créer un serveur backend Tvheadend from scratch.

Installation et configuration de Debian

Préparation de la clé USB sous Mac

Télécharger le fichier ISO debian-*-amd64-netinst.iso
Copier l'ISO sur la clé grace à unetbootin
Bootez sur la clé sur votre serveur

Installation de debian

Choisissez installation standard
Piur la selection des softwares: décochez tout excepté SSH server et Standard system utilities

Configuration de Debian

Update / Upgrade


su root
apt-get update
apt-get upgrade


Ajout de la commande "sudo"


su root
apt-get install sudo
adduser lamda_user sudo


Changement du port SSH par défaut


sudo nano /etc/ssh/sshd_config

>Port XXX (ce que vous voulez)


sudo /etc/init.d/ssh restart


Réduction du temps d'attente du menu grub


sudo nano /etc/default/grub

> GRUB_TIMEOUT = 0 (au démarrage touche Echap pour accéder au menu)


sudo update-grub


Installation de pm-utils


sudo apt-get install pm-utils


Adresse IP fixe


sudo nano /etc/network/interfaces

> iface eth0 inet static
> address 192.168.XX.XX
> netmask 255.255.255.0
> gateway 192.168.1.1



sudo nano /etc/resolv.conf

> nameserver 192.168.1.1


sudo /etc/init.d/networking restart


Tvheadend build, installation et configuration

Packages préliminaires


sudo apt-get update
sudo apt-get install build-essential git pkg-config libssl-dev bzip2 wget cmake
sudo apt-get install libavahi-client-dev zlib1g-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavresample-dev libavfilter-dev  libav-tools liburiparser1 liburiparser-dev debhelper libcurl4-gnutls-dev liba52-0.7.4-dev


Build et installation


cd /usr/src
sudo git clone https://github.com/tvheadend/tvheadend.git
cd tvheadend
sudo ./configure


> si nécessaire
>
sudo ./configure --enable-ffmpeg_static --enable-hdhomerun_client --enable-hdhomerun_static



sudo make -j8
sudo make install


Création de l'utilisateur hts user dan see groupe video

Nous créons un utilisateur spécifique à Tvheadend dans le groupe video. Le groupe video est important car il permet à Tvheadend de contrôler le tuner TNT.


sudo groupadd video
sudo adduser hts
sudo usermod -a -G video hts


> Optionnel
>
sudo adduser hts sudo


Création du daemon

Le daemon nous permet d'utiliser les commandes sudo service tvheadend start et sudo service tvheadend stop. De plus nous pouvons demander à Tvheadend de démarrer avec le système.

> fichier tvheadend_daemon
>
 #! /bin/sh[/size]
### BEGIN INIT INFO
# Provides:          tvheadend
# Required-Start:    $local_fs $remote_fs udev
# Required-Stop:     $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO

# Author: Andreas Öman
# Modify by: Sylvain Cecchetto

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DESC="Tvheadend"
NAME=tvheadend
DAEMON=/usr/local/bin/$NAME
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

TVH_USER=hts
TVH_GROUP=video
TVH_ENABLED=1

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Configure command line options
[ "$TVH_ENABLED" = "1" ] || exit 0

ARGS="-f"
[ -z "$TVH_USER"      ] || ARGS="$ARGS -u $TVH_USER"
[ -z "$TVH_GROUP"     ] || ARGS="$ARGS -g $TVH_GROUP"
[ -z "$TVH_CONF_DIR"  ] || ARGS="$ARGS -c $TVH_CONF_DIR"
[ -z "$TVH_ADAPTERS"  ] || ARGS="$ARGS -a $TVH_ADAPTERS"
[ "$TVH_IPV6" = "1"   ] && ARGS="$ARGS -6"
[ -z "$TVH_HTTP_PORT" ] || ARGS="$ARGS --http_port $TVH_HTTP_PORT"
[ -z "$TVH_HTTP_ROOT" ] || ARGS="$ARGS --http_root $TVH_HTTP_ROOT"
[ -z "$TVH_HTSP_PORT" ] || ARGS="$ARGS --htsp_port $TVH_HTSP_PORT"
[ -z "$TVH_ARGS"      ] || ARGS="$ARGS $TVH_ARGS"
[ "$TVH_DEBUG" = "1"  ] && ARGS="$ARGS -s"

# Load the VERBOSE setting and other rcS variables
[ -f /etc/default/rcS ] && . /etc/default/rcS

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start()
{
   # Return
   #   0 if daemon has been started
   #   1 if daemon was already running
   #   2 if daemon could not be started
       udevadm settle
   start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
       || return 1
   start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
       $ARGS \
       || return 2
}

#
# Function that stops the daemon/service
#
do_stop()
{
   # Return
   #   0 if daemon has been stopped
   #   1 if daemon was already stopped
   #   2 if daemon could not be stopped
   #   other if a failure occurred
   start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
   RETVAL="$?"
   [ "$RETVAL" = 2 ] && return 2
   # Many daemons don't delete their pidfiles when they exit.
   rm -f $PIDFILE
   return "$RETVAL"
}


case "$1" in
 start)
   [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
   do_start
   case "$?" in
       0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
       2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
   esac
   ;;
 stop)
   [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
   do_stop
   case "$?" in
       0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
       2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
   esac
   ;;
 restart|force-reload)
   #
   # If the "reload" option is implemented then remove the
   # 'force-reload' alias
   #
   log_daemon_msg "Restarting $DESC" "$NAME"
   do_stop
   case "$?" in
     0|1)
       do_start
       case "$?" in
           0) log_end_msg 0 ;;
           1) log_end_msg 1 ;; # Old process is still running
           *) log_end_msg 1 ;; # Failed to start
       esac
       ;;
     *)
         # Failed to stop
       log_end_msg 1
       ;;
   esac
   ;;
 status)
       status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
       ;;
 *)
   echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
   exit 3
   ;;
esac

:


> Copier l'ensemble du fichier tvheadend_daemon ci-dessus dans le fichier /etc/init.d/tvheadend
>
sudo nano /etc/init.d/tvheadend



sudo chmod 755 /etc/init.d/tvheadend


> Si vous voulez Tvheadend au lancement de Debian
>
sudo update-rc.d tvheadend defaults


Premier lancement

Le premier lancement est particulier car il faut démarrer Tvheadend sans le contrôle d'accès utilisateur. En suivant le wizard il vous sera possible de créer les utilisateurs permettant l'accès future à Tvheadend.


su hts
/usr/local/bin/tvheadend -C


Maintenant ouvrez un navigateur sur la page tvheadend_ip:9981 et suivez le wizard. Une fois le wizard terminé revenez sur votre terminal.

> Pour tuer le process Tvheadend.
Ctrl+C


Maintenant lançons Tvheadend en tant que daemon.

> To start Tvheadend
sudo service tvheadend start


Divers

Tvheadend log


sudo tail -f /var/log/syslog | grep tvheadend


Comments

J'espère que ce tuto pourra aider ! Un grand merci aux développeurs Tvheadend.
Si vous avez des questions ou autres suggestions surtout n'hésitez pas  :smiley:

Vous pouvez trouver les fichiers, tutos et autres sur mon Github :

https://github.com/SylvainCecchetto/Notes-guides-tutorials-and-other-tips

Re : [TUTO] Debian 8.5 + Tvheadend 4.1 (git) + transcoding + SiliconDust HDHomeRun (f

Répondre #1
Salut, et merci pour ton tuto.
Je cherche des infos afin de monter un backend Tvheadend sous debian jessie sur un home serveur avec 2 front sur kodi

Je suis pas sur d'avoir tout bien compris, tu branche le HDHR4-2DT sur un ordi/serveur tournant sous debian, ou tu install debian sur le HDHR4-2DT (je vois dans les spécifications qu'il a un system d'exploitation sous android.) Et je ne le trouve pas dans la liste des DVB-T compatible linux https://www.linuxtv.org/wiki/index.php/DVB-T_USB_Devices


Merci!

Re : [TUTO] Debian 8.5 + Tvheadend 4.1 (git) + transcoding + SiliconDust HDHomeRun (f

Répondre #2
Bonjour k6tm,

Alors ce n'est pas tout à fait ça. En fait le HDHR4 dispose d'un port Ethernet et tu le branches directement sur ton routeur/box. Il apparait comme un équipement réseau à part entière.
En suit sur ton serveur debian/linux tu installes TVheadend et tu verras apparaitre directement le HDHR4 dans la liste des équipements.
La seule chose primordiale c'est que ton PC serveur et ton HDHR soient tous les deux sur le même réseau local. En gros il suffit qu'ils soient tous les deux connectés sur la même box.

N'hésites pas si tu as d'autres questions ou si je ne suis pas clair.

 
Simple Audio Video Embedder