Volumio – PiRadio – MPD

Oui je sais un titre pareil ça fait un peu collection de mots clés pr chopper un max de moteurs de recherche. Mais honnêtement j’étais pas super inspiré ce soir.

C’est un petit post très succinct pour vous tenir un peu au courant de l’évolution (si vous n’avez pas vu le début) des développements sur mon projet.

PiTft 4 Volumio Read More…

Posted in Vidéo & Audio at March 30th, 2016. 5 Comments.

Systemd pour python-pygame

Et oui, init.d c’est fini, mort et enterré. Place à systemd désormais.

Donc pour lancer le joli petit pi-radio qui n’est rien d’autre qu’un petit script en python de façon automatique il m’en fallait un.

pi-radio.service

Comme j’ai un peu souffert pour le faire fonctionner correctement il est judicieux de vous le filer (il est dans le repo) mais surtout de l’expliquer.

[Unit]
Description=Launch Pi Radio
Wants=network-online.target
After=network-online.target

[Service]
Environment=MPD_HOST=192.168.0.XX
ExecStart=/usr/bin/python -u radioplayer.py

[Install]
WantedBy=multi-user.target

Explications

Je vous ferai grâce d’une explication ligne par ligne mais vous indiquerais plutôt pourquoi telle ou telle valeur.

  • Wants & After: sans réseau il ne fonctionnera pas vu que mon mpd est sur une autre machine.
  • Environment: spécifie une adresse différente pour la connexion sur mpd (par défault il se connecte sur localhost: cfr la doc de MPC pr en savoir plus)
  • ExecStart: le switch -u est utilisé et CAPITAL pour débugguer à travers systemd. Visiblement python par défault bufferise le stdout & stderr et cela nous prive des détails à travers le journalctl lors du débugguage
  • WorkingDir: Le script en l’état n’a visiblement pas conscience d’où il se trouve et si on le lance en l’état il ne retrouve pas ses fichiers images. Il faut donc le forcer à se lancer depuis un working directory donné le hash 64d08ee permet dorénavant de se passer du working directory

Read More…

Posted in Vidéo & Audio at February 6th, 2016. Comments Off on Systemd pour python-pygame.

Pi radio

Si vous mélangez mpd, mpc, et un écran tactile sur un raspberry avec un petit coup de pouce d’adafruit ça donne quoi?

Simple: le titre du post: Pi-radio.

J’ai déjà pas mal vendu la mèche dans l’intro mais voilà précisément de quoi il s’agit:

J’ai un serveur MPD (Music Player Daemon) dans un coin de mon appartement. Le problème c’est qu’il n’est pas super user friendly de devoir prendre une tablette ou un smartphone (ou pire un laptop) pour pouvoir lancer de la musique, changer la piste ou le volume.  Ne parlons même pas du WAF proche de zéro pour ce genre d’installation. J’ai déjà essayé une commande RF et/ou un clavier numérique dont les touches avaient été estampillées play, pause etc. Au niveau WAF c’était un peu plus correct mais ça ne restait pas glorieux quand même.

Mais Adafruit est venu avec une proposition plus qu’honnête avec son Radio player qui n’est autre qu’un petit script python utilisant pygame permettant de contrôler l’affichage d’un framebuffer (comprendre écran) de son choix. Ajoutez à ceci un support de la partie tactile sur l’écran et vous avez un combo qui va TRÈS BIEN ensemble.

Une petite photo et screenshot pour vous rendre compte du résultat:

20160131_213725 Read More…

Posted in Vidéo & Audio at January 31st, 2016. 1 Comment.

DvdXChap – Extraction chapitres d’un dvd

Ce soir, je vais parler du programme dvdxchap et de ses fonctionnalités.  Grosso modo le but du programme est d’extraire à un certain format les timestamps des chapitres pour les inclure après par exemple dans un MKV ou quelconque autre utilisation à votre gout.

Format de sortie du programme

Tout d’abord quelques explications sur le format de sortie du programme. Celui ci est le format utilisé par le conteneur OGM et également MKV, celui ci est du pur texte, très facile à comprendre et modifier (pas de l’horrible binaire à modifier à l’éditeur héxadécimal quoi). Un petit extrait :

CHAPTER01=00:00:00.000
CHAPTER01NAME=Chapter 01
CHAPTER02=00:01:29.400
CHAPTER02NAME=Chapter 02
CHAPTER03=00:02:59.560
CHAPTER03NAME=Chapter 03

Plutôt simple et facile à comprendre comme vous pouvez voir, les chapitres extraits d’un DVD ne sont pas nommés et donc vous aurez des ‘Chapter XX‘ comme nom de chapitres, mais vous aurez extrait les timecodes.  Avec un petit éditeur de texte (puristes je vous conseille vim) vous pouvez attribuer un nom à vos chapitres avant l’inclusion dans votre OGM ou votre Matroska.

Read More…

Posted in Vidéo & Audio at August 20th, 2010. 1 Comment.

LsDvd ou comment mettre à nu votre Dvd

Un petit utilitaire sympa que j’ai trouvé en cherchant pour avoir/éditer des infos dans les fichiers IFO des dvd (ça pour un post que vous verrez dans quelques jours).

Ici il ne fait que lister mais il liste bien.  En quelques secondes vous pourrez connaitre l’entièreté de la structure de votre DVD de façon sommaire.

lsdvd CHEMIN_DU_DVD

Ou alors plus de précisions sur les cellules,  les chapitres, les bandes-son, les sous-titres, les angles de vision, la video utilisée. Je vous indique les plus utile, pour le reste le man existe :

lsdvd -c CHEMIN_DU_DVD #Chapters information
lsdvd -a CHEMIN_DU_DVD #Audio Information
lsdvd -s CHEMIN_DU_DVD #Subtitles Information
lsdvd -x CHEMIN_DU_DVD #All information

Bref une véritable mine d’informations quand on sait à quel point la structure d’un dvd peut être parfois complexe et non intuitive pour le ‘ripper’ ou toute personne voulant en savoir un peu plus sur son DVD.

Autre petit truc sympa les différents formats d’exportations des données récupérées: par défaut c’est le plus simple, c’est la version pour les humains sinon il en existe pléthore d’autres (Perl hash, Python, Ruby, Xml).

lsdvd -Op CHEMIN_DU_DVD #Perl hash version
lsdvd -Ox CHEMIN_DU_DVD #XML Version

Il va de soit que l’on peut combiner les deux instructions.

Quelques exemples :

Read More…

Posted in Linux, Vidéo & Audio at April 8th, 2010. 1 Comment.

Merge & convert AC3 5.1 in Mp3 Stereo lame

I consider that we have 3 AC3 files :

  1. Sample1.ac3
  2. Sample2.ac3
  3. Sample3.ac3

Merge files

We want to merge these 3 files. Simply use the cat command :

cat *.ac3 > All.ac3
#normally *.ac3 tell
“Sample1.ac3 Sample2.ac3 Sample3.ac3” properly sorted. If you have a doubt, you will be allowed to use the full sentence.
cat Sample1.ac3 Sample2.ac3 Sample3.ac3 > All.ac3

The 3 files merged in one All.ac3.

Decode AC3 file

Lame doesn’t be able to read AC3 files, so we must convert them. a52dec is a decoder of ac3 file to a lot of format (oss, ossdolby, oss4, oss6, wav, wavdolby, aif, aifdolby, peak, peakdolby, null, null4, null6, float).
Here, we use “wav” type output. The program decodes specified file to stdout and we must use operator ‘>’ like that :

a52dec -o wav All.ac3 > All.wav

This command downmix the 5.1 stream into full stereo stream (with channel level adjustment (-3, 0, + 3dB for instance) based on output mode). You can disable this with add a ‘-a’, use man for the rest.

Read More…

Posted in Vidéo & Audio at January 16th, 2010. 5 Comments.