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:

Réencoder vidéo flv en xvid avec mencoder

mencoder video.flv -oac mp3lame -ovc xvid -xvidencopts bitrate=900 -ovc lavc -lavcopts "threads=2" -o video.avi

Cela fonctionne avec n'importe quel type de vidéo.

Categories: Multimédia Tags: