The libvirt online documentation gives us an answer for that: isolated-mode; and hopefully virt-manager allows us to acheive it easilly (but it’s not abvious IMHO)
From the main virt-manager window (where we can see the VMs list)
virbr0
and every VM that is connected to this network have access to internet (if the host is connected of course)+
button on the bottom
isolated
virbr1
) in my caseNow we’ve this network available, we can use it with any existing or new VM:
ifconfig
can list it on Linux). In my case it’s virbr1
192.168.100
in my case)The main reason I bought this little gem is to be able to make multitrack live concert recordings. The fact that it’s compatible with OSC is a great advantage too.
So, I decided to record a live concert of one of my Blues Band (Blue Time Shakers) during the famous braderie de Lille as we were playing oi the street on that day. The XR18 outputs multi-channels audio using USB-Audio protocol. I first thought of bringing a PC to record the multichannel stream, but it’s not very comfortable, especially as we were playing in the street, and the probability that someone quite drunk come around the hardware was quite big ! After a quick search I’ve seen that someone had succeeded using a Raspberry Pi 3 to record 16 tracks in WAV format, but this was limited to 8 minutes, after what problems started to appears.
Long story in short: I started form this caPiture project and optimized it in some points to make recording more stable:
.profile
greatly improve the global stability of the recording subprocessI was very happy to be able to use my tiny little Pi mini computer as a portable multitrack recorder, and the overall sound quality is more than satisfying !
]]>This is an old tutorial, in French, I wrote a bunch of years ago, back in 2006, when I was paid to create some advanced DVDs with advanced menu navigation.
This HTML version is an extract of the original PDF version (generated by Latex) available here.
=> I strongly encourage you to download the PDF version as the general layout is certainly better than in this [Latex -> html -> markdown] converted version.
Faisant partie depuis longtemps d’une association ayant pour but la création de courts métrages, j’ai été confronté au problème de création de DVDs vidéo DVD pouvant être lus par n’importe quel lecteur de salon ou proffessionnel pour être diffusé dans les salles des festivals.. La question se pause alors : Utiliser un logiciel commercial tout en un onéreu pour gagner du temps ou bien plonger dans les profondeurs techniques pour gagner en connaissances ?
J’ai tout d’abord exploré la première voie en testant 3 usines à gaz; sous windows bien sûr non pas que j’aprécie particulièrement la stabilité de ce système, mais j’ai un PC et il n’existe pas de logiciel convainquant sous Linux pour l’instant.. Après une bonne semaine de galère, je me suis rendu compte une fois de plus que ce genre de programmes n’est vraiment pas fait pour moi. Le temps de comprendre la logique tordue des interfaces graphiques est énorme et doit être au moins égale au temps de comprendre les quelques points techniques qu’elles masquent. Le nombre de plantages inexpliquables est élevé et la précision de cotrôle faible. Je veux dire par là qu’il est - à ce que j’ai pu voir - impossible de contrôler précisément les différents aspets techniques du DVD (comme l’entrelaçement des images par exemple) qui sont pourtant si décisifs sur le produit final. Il en va de même pour l’aspet graphique : il m’est apparu impossible de contrôler la couleur des éléments du menu lors de leur sélection. Les logiciels proposent des effets grossiers comme le classique couleur inversée mais il est impossible de modeler précisément à son envie.
Bref, compte tenu de tous les points cités si-dessus, de l’envie d’utiliser pour cette tâche assez longue un système d’exploitation stable et du manque de budget de l’association nous empêchant d’investir dans un programme proffessionel, je me suis donc tourné vers le logiciel libre sous Linux.
Après beaucoup de documentation, soit trop technique, soit très très floue et parfois fausse, j’avais une vague idée de la marche à suivre mais je n’ai trouvé aucun document exposant de manière claire les différents points clé à comprendre pour maîtriser les étapes de création du DVD. C’est ce qui m’a poussé, pour moi et pour les autres, à rédiger ce document.
Bien sûr, point important, je suis ouvert à toutes sugestions, tout commentaires pour améliorer ce document.
Les programmes utilisés pour la création sont :
Afain d’être lisibles correctement par un lecteur DVD, les fichiers vidéo doivent répondre à quelques règles. C’est le rôle d’Avidemux que de convertir les vidéos d’origine en respectant ces règles :
Format
Le flux vidéo doit être encodé dans un format compatible DVD, c’est à dire en MPEG avec certaines contraintes que je n’ai pas en tête, mais on les trouve assez facilement sur internet. Avidemux se charge de cette partie du travail.
Bitrate
Bitrate signifie en Anglais : nombre de bit par unité de temps. Le bus de données des lecteurs DVD n’ateignant pas de grandes vitesses de transmission des données, li existe une limite au débit d’information à ne pas dépasser sous peine de perte de fluidité. Cette limite est aproximativement de 9 Mo/s (à vérifier avec précision sur internet).
Entrelacement
Les DVD vidéos étant destinés dans mon cas à être regardés sur une télévision ou projetés par un vidéoprojecteur, l’image de la vidéo doit être entrelacée. Ceci n’est pas une obligation absolue mais l’image parait beaucoup plus fluide entrelacée. Là attention : il y a deux façons d’entrelacer une vidéo :
Ceci se dit en Anglais odd first et even fisrt (je ne sais plus qui est qui).
Voir en sub:Entrelacement pour plus de détails.
Avidemux est un logiciel libre sous Linux (je ne sais pas s’il est porté sous d’autres plateformes) permettant de convertir des vidéos dans plusieurs formats différents. Voici la marche à suivre :
Configurer le logiciel comme suit :
Ici est le point où la documentation sur internet se fait rare et floue. Je vais essayer d’éclaircir certains points qui me paraissaient obscurs avant de faire mes propres expériences.
Figure: Configuration du compresseur vidéo
Encoding type
Bien sûr, choisir Two pass. On trouve abondemment de la documentation sur ce point et sur les techniques d’encodages sur internet.
Size
Taille désirée de la vidéo
Interlacing
Voici un point particulièrement sensible.
Progressive
Pas d’entrelacement. Adapté pour visionner le DVD sur un PC car les écrans de PC n’utilisent pas la technique d’entrelaçement des images.
Interlaced TFF et BFF
Ces deux options règlent la parité de l’entrelacement : Paire ou impaire. Je ne sais pas qui est qui mais il est clair que pour un système PAL, il faut choisir BFF sous peine d’avoir une image presque irregardable. Voir plus loin pour plus de détails.
Aspect ratio
Rapport d’aspect de l’image. C’est le rapport . A savoir au passage qu’une image DV à un rapport de et non comme on pourrai le penser.
Voir Configuration avancée de l’image pour plus de détails.
Matrix
Aucune idée de l’influence de ce paramètre. J’ai essayé toutes les matrices proposées sur une séquence entrelacée avec mouvement et n’ai constaté aucune différence notable.
Gop size
Aucune idée non plus.
Max bitrate
Flux maximum pour la vidéo. Je met toujours 7000 pour
Figure: Configuration du compresseur vidéo
Contrairement à l’image, le son ne pose pas de problèmes particuliers. La seule option qui peut vous être utile est la normalisation su son (chercher sur internet pour de plus amples informations). Celà sert en gros à régler automatiquement le volume du son de manière à ce qu’il ne soit ni trop bas ni trop haut.
Un nouveau problème survient dans le cas où l’image n’est pas en format ni en . En effet; il faudra alors rajouer une bande noire autour de l’image pour arriver à une de ces proportions sous peine d’avoir une image déformée ou tronquée Le format doit être précisé dans le fichier de confoguration de DVDAuthor :
<video \[format="ntsc|pal"\] \[aspect="4:3|16:9"\]>
. Bref, voici la marche à suivre pour arriver à un format . Cette méthode est à adapter pour un format . Apparemment, cette étape a voulue être automatisée par les concepteurs représenté par le boutton DVD Res mais le résultat est souvent douteux.
Cliquer sur V Filter. Ce menu nous permet de choisir différents filtres à appliquer à l’image. Le seul nous intéréssant ici est add border qui permet d’ajouter une bande noire autour de la vidéo.
Prenons l’exemple d’une vidéo en 576 x 300. Le format est barbare (ni ni ) mais est proche du . Pour passer en , il faut donc rajouter pixels en hauteur. Petite equation simpliste :
Il faut donc rajouter 132 pixels en hauteur, c’est à dire pixels en bas et 66 en haut pour arriver à une image de 576 x 432, bien en ( ).
Figure: Menu des filtres vidéo
Une fois ce mauvais moment passé, le fichier est prêt à être écrit sur le disque. Pour celà, cliquer sur le boutton enregistrer. L’encodage est souvent très long, compter 8 heures pour un film de durée normale avec un processeur de 2GHz.
Pendant l’encodage des vidéos, nous avons tout le temps de créer les éléments graphiques du menu. Ceci se fait bien sûr avec l’incontournable Gimp. Le but est de créer deux fichiers images contenant :
Figure: Les deux fichiers définissant graphiquement un menu
Le premier fichier contient la partie fixe du graphique. Le deuxième est un fichier principalement transparent contenant les pixels à afficher par dessus le premier lors de sélection d’éléments. En fait, on peut donner un troisième fichier à spumux basé sur le même principe que le deuxième contenant l’image à afficher durant le court instant de chargement du film, lorsqu’on clique. Personnellement, je n’utilise pas cette troisième image.
Figure: Affichage lors de la sélection du premier élément du menu
Bien entendu, les fichiers doivent avoir une taille standard : ou pour être affiché dans leur intégralité et dans des proportions correctes, ce qui n’est pas le cas dans cet exemple.
Voyons rapidement la marche à suivre pour créer ce menu exemple. Je passerai volontairement rapidement sur les notions de base de gimp que je considère comme acquises. Voir les nombreux tutoriels très bien faits sur le net à ce sujet.
Le point délicat ici est que la norme DVD précise que la deuxième image doit être en couleur indéxées au nombre de 4 couleurs maximum. C’est assez génant pour faire des dégradés de trenparence par exemple. Le format du deuxième fichier doit être donc PNG pour pouvoir enregistrer un canal alpha (la transparence) et en 4 couleurs (dont la couleur de fond).
Créer une image avec plusieurs calques contenant:
Figure: Affichage lors de la sélection du premier élément du menu
Passer en mode couleurs indexées 3 couleurs (Image Mode Couleurs indexées)
Bien préciser de ne pas effectuer de tramage de couleur.
Figure: Passage en mode couleurs indexées
Une fois les éléments dessinés, il faut les délimiter, c’est à dire donner les coordonnées des rectangles les délimitant.
Le fichier de configuration menu.xml contient cette information sans laquelle on ne pourrai pas découper la deuxième image pour la superposer à la première seulement sur l’élément sélectionné dans le menu. Ces lignes ressemblent à:
<button x0="450" y0="147" x1="601" y1="311" name="1" />
<button x0="460" y0="347" x1="592" y1="495" name="2" />
dans le cas de deux bouttons nommés 1 et 2.
Pour générer rapidement ces lignes, j’utilise ‘Q’ DVD-Author :
Ajouter deux frames (clique boutton droit Add Frame) délimitant les zones du menu. Elles apparaissent en jaune (voir Fig x1-1500510).
Figure: Délimitation des composants avec QDVDAuthor
Figure: XML généré par QDVDAuthor
Notons que le DVD créé ici est assez basique. Le menu est statique, c’est une image, il est unique et n’a pas d’ambiance sonore. Il est bien sûr possible de complexifier la chose. Se référer à la documentation de dvdauthor.
Il ne faut pas oublier de modifier le fichier dvdauthor.xml pour indiquer la taille de l’image.
Supposons que nous avons les fichiers suivants générés plus haut dans le répertoire ~/dvd/ :
Voici les fichiers à rajouter dans ce répertoire pour pouvoir finaliser le DVD :
dvdauthor.xml
Fichier de configuration de dvdauthor. Confère la documentation de dvdauthor très complète.
menu.xml
Fichier de configuration de spumux utilisé principalement pour définir les zones du menu (quelle zone de l’image correspond à quel film).
make
Script basique générant l’image disque du DVD, c’est à dire les deux sous répertoires VIDEO_TS et AUDIO_TS. Ce scripte pourrait être grandement amélioré, en particulier pour s’arrêter en cas d’erreur.
play
Script appelant xine dans le répertoire courant pour tester le DVD.
Il est possible dans de nombreux pour spumux de déterminer automatiquement les zones correspondant à des bouttons avec l’attribut autooutline. Voir la documentation de spumux.
<subpictures>
<stream>
<spu force="yes" end="00:00:00.0" start="00:00:00.0" highlight="./menu\_h.png" >
<button y0="104" y1="455" x0="16" name="1" x1="330" />
<button y0="104" y1="457" x0="388" name="2" x1="710" />
</spu>
</stream>
</subpictures>
<dvdauthor dest="./" jumppad="yes" >
<vmgm>
<menus>
<video format="pal" resolution="720x576" />
<pgc entry="title">
<vob file="./tmp/Main\_Menu\_VMGM\_menu.mpg" pause="inf" />
<button name="1" >jump title 1 chapter 1; </button>
<button name="2" >jump title 2 chapter 1; </button>
<post> jump vmgm menu 1; </post>
</pgc>
</menus>
</vmgm>
<titleset>
<menus>
<pgc>
<post> jump vmgm menu 1; </post>
</pgc>
</menus>
<titles>
<pgc>
<vob file="film.mpeg" />
<post> call vmgm menu 1; </post>
</pgc>
<pgc>
<vob file="betisier.mpeg" />
<post> call vmgm menu 1; </post>
</pgc>
</titles>
</titleset>
</dvdauthor>
#!/bin/sh
# Si le répertoire temporaire n'existe pas, le créer
if ! \[ -e './tmp/Main\_Menu\_VMGM/' \]; then
mkdir -p ./tmp/Main\_Menu\_VMGM/
fi
# Supprimer la dernière version du DVD créée
rm -rf {AUDIO\_TS/,VIDEO\_TS/}
# Créer un fichier vidéo d'une seconde contenant le menu
echo '-- -- - - \* \* \* \* E T A P E 1 \* \* \* \* - - -- -- '
/usr/bin/jpeg2yuv -n 1 -I p -f 25 -j ./background.jpg | /usr/bin/mpeg2enc -n p -f 8 -o ./tmp/Main\_Menu\_VMGM/menu.m2v
# Créer un fichier audio MP2 vide pour multiplexer avec le menu
echo '-- -- - - \* \* \* \* E T A P E 2 \* \* \* \* - - -- -- '
/bin/dd if=/dev/zero bs=4 count=1920 |/usr/bin/toolame -b128 -s 48 /dev/stdin "./tmp/Main\_Menu\_VMGM/menu.mp2"
# Multiplexage de l'image et du son du menu pour donner le fichier MPEG2 lu durant le menu
echo '-- -- - - \* \* \* \* E T A P E 3 \* \* \* \* - - -- -- '
/usr/bin/mplex -f 8 -o "./tmp/Main\_Menu\_VMGM/menu.mpg" "./tmp/Main\_Menu\_VMGM/menu.m2v" "./tmp/Main\_Menu\_VMGM/menu.mp2"
# Création du menu
echo '-- -- - - \* \* \* \* E T A P E 4 \* \* \* \* - - -- -- '
/usr/bin/spumux "./menu.xml" < "./tmp/Main\_Menu\_VMGM/menu.mpg" > "./tmp/Main\_Menu\_VMGM\_menu.mpg"
# Création du DVD
echo '-- -- - - \* \* \* \* E T A P E 5 \* \* \* \* - - -- -- '
/usr/bin/dvdauthor -x "dvdauthor.xml"
xine dvd:\`pwd\`
Bien sûr, ces scripts et fichiers de configuration sont à comprendre et à adapter aux cas particuliers.
Au risque d’insister lourdement, l’entrelacement est un point qui demande une attention particulière.
Un problème d’entrelacement n’est décelable seulement sur un écran de télévision et dans une séquence où il y a du mouvement (car la différence entre deux images successives est grande). On ne peut pas voir un problème d’entrelacement sur un écran de PC. J’insiste sur ce point car il arrive d’avoir de mauvaises surprises lors de visionnages.
Il faut faire attention en montage vidéo : renverser une image (droite/gauche, haut/bas) peut provoquer un problème d’entrelacement sur la séquence en question. Cela dépend un peu du logiciel de montage utilisé. A tester au cas par cas …
]]>So I decided to play poker with friends. But my friends don’t know texas hold’em poker rules very well. So I started to Google image and … I only found charts like this one:
Those kind of charts are okay for a computer use, but they are not clear (IMHO) and in the majority of cases impossible to print in grayscale. When I add the constraint that I want one in French, it’s almost impossible to find.
So I created to start an open source project that will be:
And here are the results ! (click on the images to open full-size version)
Github project: https://github.com/brunetton/poker_poket_hands#add-a-new-language
You want to make a new version for your language ?
Témoignage
Entre Compiègne et Pont St Maxence, le train s’arrête pour problème moteur. On attend une heure (heureusement on nous a donné l’autorisation de sortir du train, du côté safe). Une bonne demi heure après une locomotive de secours vient nous remorquer; jusqu’à St Quentin. De là commence un deuxième périple de correspondances qui durera un long moment pour terminer à 23h30 au terminus (au lieu de 19h18 initialement prévu). Une fois arrivé chez moi je pense pouvoir demander une réduction de 75% sur le prix du billet, conformément à la garantie G30. Là commencent la suite des problèmes:
J’ai fait une demande écrite via un formulaire TER hauts de France (assez étonné de ne pas avoir de problèmes insolubles avec le formulaire et d’avoir reçu une réponse automatique m’affirmant que ma demande a été prise n compte). On verra si ça donne quelque chose.
Je suis tout à fait compréhensifs quand aux problèmes techniques, et j’ai apprécié de ne voir personne se défouler sur le contrôleur et le personnel de bord qui ne sont pour rien dans l’histoire; mais je suis assez effaré de voir le parcours du combattant qui attend les voyageurs. Le service client a toujours été d’après mon expérience personnelle un mur contre lequel on ne peut rien.
Si d’autres passagers de ce même train veulent entrer en contact avec moi; avec plaisir ! Regardez dans les informations de contact en bas de ce site.
]]>sudo pacman -S core/linux-headers gcc
yay -S aur/rtl8822bu-dkms-git
I came across the problem described here
The good news is that its works well for me with 5.3.6.arch1
kernel.