Ubuntu : profils d'encodage Gstreamer

En voulant ripper le dernier CD de Sigur Ros, Valtari, que ce soit avec Sound-Juicer ou Rhythmbox, j'ai constaté qu'au lieu de me proposer les profils d'encodage précédemment définis, les deux applications ne me proposaient que 4 choix fixes. Qui plus est, le codage de base en Ogg Vorbis était à 112 kbps, alors que j'avais défini un encodage à 320kps... Après moult essais, je suis tombé sur des posts qui expliquaient la nouvelle manière de faire. Ceci fonctionne sur Ubuntu 11.10 et 12.04.

Rhythmbox et Sound-Juicer utilisent un fichier rhythmbox.gep, qui définit les profils. Pour Rhythmbox, il s'agit de

/usr/share/rhythmbox/rhythmbox.gep

Pour Sound-Juicer, le fichier est :

/usr/share/sound-juicer/rhythmbox.gep

Dans la partie Ogg, j'ai ajouté des sections, pour ajouter un ligne preset "High Quality" :

[profile-oggvorbis]
name = oggvorbis
description = Ogg Vorbis High Quality
format = application/ogg
type = container

[streamprofile-oggvorbis-1]
parent = oggvorbis
type = audio
format = audio/x-vorbis
presence = 1

[profile-oggvorbis2]
name = oggvorbis2
description = Ogg Vorbis High Fi
format = application/ogg
type = container

[streamprofile-oggvorbis-12]
parent = oggvorbis2
type = audio
preset = ogg_high
format = audio/x-vorbis
presence = 1

J'ai aussi modifié la description, histoire de différencier.

Il faut ensuire définir le preset pour Gstreamer. Ceci peut être fait soit au niveau du répertoire  /usr/share/gstreamer-0.10/presets/ si on veut que ce soit valable pour tous les utilisateurs, ou soit dans le répertoire personnel : ~/.local/share/gstreamer-1.0/presets (qui n'existe pas). Dans le deuxième cas, on va donc faire : 

mkdir ~/.local/share/gstreamer-1.0/presets

vi GstVorbisEnc.prs

Insérer le contenu :

[_presets_] 
element-name=GstVorbisEnc 
version=0.10.36

[ogg_high] 
name=vorbisenc 
perfect-timestamp=true 
hard-resync=false 
tolerance=40000000 
quality=0.9 
managed=false

[rhythmbox-custom-settings]
name=vorbisenc5
perfect-timestamp=true
hard-resync=false
tolerance=40000000
max-bitrate=-1
bitrate=-1
min-bitrate=-1
quality=0.8
managed=false

La variable quality fixe le niveau de qualité voulu (0.9 = 320kbps). Et le nom de la section [ogg_high] correspond à la déclaration dans le fichier rhythmbox.gep.

On peut alors ajouter plusieurs profils, Ogg, mp3 ou autres, s'ils sont supportés par GStreamer.

Et dans les applications, on peut alors sélectionner l'option d'encodage désirée.

Le bug est répertorié sur le launchpad.

 

 

 

 

 

Catégorie
Tag
Permalien

Sound-Juice me rippant rien à suivant ton tuto, je l'ai adapté de la sorte :

Dans le fichier /usr/share/sound-juicer/rhythmbox.gep

J'ai remplacé le profil OGG par

[profile-oggvorbis]
name = oggvorbis
description = Ogg Vorbis High Quality
format = application/ogg
type = container

[streamprofile-oggvorbis-1]
parent = oggvorbis
type = audio
preset = ogg_high
format = audio/x-vorbis
presence = 1

Puis, dans le fichier GstVorbisEnc.prs :

J'ai ajouté ce preset :

[ogg_high]
name=vorbisenc
perfect-timestamp=true
hard-resync=false
tolerance=40000000
quality=0.9
managed=false

çà marche nickel et j'ai bien mes OGG en 320 kbps :)