Witsub télécharge automatiquement vos sous-titres

Date: 19/05/2013 | Catégories: Developpement,Open-source,Planet-libre,Video | Tags: ,,,

subtitles

Witsub est mon dernier projet personnel visant à développer un utilitaire en ligne de commande permettant de télécharger automatiquement l'ensemble des sous-titres disponibles de votre bibliothèques de vidéos. L'objectif étant de disposer d'un outil simple, rapide, efficace et facilement déclenchable par script shell.

Comment marche Witsub

Witsub est développé en pure Python (sans bibliothèque non standard) et devrait donc fonctionner sur tous les systèmes d'exploitations (je l'ai uniquement testé sous GNU/linux). Dans son utilisation la plus simple, il prend en entrée un fichier ou un répertoire et une langue souhaitée pour les sous-titres. Ensuite il va parcourir la base de donnée OpenSubtitles pour y trouver les fichiers .srt correspondant à vos fichiers vidéos.

Pour installer Witsub, vous pouvez directement télécharger le script sous Github:

wget https://github.com/nicolargo/witsub/blob/master/witsub/witsub.py
chmod a+x witsub.py

ou bien utiliser les sources avec l'installeur au format tar.gz:

wget https://s3.amazonaws.com/witsub/witsub-1.1.tar.gz
tar zxvf witsub-1.1.tar.gz
cd witsub-1.1
sudo python setup.py install

ou plus propre utiliser PiPY pour l'installer sur votre système:

sudo pip install witsub

Un exemple valant mieux qu'un long discours, voici Witsub en action.

On commence par visualiser le répertoire videos avant le lancement de Witsub

	videos
	├── A wonderfull movies.avi
	├── A top serie
	│   ├── A top serie - S1E01.avi
	│   └── A top serie - S1E02.avi
	└── Not a video file.txt

Puis on lance Witsub en fixant la langue Française (code ISO fre, voir la liste complète des codes ici):

	witsub -l fre -f ./videos

On se retrouve avec:

	videos
	├── A wonderfull movies.avi
	├── A wonderfull movies.srt
	├── A top serie
	│   ├── A top serie - S1E01.avi
	│   ├── A top serie - S1E01.srt
	│   ├── A top serie - S1E02.avi
	│   └── A top serie - S1E02.srt
	└── Not a video file.txt

Voir ce qui se passe

J'ai fait en sorte, avec l'option -V, que Witsub affiche chacune des étapes de sa recherche de sous-titres. Par exemple, pour forcer (-w) le téléchargement des sous-titres Anglais de la vidéo breakdance.avi en mode debug:

# witsub -V -w -f ./test/testdata/breakdance.avi

19/05/2013 15:19:29 DEBUG - Running witsub version 1.0
19/05/2013 15:19:29 DEBUG - Debug mode is ON
19/05/2013 15:19:29 DEBUG - Force overwrite if file exist: True
19/05/2013 15:19:29 DEBUG - No language define. Default is eng
19/05/2013 15:19:29 DEBUG - Subtitle language search set to eng
19/05/2013 15:19:29 DEBUG - Connect to XML-RPC server http://api.opensubtitles.org/xml-rpc
19/05/2013 15:19:29 DEBUG - Login to XML-RPC server <ServerProxy for api.opensubtitles.org/xml-rpc>
19/05/2013 15:19:29 DEBUG - Login successfull with status 200 OK
19/05/2013 15:19:29 DEBUG - Compute hash tag for file test/testdata/breakdance.avi
19/05/2013 15:19:29 DEBUG - Hash tag for file test/testdata/breakdance.avi is 0x8e245d9679d31e12L
19/05/2013 15:19:29 DEBUG - Search subtitle in the database
19/05/2013 15:19:29 DEBUG - Search done in 0.008 seconds
19/05/2013 15:19:29 DEBUG - 4 subtitles found
19/05/2013 15:19:29 DEBUG - Subtitle 1/4 (English - Dwnl: 364): The.Sea.Inside.2004.DVDRip.XviD-RiZZ.srt
19/05/2013 15:19:29 DEBUG - Subtitle 2/4 (English - Dwnl: 224): breakdance.srt
19/05/2013 15:19:29 DEBUG - Subtitle 3/4 (English - Dwnl: 421): breakdance2.srt
19/05/2013 15:19:29 DEBUG - Subtitle 4/4 (English - Dwnl: 143): breakdance2.srt
19/05/2013 15:19:29 DEBUG - Select the first one (most downloaded): The.Sea.Inside.2004.DVDRip.XviD-RiZZ.srt
19/05/2013 15:19:29 DEBUG - Download the compressed subtitle file (id 1951887680): http://dl.opensubtitles.org/en/download/filead/1951887680.gz
19/05/2013 15:19:30 DEBUG - Download processed in 0.05 seconds
19/05/2013 15:19:30 DEBUG - Unzip the compressed subtitle file
19/05/2013 15:19:30 DEBUG - Write the subtitle to test/testdata/breakdance.srt
19/05/2013 15:19:30 INFO - Download completed: test/testdata/breakdance.srt
19/05/2013 15:19:30 DEBUG - Logout from XML-RPC server <ServerProxy for api.opensubtitles.org/xml-rpc>
19/05/2013 15:19:30 DEBUG - Logout successfull with status 200 OK

Les sources !

Witsub est hébergé sur GitHub: https://github.com/nicolargo/witsub

Merci d'y poster vos problèmes, questions, demandes d'amélioration !

Faites tourner 🙂

PS: Je ne suis pas très actif sur le blog en ce moment, la faute à pas mal de choses qui me laissent peu d'énergie pour rédiger des billets. Mais ne vous inquiétez pas, certains sont en préparation, notamment un sur la nouvelle caméra pour Raspberry Pi.

Partager ce billet





WordPress » Erreur

Il y a eu une erreur critique sur ce site.

En apprendre plus sur le débogage de WordPress.