Freebox

De Banane Atomic
Aller à la navigationAller à la recherche

Encodez une vidéo enregistrée

Le freebox enregistre les vidéos au format m2ts.
Ce format peut contenir plusieurs flux audio ainsi que plusieurs sous-titres.
L'idéal est donc de convertir les vidéos enregistrées au format mkv ou mp4.

Conteneur codec vidéo codec audio
.ts (mpeg TS) h264 aac (mpeg4 audio)
1280×1080 - 4000kb/s 48000Hz, stéréo 128 kb/s

m2ts → mkv / mp4

  • Handbrake
    • Coupez le début et la fin de la vidéo: liste déroulante en dessous de Title → choisissez Seconds
    • Réduire la taille du fichier: onglet Video → changez la valeur de RF (0:haute qualité, 51:basse qualité, choisir entre 20 et 30)
  • OpenShot
    • Profil → HD 720p 25fps
    • Débit vidéo → 1700 kb/s
    • Codec audio → aac (128 Kbit/s)
    • Fondus en entrée et en sortie (rapide 2s)

Sous-titres

Il est fastidieux d'extraire les sous-titres car il faudra les traiter au travers d'un OCR.
Il est donc plus facile de télécharger un fichier de sous-titres et de le recaler.

IP privés

  • 192.168.27.14 → le routeur
  • 192.168.27.1 → le boitier TV
  • 192.168.27.33 → freephonie

Services téléphonique

Consulter la messagerie

* * 1

Service de restriction des appels entrants

Vérifier l'état du service: * # 3 5 #
Activer le service: * 3 5 1 #
Désactiver le service: # 3 5 #
Ajouter le dernier numéro reçu à la liste: * 3 5 1 * #
Ajouter un numéro ou un préfixe: * 3 5 1 * NUMERO #
Vider la liste: # 3 5 1 #

Préfixe: Pour le 0123456789, le préfixe est le 01. Pour le 00 33 123456789, le préfixe est le 0033.
Une interface de gestion est disponible sur Free compte ADSL:
rubrique Téléphonie → Gestion de mes services téléphonie → Filtrage des appels sortants.

Renvoi d'appels (abonné occupé ne souhaitant pas être dérangé)

Vérifier l'état du service: * # 2 6 #
Activer le service: * 2 6 #
Désactiver le service: # 2 6 #

Double appel

Donner au correspondant qui cherche à vous joindre une sonnerie d'occupation : R 0
Passer en communication avec le deuxième correspondant, tout en gardant le correspondant actuel en attente : R 2
Passer en communication avec le correspondant en attente en mettant fin à la communication initiale: R 1
Basculer en conférence à 3: R 3
Rétablir la situation antérieure au passage en mode conférence: R 2

Regarder la télé depuis un ordinateur

VLC → Média → Ouvrir un flux réseau → http://mafreebox.freebox.fr/freeboxtv/playlist.m3u
Pour changer de chaîne: Vue → Liste de lecture

Lire les fichiers du PC depuis la Freebox

uShare

/etc/ushare/ushare.conf
USHARE_DIR=/dir1,/dir2
  • Obsolète → plus maintenu
  • Ne lit pas les fichiers FLV et TIF
  • Considère les fichiers mp4 comme des fichiers audio
Bash.svg
# lancement du serveur
sudo systemctl start ushare

Serviio

Interface graphique en Java

Bash.svg
# lancement du serveur
sudo serviio

# lancement de l'interface de configuration
sudo serviio-console

Rygel

Fichier de configuration ~/.config/rygel.conf
~/.local/share/applications/rygel.desktop
[Desktop Entry]
Name=Rygel Media Server
Comment=Home media solution 
Type=Application
Categories=AudioVideo;
Terminal=true
Exec=rygel
Icon=.../Rygel.png
Ne lit pas les fichiers de sous-titres SRT, ni les fichiers TIF
Bash.svg
# GUI pour la configuration du fichier rygel.conf
rygel-preferences
Rygel est exécuté comme un service DBus au démarrage grâce au fichier /usr/share/dbus-1/services/org.gnome.Rygel1.service
Pour désactiver ce comportement il suffit de renommer le fichier en *.off

Universal Media Server

  • non compatible avec tous les formats vidéo
  • impossible de se déplacer dans une vidéo

MiniDLNA

Logiciel permettant la lecture de fichiers audio, vidéo et image situés sur l'ordinateur depuis la freebox.

L'utilisation de minidlna en tant que service pose problème:
  • L'utilisateur par défaut nobody n'a pas accès aux dossiers des utilisateurs (/home/*)
  • Changer l'utilisateur par défaut nécessite de changer les droits d'accès aux dossiers suivant
    • /var/cache/minidlna pour la base données files.db
    • /var/log pour le fichier de log minidlna.log
    • /run/minidlna pour le fichier minidlna.pid
Bash.svg
# démarrage du service
sudo systemctl start minidlna

# accès au log
sudo journalctl -u minidlna

Installation et configuration pour une utilisation locale

Bash.svg
sudo pacman -S minidlna

# création du fichier de configuration local
install -Dm644 /etc/minidlna.conf ~/.config/minidlna/minidlna.conf
# création du dossier local de cache
mkdir ~/.config/minidlna/cache
~/.config/minidlna/minidlna.conf
user=nicolas

media_dir=PV,/home/nicolas/Photos
media_dir=A,/home/nicolas/Musique
media_dir=V,/home/nicolas/Vidéos

friendly_name=Mini DLNA Server

db_dir=/home/nicolas/.config/minidlna/cache
log_dir=/home/nicolas/.config/minidlna

Script de lancement pour un utilisateur

Ce script a été récupéré depuis minidlnad sur AUR
/usr/bin/minidlnad4user
#!/bin/bash
# Start, stop, restart, and rescan a MiniDLNA daemon

cnffile="/home/$USER/.config/minidlna/minidlna.conf"
pidfile="/home/$USER/.config/minidlna/minidlna.pid"
logfile="/home/$USER/.config/minidlna/minidlna.log"

# Program check
hash minidlnad 2>&- || \
  { echo >&2 " Program required \"minidlna\" not installed."; exit 1; }

# Check if configuration exists
[ -f "$cnffile" ] || { echo " No config found at \"$cnffile\"."; exit 0; }

dmn_exst () { # existence check
  if [ -s "$pidfile" ]; then
  	pidflvl=$(pgrep -F "$pidfile")           # pid file value
		pidproc=$(pgrep -x minidlnad | head -n 1) # pid process value
  	[[ $pidflvl = $pidproc ]] && echo 1
  fi
}

dmn_strt () {
  minidlnad -f "$cnffile" -P "$pidfile" > "$logfile" 2>&1
  echo " Started MiniDLNA daemon"
}

dmn_stop () {
    kill $(pgrep -F "$pidfile") && sleep 2
    echo " Stopped MiniDLNA daemon"
}

dmn_rscn () {
  minidlnad -f "$cnffile" -P "$pidfile" -R > "$logfile" 2>&1
  echo " Rescaning and starting MiniDLNA daemon (may take a few minutes)"
}

scr_help () {
  echo " ${0##*/} [start|stop|restart|rescan] - actions for the MiniDLNA daemon"
}

case $1 in
  start   ) # Start daemon
            [ $(dmn_exst) ] && \
              { echo " MiniDLNA daemon already running"  ; exit 1; }
            dmn_strt ;;
  stop    ) # Stop daemon
            [ $(dmn_exst) ] || \
              { echo " MiniDLNA daemon process not found"; exit 0; }
					  dmn_stop ;;
  restart ) # Restart daemon
            [ $(dmn_exst) ] && dmn_stop
            dmn_strt ;;
  rescan  ) # Rescan for new files (file detection only works when running)
            [ $(dmn_exst) ] && dmn_stop
            dmn_rscn ;;
  *       ) # Display usage if no parameters given
            scr_help
esac
~/.local/share/applications/minidlnad.desktop
[Desktop Entry]
Name=MiniDLNA
Comment=Server to stream media over network
Type=Application
Categories=AudioVideo;
Exec=/usr/bin/minidlnad4user start
Terminal=false
StartupNotify=false
Icon=.../DLNA.svg

FreeMi

Partage des fichiers de l'ordinateur depuis la FreeBox TV.
Téléchargez le binaire FreeMi, et le lancer : mono FreeMi.Console.exe

Accès depuis la FreeBox : Disques → Mes disques → FreeMi
/opt/FreeMi/user.config
<AllowDeletion>True</AllowDeletion>

<Entry xsi:type="Folder">
  <Children />
  <MediaKind>Audio</MediaKind>
  <Path>/home/nicolas/Data/Musique</Path>
</Entry>

<Entry xsi:type="Folder">
  <Children />
  <MediaKind>Image</MediaKind>
  <Path>/home/nicolas/Data/Images</Path>
</Entry>

<Entry xsi:type="Folder">
  <Children />
  <MediaKind>Video</MediaKind>
  <Path>/home/nicolas/Data/Vidéos</Path>
</Entry>

<Entry xsi:type="Podcast">
  <Label>Podcasts</Label>
  <Path>http://freemiupnp.fr/download/podcasts.xml</Path>
</Entry>

<Entry xsi:type="FileExplorer" />
(FreeMi:17200): Gtk-WARNING **: Failed to set text from markup due to error parsing markup: 
Erreur à la ligne 2, caractère 233 : 
Caractère anormal « > », un caractère « = » est requis après le nom de l'attribut « unknown » de l'élément « filename »

Monter le disque de la freebox

samba

Bash.svg
sudo pacman -S smbclient

Activer les partages windows depuis la freebox

Le disque est directement accessible depuis smb://freebox/disque%20dur
Bash.svg
# créer le dossier de montage
sudo mkdir /media/freebox

sudo mount -t cifs //mafreebox.freebox.fr/Disque\ dur /media/freebox -o guest,cache=none,uid=1000,gid=1000
Nécessite l'installation du paquet cifs-utils
Option
_netdev ne pas tenter de monter avant que le réseau ne soit disponible car le système à monter n'est accessible que par le réseau
guest  ne pas demander de mot de passe
cache=none mode de cache:
none → pas d'utilisation du cache
strict (défaut) → utilisation du cache si le client possède un oplock
loose → utilisation du cache, si le client ne possède pas d'oplock il tentera de vider le cache
uid=1000  user id. Un numéro ou un nom peut être utilisé. 1000 correspond au premier utilisateur créé.

Connaitre l'id d'un utilisateur: id utilisateur
Liste des utilisateurs avec leurs id: cat /etc/passwd

gid=1000 group id.
iocharset=utf8 jeu de caractères à utiliser pour la conversion entre les caractères 8 bits et 16 bits Unicode (défaut: iso8859-1)
file_mode=0777 droits d'accès aux fichiers
dir_mode=0777 droits d'accès aux dossiers

fstab

/etc/fstab
//mafreebox.freebox.fr/Disque\040dur   /media/freebox   cifs   _netdev,guest,cache=none,uid=http,gid=http   0   0
Bash.svg
# Monter tous les éléments du fichier fstab
sudo mount -a
Le montage échoue au démarrage car il est exécuté trop tôt: avant que le réseau ne soit disponible. Mais il fonctionne avec mount -a.
L'utilisation de NetworkManager permet d'attendre que le réseau soit disponible (NetworkManager-wait-online) avant d'effectuer le montage.
Erreur sans NetworkManager: le réseau n'est pas encore activé
systemd[1]: Mounting /chemin/dossier...
systemd[1]: Unit chemin-dossier.mount entered failed state.

Erreur avec NetworkManager: réseau activé
systemd[1]: Mounting /chemin/dossier...
mount[276]: mount error: could not resolve address for mafreebox.freebox.fr: Unknown error
systemd[1]: chemin-dossier.mount mount process exited, code=exited status=1
systemd[1]: Failed to mount /chemin/dossier.
systemd[1]: Dependency failed for Remote File Systems.
systemd[1]: Unit chemin-dossier.mount entered failed state.
Pour corriger ce problème de résolution d'adresse il faut remplacer mafreebox.freebox.fr par 192.168.0.254

ftp

Bash.svg
sudo pacman -S curlftpfs

# vérifier que le module fuse est bien chargé
lsmod | grep fuse
# dans le cas contraire
sudo modprobe fuse

curlftpfs ftp-user:ftp-pass@ip-ftp-server /mnt/mount_folder/
# -o allow_other pour autoriser l'accès aux autres utilisateurs que root

# démonter
fusermount -u /mnt/mount_folder
Si le mot de passe contient des caractères qui posent problème, il faut l'entourer de guillemets simple → 'password'
/etc/ftab
curlftpfs#ftp_user:ftp_password@ip-ftp-server    /mnt/mount_folder    fuse    allow_other,uid=1000,gid=1000,umask=0022    0    0

MKV

La FreeBox ne lit pas les sous-titres VobSub dans les vidéos MKV.

Formats et codecs supportés

Les formats audios et vidéos reconnus

  • AU
  • AVI
  • FLV
  • Matroska
  • MOV
  • MP4
  • MPEG-PS
  • MPEG-TS;
  • OGG
  • WAV

Les codecs vidéos

  • H.264
  • MPEG2
  • MS-MPEG4 (DivX 3)
  • MPEG4 (DivX 4, DivX 5, DivX 6, Xvid)
  • VC1

Liste des formats et codecs multimédias supportés par la Freebox Revolution

Débloquer le port 25

Nécessaire pour pouvoir envoyer des emails depuis un serveur local.
https://subscribe.free.fr/login → Ma Freebox → Blocage du protocole SMTP sortant

Reverse DNS

Permet d'associer une IP à une adresse.
Se connecter à l'interface web → Ma Freebox → Personnaliser mon reverse DNS

Dans la configuration du DNS, un champs de type A doit lier l'adresse du reverse à l'IP
Bash.svg
# test du reverse DNS
nslookup x.x.x.x
# résultat: name = nom.mon-domaine.fr.

Mon reverse actuel