Archive

Archives de l'auteur

Linux Mint Debian Edition – Impossible de partager un dossier

Aujourd’hui, en voulant partager un dossier depuis mon portable sous LMDE, j’ai rencontré un petit soucis :

Pour résoudre ce problème il faut tout d’abord lancer nautilus en tant que root :
sudo nautilus

Puis aller dans /var/lib/samba
Faire un clic droit sur usershares, choisir propriétés.
Dans l’onglet Permissions mettre Autres à « Création et suppression des fichiers »

Une fois ceci fait, le partage de dossier fonctionnera sans problème.

Linux Mint Debian Edition – Installer un serveur UPnP

Aujourd’hui j’ai voulu installer un serveur UPnP sur mon portable qui est sous Linux Mint Debian Edition.
Je pense tout naturellement à ushare puisqu’il fonctionne très bien sur mon desktop sous Linux Mint 9.
Je me lance donc dans l’installation :

sudo apt-get update
sudo apt-get install ushare

A ce moment je reçois un message d’erreur :
E: Impossible de trouver le paquet ushare

OK apparemment le paquet n’est pas dans les sources…
Pas grave, j’ai gardé les notes que j’avais faites lors de la précédente installation.
Sur ces notes je retrouve le dépôt à ajouter :
deb http://www.geexbox.org/debian/ unstable main
Visiblement ce dépôt est pour Debian, cela tombe bien car comme LMDE est basée sur Debian, il est fortement conseillé de ne pas utiliser des paquets ubuntu.

J’édites donc mon sources.list :
sudo /etc/apt/sources.list

Je rajoutes la ligne suivante à la fin du fichier :
deb http://www.geexbox.org/debian/ unstable main

Ensuite je réactualise la liste des paquets disponibles
sudo apt-get update

Et là il me dit :
W: Impossible de récupérer http://www.geexbox.org/debian/dists/unstable/main/binary-i386/Packages.gz 404 Not Found
E: Le téléchargement de quelques fichiers d’index a échoué, ils ont été ignorés, ou les anciens ont été utilisés à la place.

Je réessayes une fois => même résultat.

Après quelques recherches sur internet, je vois que je ne suis pas le seul et que le dépôt a dû être supprimé.
Je le supprimes donc de mon sources.list et me lance dans l’installation de mediatomb, l’autre serveur dlna que j’avais reperé lors de mes recherches il y a quelques mois.
sudo apt-get update
sudo apt-get install mediatomb

Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
Les paquets supplémentaires suivants seront installés :
libffmpegthumbnailer4 libjs-prototype libmozjs2d libmysqlclient16 mediatomb-common mediatomb-daemon mysql-common
Les NOUVEAUX paquets suivants seront installés :
libffmpegthumbnailer4 libjs-prototype libmozjs2d libmysqlclient16 mediatomb mediatomb-common mediatomb-daemon mysql-common
0 mis à jour, 8 nouvellement installés, 0 à enlever et 15 non mis à jour.
Il est nécessaire de prendre 3 641ko dans les archives.
Après cette opération, 8 700ko d’espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer [O/n] ?

Il m’indique donc les dépendances à ajouter, je lui répond oui et l’installation se poursuit :

ATTENTION : les paquets suivants n’ont pas été authentifiés.
libffmpegthumbnailer4 libjs-prototype libmozjs2d mysql-common libmysqlclient16 mediatomb-common mediatomb-daemon mediatomb
Avertissement d’authentification ignoré.
Réception de : 1 http://ftp.debian.org/debian/ testing/main libffmpegthumbnailer4 i386 2.0.2-1+b1 [52,2kB]
Réception de : 2 http://ftp.debian.org/debian/ testing/main libjs-prototype all 1.6.1-1 [35,0kB]
Réception de : 3 http://ftp.debian.org/debian/ testing/main libmozjs2d i386 1.9.1.13-1 [491kB]
Réception de : 4 http://ftp.debian.org/debian/ testing/main mysql-common all 5.1.49-1 [69,9kB]
Réception de : 5 http://ftp.debian.org/debian/ testing/main libmysqlclient16 i386 5.1.49-1 [1 933kB]
Réception de : 6 http://ftp.debian.org/debian/ testing/main mediatomb-common i386 0.12.0~svn2018-6.1 [1 016kB]
Réception de : 7 http://ftp.debian.org/debian/ testing/main mediatomb-daemon all 0.12.0~svn2018-6.1 [23,5kB]
Réception de : 8 http://ftp.debian.org/debian/ testing/main mediatomb all 0.12.0~svn2018-6.1 [21,1kB]
3 641ko réceptionnés en 2s (1 471ko/s)
Sélection du paquet libffmpegthumbnailer4 précédemment désélectionné.
(Lecture de la base de données… 106898 fichiers et répertoires déjà installés.)
Dépaquetage de libffmpegthumbnailer4 (à partir de …/libffmpegthumbnailer4_2.0.2-1+b1_i386.deb) …
Sélection du paquet libjs-prototype précédemment désélectionné.
Dépaquetage de libjs-prototype (à partir de …/libjs-prototype_1.6.1-1_all.deb) …
Sélection du paquet libmozjs2d précédemment désélectionné.
Dépaquetage de libmozjs2d (à partir de …/libmozjs2d_1.9.1.13-1_i386.deb) …
Sélection du paquet mysql-common précédemment désélectionné.
Dépaquetage de mysql-common (à partir de …/mysql-common_5.1.49-1_all.deb) …
Sélection du paquet libmysqlclient16 précédemment désélectionné.
Dépaquetage de libmysqlclient16 (à partir de …/libmysqlclient16_5.1.49-1_i386.deb) …
Sélection du paquet mediatomb-common précédemment désélectionné.
Dépaquetage de mediatomb-common (à partir de …/mediatomb-common_0.12.0~svn2018-6.1_i386.deb) …
Sélection du paquet mediatomb-daemon précédemment désélectionné.
Dépaquetage de mediatomb-daemon (à partir de …/mediatomb-daemon_0.12.0~svn2018-6.1_all.deb) …
Sélection du paquet mediatomb précédemment désélectionné.
Dépaquetage de mediatomb (à partir de …/mediatomb_0.12.0~svn2018-6.1_all.deb) …
Traitement des actions différées (« triggers ») pour « man-db »…
Traitement des actions différées (« triggers ») pour « menu »…
Traitement des actions différées (« triggers ») pour « gnome-menus »…
Traitement des actions différées (« triggers ») pour « desktop-file-utils »…
Paramétrage de libffmpegthumbnailer4 (2.0.2-1+b1) …
Paramétrage de libjs-prototype (1.6.1-1) …
Paramétrage de libmozjs2d (1.9.1.13-1) …
Paramétrage de mysql-common (5.1.49-1) …
Paramétrage de libmysqlclient16 (5.1.49-1) …
Paramétrage de mediatomb-common (0.12.0~svn2018-6.1) …
Paramétrage de mediatomb-daemon (0.12.0~svn2018-6.1) …
insserv: warning: script ‘K01mintsystem’ missing LSB tags and overrides
insserv: warning: script ‘mintsystem’ missing LSB tags and overrides
Starting upnp media server: mediatomb.
Paramétrage de mediatomb (0.12.0~svn2018-6.1) …
Traitement des actions différées (« triggers ») pour « menu »…

Quelques secondes après, mediatomb est donc installé sur mon PC

Je le lance via le menu de mint.
Firefox se lance et m’affiche cette page :
mediatomb

Après un petit tour sur Internet, je vois que la configuration de mediatomb se fait depuis le fichier : /etc/default/mediatomb

Donc je l’édites par la commande :
sudo nano /etc/default/mediatomb

Le fichier de configuration initial s’affiche :

# Defaults for MediaTomb initscript
# sourced by /etc/init.d/mediatomb
# installed at /etc/default/mediatomb by the maintainer scripts

#
# This is a POSIX shell fragment
#

# Set whether the daemon should be started. Set this value to anything
# but ‘yes’ to enable the daemon
NO_START= »no »

# Additional options that are passed to the daemon.
OPTIONS= »"

# The network interface for MediaTomb to bind to and for which the multicast
# routing entry should be added; «  » if the route shouldn’t be added at all.
# For example: INTERFACE= »eth0″
INTERFACE= »"

# The route command and arguments to be used if INTERFACE is defined.
# These variables should normally be left unmodified.
ROUTE_ADD= »/sbin/route add -net 239.0.0.0 netmask 255.0.0.0″
ROUTE_DEL= »/sbin/route del -net 239.0.0.0 netmask 255.0.0.0″

# The user and group that MediaTomb should be run as.
USER= »mediatomb »
GROUP= »mediatomb »

Dans ce fichier, il faut que option INTERFACE doit être remplie avec le nom de l’interface réseau qui est utilisée pour relier le PC au réseau.
Dans mon cas, ma carte wifi se trouve en eth2 donc je mets INTERFACE= »eth2″.

Ensuite je démarre le serveur par la commande :
sudo /etc/init.d/mediatomb start

Malheureusement, firefox m’affiche toujours la même chose.

Je décides donc d’aller dans /etc/mediatomb, pour voir si il y a un autre fichier à configurer.
cd /etc/mediatomb
La commande ls me dit qu’il n’y a qu’un seul fichier : config.xml
Vu le nom je dit qui doit y avoir effectivement quelques paramètres à configurer dans ce fichier.
Donc :
sudo nano config.xml
Et là, à la 8ème ligne je vois ui enabled= »no »
Vu que le message d’erreur affiché dans Firefox est « MediaTomb UI is disabled », il doit avoir un lien avec cette option.
Je décides de passer cette option à yes et de relancer mon serveur.
sudo /etc/init.d/mediatomb restart

Après avoir relancé Firefox à l’adresse http://127.0.0.1:49152, voilà ce qui s’affiche :

Là il ne reste plus qu’à ajouter les fichiers dans la base de données et les fichiers seront immédiatement visibles à partir d’un lecteur UPnP comme la Freebox HD par exemple.

La commande SCP

La commande scp permet d’envoyer des fichiers entre ordinateurs sous Linux.
Il faut que ssh soit installé sur les deux PC pour la commande scp puisse fonctionner.

La syntaxe de la commande scp est la suivante :

  • Pour envoyer un fichier de la machine locale vers une machine distante :
    scp fichier login@machine_distante:chemin
  • Pour copier un fichier du PC distant dans le répertoire courant local :
    scp login@machine_distante:chemin/fichier chemin_local
  • Pour copier un répertoire du PC distant dans le répertoire courant local :
    scp -r login@machine_distante:chemin/dossier chemin_local
  • Categories: commandes Linux Tags:

    Rotation d’une vidéo avec mencoder

    Quand on prend des vidéos avec son appareil photo sans réfléchir, il arrive que l’on prenne son appareil en mode portrait et du coup la vidéo, une fois sur le PC ou la télévision, se retouve dans le mauvais sens.

    Plutôt que de basculer l’écran sur le côté, il suffit de lancer une commande avec mencoder…

    Pour tourner dans le sens horaire :
    mencoder video_originale.mpg -o video_sortie.mpg -oac copy - ovc lavc -vf rotate=1

    Pour tourner dans le sens anti-horaire :
    mencoder video_originale.mpg -o video_sortie.mpg -oac copy - ovc lavc -vf rotate=2

    Categories: Multimédia Tags: ,

    Gestion des processus sous GNU/Linux

    Lister les processus

    Pour lister les processus : ps
    ps liste seulement les processus actifs de l’utilisateur courant dans le terminal courant.
    Pour voir tous les processus de tous les utilisateurs de la machine, il faut taper la commande ps -aux

    Afin de visualiser les dépendances des processus, il faut utiliser la commande pstree

    La commande kill

    kill -5 PID tue le processus déterminé par son PID
    si kill -5 PID échoue, il faut alors utiliser la manière forte : kill -9 PID

    Categories: commandes Linux Tags:

    Compression / Décompression en ligne de commande

    Archives tar.bz2

    Compression

    tar cjfv archive.tar.bz2 fichier1 fichier2 destination/

    Décompression

    tar xjfv archive.tar.bz2

    Archives tar.gz

    Compression

    tar czfv archive.tar.gz fichier1 fichier2 destination/

    Décompression

    tar xzf archive.tar.gz

    Couper une vidéo avec mencoder

    Quand j’enregistre quelque chose à la télévision, je prévois toujours que le programme puisse commencer en avance (plutôt rare mais on ne sait jamais…) et finir en retard. Je me retrouve donc avec des fichiers vidéos contenant la fin du programme précédent au début et le commencent du programme suivant à la fin.
    Il me faut donc couper la vidéo au début et à la fin.

    Couper le début d’une vidéo

    Imaginons qu’il y ait 12 minutes et 14 secondes à couper au début de cette vidéo.
    La commande serait alors :
    mencoder -ss 00:12:14 fichier.avi -oac copy -ovc copy -o fichier_tmp.avi

    Explications :

    • -ss indique l’endroit où commence la vidéo en hh:mm:ss
    • -oac copy copie le flux audio tel quel
    • -ovc copy copie le flux vidéo tel quel
    • -o fichier_tmp.avi indique le nom du fichier de sortie. Ce fichier ne sera qu’un fichier temporaire puisqu’il nous faudra encore couper la fin de la vidéo.

    Couper la fin d’une vidéo

    Imaginons que le programme enregistré dure 52 minutes et 35 secondes.
    La commande sera la suivante :
    mencoder -endpos 00:52:35 fichier_tmp.avi -oac copy -ovc copy -o fichier_final.avi

    Explications :

    • -endpos indique l’endroit où se termine la vidéo en hh:mm:ss
    • -oac copy copie le flux audio tel quel
    • -ovc copy copie le flux vidéo tel quel
    • -o fichier_final.avi indique le nom du fichier de sortie.
    Categories: Multimédia Tags: ,

    Ripper un DVD avec mencoder

    Pré-requis :

    Avoir copier l’arborescence du dvd sur son PC, surtout le dossier VIDEO_TS.

    1ère étape : identifier les pistes audio.

    mplayer -v VTS_01_1.VOB | grep aid
    Cela va lancer le film avec mplayer et afficher les paramètres dans le terminal, l’option grep aid permet de filtrer tout ceci et de n’afficher que les langages présents sur le dvd.
    Nous allons donc avoir quelque chose comme ceci dans le terminal :

    [open] audio stream: 0 audio format: ac3 (5.1) language: en aid: 128
    [open] audio stream: 1 audio format: ac3 (5.1) language: fr aid: 129

    2ème étape : identifier les sous titres (facultatif)

    Les sous titres sont identifiés par sid donc la commande mplayer -v VTS_01_1.VOB | grep sid devrait donner ceci à quelque chose près :

    [open] subtitle ( sid ): 0 language: en
    [open] subtitle ( sid ): 1 language: fr
    [open] subtitle ( sid ): 2 language: es
    [open] subtitle ( sid ): 3 language: nl

    3ème étape : préparation des fichiers VOB

    Nous allons réunir les fichiers VOB pour qu’ils n’en fassent plus qu’un.
    Si le dvd est issu d’une série il va avoir plusieurs fichiers correspondant à plusieurs épisodes.
    Par exemple pour un dvd contenant 4 épisodes :
    cat VTS_01_1.VOB VTS_01_2.VOB > episode1.VOB
    cat VTS_02_1.VOB VTS_02_2.VOB > episode2.VOB
    cat VTS_03_1.VOB VTS_03_2.VOB > episode3.VOB
    cat VTS_04_1.VOB VTS_04_2.VOB > episode4.VOB

    Exemple pour un film :
    cat VTS_01_1.VOB VTS_01_2.VOB VTS_01_3.VOB VTS_01_4.VOB VTS_01_5.VOB > film.VOB

    4ème étape : encodage

    Pour ce faire je vais utiliser le codec x264, je sais x264 c’est le mal !
    Mais en attendant j’ai fais plusieurs essais avec xvid et je n’ai jamais réussi à avoir une qualité correcte (même avec plusieurs passes) et Theora et WebM ne sont pas supportés par le disque dur multimédia qui va accueillir ces fichiers…
    Donc solution de repli : x264.

    mencoder film.VOB -aid 129 -vf scale=720:576 -oac copy -ovc x264 -x264encopts bitrate=950:turbo -o film.avi

    Et voilà, un dvd rippé en avi d’une qualité tout à fait convenable.

    5ème étape : Automatisation (facultatif)

    Pour un film il suffit donc de deux commandes :
    - une pour concaténer les fichiers VOB
    - une pour encoder le VOB en avi
    Alors que pour un dvd comportant des épisodes d’une série il faut deux commandes par épisode, un dvd contenant généralement 4 épisodes il faut 8 commandes par dvd.
    Et il faut attendre que la commande soit finie pour lancer la suivante.

    Pour automatiser la transformation d’un dvd de serie on peut fait un script sh qui ressemblerai à ceci :
    cat VTS_01_1.VOB VTS_01_2.VOB > episode1.VOB
    cat VTS_02_1.VOB VTS_02_2.VOB > episode2.VOB
    cat VTS_03_1.VOB VTS_03_2.VOB > episode3.VOB
    cat VTS_04_1.VOB VTS_04_2.VOB > episode4.VOB
    mencoder episode1.VOB -aid 129 -vf scale=720:576 -oac copy -ovc x264 -x264encopts bitrate=950:turbo -o episode1.avi
    mencoder episode2.VOB -aid 129 -vf scale=720:576 -oac copy -ovc x264 -x264encopts bitrate=950:turbo -o episode2.avi
    mencoder episode3.VOB -aid 129 -vf scale=720:576 -oac copy -ovc x264 -x264encopts bitrate=950:turbo -o episode3.avi
    mencoder episode4.VOB -aid 129 -vf scale=720:576 -oac copy -ovc x264 -x264encopts bitrate=950:turbo -o episode4.avi

    On place ce script dans le répertoire VIDEO_TS et on le lance par la commande :
    sh script-encodage.sh

    6ème étape : Options (facultatif)

    Analysons une commande d’encodage :
    mencoder film.VOB -aid 129 -vf scale=720:576 -oac copy -ovc x264 -x264encopts bitrate=950:turbo -o film.avi

    Comme vu plus haut -aid xxx permet de choisir la piste audio.
    Si l’on veut rajouter des sous titres, il faut rajouter -sid x.

    Le format natif d’un dvd étant 720×576 pixels l’option -vf scale=720:576 permet de garder ce format pour le fichier de sortie.

    Options audio

    -oac copy indique qu’il faut copier le flux audio si on veut le réencoder il faut modifier cette option.
    Par exemple pour une piste audio en mp3 à un débit constant de 128 kbps il faut faudrait mettre :
    -oac mp3lame -lameopts mode=2:cbr:br=128

    Si le son est trop faible ou trop fort on peut ajouter :vol=x si x=0 le son restera pareil que sur la vidéo d’origine sinon une valeur positive ou négative fera changer la gain/
    Donc si le son est trop faible on peut mettre -oac mp3lame -lameopts mode=2:cbr:br=128:vol=3

    Options x264

    bitrate=950 : indique que l’on souhaite encoder la vidéo en 950kbps, il faut donc jouer sur ce paramètre pour modifier la qualité de la vidéo.
    turbo : le mode turbo permet de réaliser l’encodage plus rapidement mais entraîne une légère baisse de la qualité.
    pass=1 ou pass=2 : permet de faire plusieurs passes afin d’avoir une qualité optimale.
    threads=x : indique qu’il faut utiliser x cores de votre CPU. Sans cette option un seul core est utilisé.

    xvid

    Pour faire un encodage en deux passes en xvid les commandes ressemblerait à ceci :
    mencoder film.VOB -aid 129 -vf scale=720:576 -oac copy -ovc xvid -xvidencopts bitrate=1000:pass=1 -ovc lavc -lavcopts "threads=2" -o /dev/null
    mencoder film.VOB -aid 129 -vf scale=720:576 -oac copy -ovc xvid -xvidencopts bitrate=1000:pass=2 -ovc lavc -lavcopts "threads=2" -o video.avi

    On retrouve les mêmes options qu’avec le x264 sauf le mode turbo.
    Le multithreading est aussi pris en charge mais avec une syntaxe différente :
    - en x264 on aurait -x264encopts bitrate=950:threads=2
    - en xvid on a -xvidencopts bitrate=950 -ovc lavc -lavcopts "threads=2"

    Categories: Multimédia, Tutoriels Tags: ,

    Installation et configuration de hellanzb

    1 – Installation

    Mise à jour des sources
    sudo apt-get update

    Installation de hellanzb
    sudo apt-get install hellanzb

    2 – Configuration

    Edition du fichier de configuration
    sudo nano /etc/hellanzb.conf

    Aller à la ligne : defineServer. il faut modifier afin d’avoir ceci :
    (id = 'nom_du_serveur',
    hosts = [ 'adresse_serveur:port_serveur' ],
    username = 'identifiant',
    password = 'mot_de_passe',
    connections = nb_connexion_autorisées,
    ssl = True #ou ssl = False
    )

    Le port par défaut d’un serveur de news est le 119.
    Si vous passez par une connexion sécurisée, il s’agira sûrement du port 443 ou 563.
    Tout ceci est indiqué par votre fournisseur.

    Si vous utilisez les serveurs de newsgroup de Free la configuration sera la suivante :
    (id = 'Free',
    hosts = [ 'news.free.fr:119' ],
    username = None,
    password = None,
    connections = 4,
    ssl = False
    )

    Free reconnaissant votre ligne, il n’y a pas besoin d’identifiants

    Cette ligne
    # Important locations
    Hellanzb.PREFIX_DIR = os.path.expanduser('~') + '/.hellanzb/'

    veut dire que le dossier utilisé par hellanzb sera : /home/identifiant/.hellanzb

    Remplacez /.hellanzb/ par le chemin vers lequel vous voulez que hellanzb copie ses dossiers

    Pour que Hellanzb répare (avec les fichiers par2) et décompresse automatiquement il faut avoir ceci :
    # Supply a path to the (un)rar command
    Hellanzb.UNRAR_CMD = '/usr/bin/unrar'

    # Supply a path to the par2 command
    Hellanzb.PAR2_CMD = '/usr/bin/par2'

    Par défaut Hellanzb ne télécharge les par2 que si il y en a besoin, pour changer ce comportement et télécharger tous les par2 automatiquement, il faut décommenter cette ligne :
    # Disable SMART_PAR (download all PAR files)
    Hellanzb.SMART_PAR = False

    3 – Lancement en tant que démon

    Pour que Hellanzb se lance automatiquement, en tant que démon, au démarrage du PC, il faut créer un fichier « hellanzb » dans /etc/init.d/.

    Voici ce que doit contenir ce fichier :
    #!/bin/bash

    case "$1" in
    start)
    su -c 'hellanzb -D' votre_identifiant
    ;;
    stop)
    su -c 'hellanzb shutdown' votre_identifiant
    ;;
    status)
    su -c 'hellanzb status' votre_identifiant
    ;;
    esac

    Ensuite dans un terminal il faut donner les droits 755 à ce fichier
    En étant placé dans /etc/init.d :
    sudo chmod 755 hellanzb

    Puis il faut ajouter le démon au démarrage :
    sudo update-rc.d hellanzb defaults 99

    Pour retirer Hellanzb du démarrage de la machine, il suffit de taper cette commande :
    sudo update-rc.d -f hellanzb remove

    Ainsi le script existe toujours il n’y a plus qu’à le réactiver si nécessaire, par la commande :
    sudo update-rc.d hellanzb defaults 99

    4 – Utilisation

    Une fois ceci effectué, on peut utiliser les commandes suivantes :

    Pour lancer le démon :
    sudo /etc/init.d/hellanzb start
    Pour arrêter le démon :
    sudo /etc/init.d/hellanzb stop
    Pour voir le statut de hellanzb :
    sudo /etc/init.d/hellanzb status

    Pour lancer un téléchargement, il suffit de mettre un fichier .nzb dans le dossier hellanzb/nzb/daemon.queue/
    Une fois le téléchargement terminé vous trouverez les fichiers dans hellanzb/done/

    Insérer des sous titres avec mencoder

    mencoder -sub soustitres.srt -fontconfig -font Arial -subfont-text-scale 4 -oac copy -ovc xvid -xvidencopts bitrate=900 video.avi -o videoST.avi

    L’option -ovc lavc -lavcopts "threads=2" qui permettrait d’utiliser deux coeurs du CPU afin de faire l’encodage plus rapidement ne fonctionnent pas chez moi.

    Cela m’incruste deux fois les sous-titres et de tailles différentes…

    Categories: Multimédia Tags: