Archives par mot-clé : linux

Sortie de Kdenlive 23.04

Kdenlive 23.04 vient de sortir, ce n’est pas une simple version, elle intègre une évolution majeure attendue depuis fort longtemps par les aficionados de kdenlive dont je fais partie. Il s’agit des timelines multiples (ou nested timelines en anglais), c’est particulièrement utile pour les projets complexes et kdenlive rattrape enfin flowblade sur ce point là. Jusqu’à présent il fallait faire avec une timeline surchargée qui couvrait l’ensemble du projet avec les difficultés et contraintes que ça impose pour modifier le fil du projet, rajout, suppression ou réaménagement.
Maintenant chaque séquence du projet fait l’objet d’une timeline spécifique, comme on peut le voir sur la copie d’écran ci-dessous.

Dans cet exemple j’ai un projet avec 3 séquences et une séquence finale qui comprend le projet complet. Chaque séquence a son onglet de timeline spécifique avec le nombre de pistes, le zoom et le paramétrage qui lui sont propres. Quand on a fini de travailler sur chacune des séquences, on passe à la séquence finale qui va regrouper toutes les autres séquences, on les glisse à partir des Sources du projet sur la timeline finale dans l’ordre souhaité.

Cette version intègre bien d’autres évolutions qui sont présentées par ici, je n’ai pas encore tout testé, mais j’ai retenu l’intégration du système de reconnaissance vocale whisper pour générer des sous titres et qui permet une traduction automatique en anglais.

Pour aller plus loin un tutoriel sur l’utilisation de kdenlive patiemment entretenu par votre serviteur.

Nouveau serveur basse consommation

Alors que la sobriété énergétique devient une nécessité, j’ai des scrupules à laisser mon serveur Dell PowerEdge T310 tourné en permanence 24h/24 et 7j/7. Si je devais estimer sa consommation, sachant que l’alimentation fait 375W, au doigt mouillé on va dire qu’il consomme 150W par heure, soit 0,15kwh. Sachant que le coût du kwh est de 0,1740 € (tarif réglementé). Sur une journée, le coût est de 0,15x24x0,1740=0,62€. Sur un mois le coût est de 0,62€x30=18,8€ et sur un an 225€ tout de même, c’est assez conséquent. Alors bien sûr ce chiffre pourrait être affiné avec les heures creuses, heures pleines et mieux encore avec un contrôleur de consommation, mais ça donne un ordre de grandeur qui ne parait pas trop délirant.

Mon serveur Dell dans le garage

Or en y regardant de plus près, je fais tourner plusieurs services dessus, dont certains sont permanents, c’est à dire que je m’en sers régulièrement à plusieurs moments de la journée et d’autres beaucoup plus intermittents, il s’agit notamment de :

En résumé, mon serveur est taillé avec ses disques durs en RAID hard (2 disques SAS en RAID 1 et 4 disques SATA en RAID) pour des services intermittents notamment pour l’accès mes fichiers multimédia, vidéos et photos essentiellement. Il m’est donc venu l’idée de m’équiper d’un petit serveur basse consommation pour les services permanents et garder mon serveur Dell que j’allumerai uniquement quand j’aurai besoin d’accéder à mes fichiers multimedia.

J’ai tout de suite penser à bricoler un serveur sur la base d’un Raspberry PI 4, mais il s’avère que le coût et la puissance de l’engin n’est pas forcément très compétitif par rapport à un mini PC. Mon choix s’est donc porté sur un Lenovo M92p d’occasion à 119€ frais de port compris sur ebay.

Le Lenovo M92p au dessus de mon bloc TerraMaster D5-300C et de mon ACER Predator

Les caractéristiques sont les suivantes:

  • processeur Intel G2030T de 2,6GHz, 2 cœurs
  • 8 Go de RAM
  • disque dur SATA de 300Go

Bien qu’il ne soit pas de première jeunesse (il date de 2013, presque dix ans !), si je me fie à ce test qui compare un Raspberry PI 4b et un processeur Intel G2030, il n’y a pas photo, le G2030 reste très largement supérieur en performance. Le G2030T est un poil moins puissant (voir ici), mais il consomme légèrement moins (consommation d’énergie de 55W pour le G2030 et de 35W pour le G2030T) . Au final le M92p est donné pour une consommation d’énergie qui tourne entre 15W et 35W (voir par et ici), je divise donc ma consommation quasiment par 10 ! Je pourrai encore optimiser ma consommation en coupant automatiquement le serveur la nuit à des heures où je ne l’utilise pas. Alors certes le Raspberry est plus proche de 5W mais les performances me paraissent clairement insuffisantes pour mes services de serveur et le prix peu compétitif.

La configuration de ce nouveau serveur me prendra certainement pas mal de temps, j’ai commencé d’abord par virer windows et d’installer la distribution Linux Mageia 8. Pour l’instant j’ai mis en place l’authentification des utilisateurs en se basant sur LDAP et j’ai mis à jour les pages sur OpenLDAP et l’authentification en elle même sur mon site FUNIX. Je ne manquerai pas de donner des détails sur l’avancement de la configuration sur ce blog.

Créer un gif animé avec ffmpeg

Il y a quelques temps j’avais fait un post pour expliquer comment créer un gif animé avec GIMP, c’était un peu lourdingue et voilà une manière plus simple de le faire avec ffmpeg.

Je pars d’une vidéo réalisée avec kdenlive au format HD 1920×1080 de 7s au total qui fait 26,5Mo avec un framerate de 60 images par seconde. A cette occasion j’ai utilisé la fonction time remap pour jouer sur le ralenti et/ou accélération d’une vidéo. A vrai dire j’ai eu beaucoup de mal à m’en servir il n’est pas impossible qu’il y avait quelques bogues quand la fonction a été implantée sur kdenlive. Avec la dernière version 21.12.3 qui vient de sortir, ça a l’air de plutôt bien fonctionner. Sur mon tutoriel kdenlive, je donne les rudiments de l’utilisation de cette nouvelle fonctionnalité. Grosso modo, on place les images clés aux endroits qui vont bien sur la vidéo et on définit la vitesse avant et après chaque image clé, il faut être rigoureux pour ne pas s’embrouiller. On commence par l’image clé la plus à gauche et on est défini la vitesse après seulement.

La fonction time remap sous kdenlive

Revenons à notre gif, une fois qu’on a rendu la vidéo avec kdenlive, on tapera la commande suivante :

ffmpeg -y -i video.mp4 -filter_complex "fps=5,scale=480:-1:flags=lanczos" image.gif

Quelques explications sur la commande:

  • fps=5 permet de changer le framerate, c’est à dire qu’on va passer à 5 images par seconde, au pour réduire la taille du gif.
  • scale =480:-1 permet de passer d’un côté de 1920 à 480 et de conserver le ratio, la proportionnalité entre la largueur et la hauteur de l’image
  • flags=lanczos est l’algorithme choisi pour retailler la vidéo

Et voilà le résultat, avec un gif qui fait un peu moins de 2Mo.

Passage à MAGEIA 8 terminé

Je viens de terminer avec mon serveur Dell Poweredge T310 le passage à Mageia 8 de tous les postes de mon réseau local. Contrairement à ce que l’image ci-dessous peut indiquer, j’ai procédé une mise à jour en partant de la 7.1 sans passer par une réinstallation complète.

Dell PowerEdge T310

Ça m’aura pris un peu plus de six mois, ayant commencé en février dernier peu après la sortie de la Mageia 8 en échelonnant petit à petit dans le temps.

Continuer la lecture de Passage à MAGEIA 8 terminé

Installer un réseau vpn avec openVPN

Je dispose d’un réseau local centré autour d’un serveur Dell PowerEdge T310 qui fait office de serveurs d’authentification avec OpenLDAP, de mail et de fichiers (entre autres) comme je l’ai déjà signalé à multiples reprises sur ce blog. Je suis régulièrement en déplacement et j’avais mis en place un service de webmail sur le serveur me permettant de consulter mes mails d’un mobile ou d’un portable connecté à mon mobile où que je sois. J’avais fait un post il y a quelques temps à ce sujet qu’on trouvera ici.
En revanche pour consulter les fichiers sur mon serveur, j’utilise OpenSSH en ligne de commande, ce n’est pas franchement convivial et intuitif, mais je m’en contentais jusqu’à présent.

Il se trouve que ma petite dernière entame des études à l’étranger et j’aimerais lui faciliter les choses pour qu’elle puisse accéder aux ressources du réseau local en toute transparence et simplicité. J’ai donc pensé à créer un tunnel VPN entre son Thinkpad sous Linux/Mageia et le réseau local familial.

On trouve beaucoup de tutoriels sur internet sur le sujet, mais quasiment tous présentent une configuration où tout le flux internet du client VPN se trouve redirigé vers le serveur via le tunnel VPN. L’accès internet se fait donc via le serveur avec la technique de l’IP Masquerade. C’est sûrement intéressant dans beaucoup de cas, notamment pour une utilisation professionnelle où on souhaite filtrer l’accès à internet (voire l’interdire), ou bien encore pour surfer plus ou moins masqué, mais dans mon cas ça n’apporte rien du tout, car ça ralentit considérablement l’accès à internet sur le client. Je souhaite juste que le client accède aux ressources du réseau local privé et continue à accéder à internet via sa connexion habituelle.

Du coup j’ai travaillé sur cette configuration particulière que j’expose dans cette page où sont présentées les principales étapes pour configurer le serveur et le client VPN basé sur OpenVPN. De mon poste client je peux maintenant simplement lancer la connexion VPN où que je sois connecté et accéder du terminal ou d’un gestionnaire de fichiers aux fichiers du serveur.

Accessoirement j’ai vu également que je pouvais maintenant accéder à mon VPN via mon mobile Android. Je n’en ai pas franchement l’utilité aujourd’hui, mais pourquoi pas, pour le fun je pourrais essayer, ça fera certainement l’objet d’un nouveau post.

Installer un agenda kolab sur le webmail roundcubemail

Ma tendre et chère souhaitait pouvoir disposer d’un agenda qu’elle retrouverait sur le PC et sur son mobile pour se débarrasser de son agenda papier de moins en moins pratique. Comme je ne choisis pas la facilité et dans l’esprit que mes données ne se retrouvent pas quelque part aux US ou en Chine à la merci de hackeurs ou de revendeurs de données, j’ai choisi d’intégrer un plugin d’agenda au webmail Rouncube.

Pour mémoire je me repose sur mon serveur personnel Dell PowerEdge T310 qui tourne dans mon garage et qui fait office de cloud perso et sur lequel tourne Roundcube qui me permet d’accéder à mes mails de mon mobile comme expliqué par ici. J’ai choisi d’installer le plugin kolab, le détail de l’installation est donné par . Voilà ce que ça donne sur l’ordinateur

et sur le mobile

le tout est évidemment complètement synchronisé.

Continuer la lecture de Installer un agenda kolab sur le webmail roundcubemail

Mise à jour de FUNIX.org

J’ai opéré une mise à jour récente de funix.org pour prendre en compte quelques évolutions. Dans le détail il s’agit de :

pages divers
– page trucs et astuces, mise à jour des astuces liées aux logiciel libres qui sont issues de ce blog
– page piloter une montre GPS garmin, rajout du pilotage d’une garmin forerunner 735XT sous linux et rajout d’un paragraphe sur les applications de visualisation GPS en ligne comme GPS Visualizer pour n’en citer qu’un.
 
pages multimédia
– page outils de base pour la vidéo, passage à flac 1.3.3, faad 2.9.2, gpac 1.0.0, x265 3.4, OpenCV 4.4.0, et ffmpeg 4.3.1
– page mediacenter, passage à kodi 18.8 Leia qui est essentiellement une version avec des corrections de bogues et qui ne comprend pas de nouvelles fonctionnalités
– page outils audio divers passage au lecteur audio Audacious 4.0.5 dont l’évolution majeure est le passage à Qt5 sinon les évolutions sont assez peu sensibles, passage la version 1.4.0rc2 pour l’autre lecteur vidéo Clementine qui tourne maintenant sous Qt5 la version stable n’est plus très proche, passage au lecteur vidéo lollypop 1.3.6 et Music Brainz Picard 2.4.4 qui permet de taguer automatiquement les fichiers audio.
– page lecteurs vidéo, passage au lecteur vidéo vlc 3.0.11 qui apporte juste des correctifs

Audacious 4.0.5



pages montage vidéo
– page outils de montage vidéo, passage à mlt 6.22.1, kdenlive 20.08.1, Flowblade 2.6, Shotcut 20.07.11, SynfigStudio 1.3.16 et blender 2.90
– page tutoriel kdenlive, passage à la version 20.08.1 et rajout de fonctionnalités issues de cette nouvelle version, notamment les préconfigurations d’affichage en fonction des phases de travail (rushes, effets, colorimétrie, etc.).

kdenlive 20.08.1

pages gestion des mails
– page filtrer les mails, rajout de quelques subtilités dans la configuration de SpamAssassin pour gérer les whitelist et blacklist, et passage à l’antivirus Clamav 0.103.0. Malgré cela je continue à rencontrer encore des soucis avec les whitelist et les blacklist qui sont mal prises en compte.

Dans la page de téléchargement
Mise à jour du tutoriel kdenlive pour prendre en compte la nouvelle version

Normaliser le son sous linux

J’écoute régulièrement de la musique avec différents lecteurs audio présentés dans cette page, mais ils présentent tous l’inconvénient de ne pas normaliser le son. La normalisation du son consiste à abaisser le volume de certaines musiques et d’augmenter le volume pour d’autres de manière à ce qu’à l’oreille le volume du son soit identique. Cela dépend donc beaucoup du niveau sonore d’enregistrement du fichier audio d’origine, alors certes il existe des commandes qui permettent une fois intégrées dans un script bash de normaliser par lot des mp3. On peut citer par exemple mp3gain. Mais je préfèrerais autant ne pas toucher à mes fichiers audio pour ne pas risquer de les dégrader et que ça se fasse au niveau de la sortie audio pilotée par pulseaudio.

J’ai vainement essayé de configurer pulseaudio pour normaliser en temps réel. Pour cela, sur ma Mageia 7.1 j’ai installé le package ladspa-plugins-swh et rajouté les lignes suivantes dans le fichier /etc/pulse/default.pa

load-module module-ladspa-sink  sink_name=ladspa_sink  master=combined plugin=dyson_compress_1403  label=dysonCompress  control=0,1,0.5,0.99

# Create normalized sink that outputs to the compressed sink
load-module module-ladspa-sink  sink_name=ladspa_normalized  master=ladspa_sink  plugin=fast_lookahead_limiter_1913  label=fastLookaheadLimiter  control=10,0,0.8

# Comment out the line below to disable setting the normalized output by default:
set-default-sink ladspa_normalized

Mais rien n’y fait, il n’arrive pas à charger le module et je bute sur cette erreur

pulseaudio[5186]: Failed to load module "module-ladspa-sink" (argument: ""): initialization failed.

Sur internet on trouve bien comme astuce qu’il faut que la variable LADSPA_PATH pointe vers les bibliothèques LADSPA qui se trouve dans la pratique sous /usr/lib64/ladpsa. Mais ce n’est pas suffisant, je soupçonne que ça ne fonctionne pas car pulseaudio est lancée en mode system et que c’est pulse le propriétaire du processus.

Du coup j’ai changé mon fusil d’épaule et j’ai installé PulseEffects. C’est un logiciel qui s’interface entre les lecteurs vidéo et le serveur de son pulseaudio et qui permet d’appliquer des traitements et des effets en temps réel au son qui est envoyé vers la sortie audio de pulseaudio. Il permet notamment de normaliser le son.

Dans le screenshot ci-dessous, j’ai appliqué les effets Maximiser et Auto Gain qui me permettent d’avoir un volume à peu près constant entre les différents titres audio. La configuration est très simple, on lance son lecteur multimédia puis PulseEffects et par défaut le son du lecteur multimédia est filtré par les effets de PulsefEffects avant d’être renvoyé vers la sortie audio de pulseaudio. Plus besoin d’avoir à jouer manuellement sans cesse sur le niveau du volume.

kdenlive 19.12.0 et accélération matérielle

Depuis quelque temps kdenlive me déçoit de plus en plus, je le trouve de plus en plus lent et j’ai perdu les 3/4 des effets qui pouvaient exister par le passé (dont ceux apportés par frei0r). Il devient impossible de monter sans activer les clips intermédiaires, fonction qui permet de dégrader la vidéo lors du montage, mais qui préserve la qualité au rendu de la vidéo finale. Et encore ça reste très lent et laborieux dès qu’on rajoute des effets et transitions un tant soit peu compliqués. Et dire qu’avec les versions 0.9.X c’était parfaitement fluide de monter en HD et on disposait d’un stock considérable d’effets (même si dans la pratique j’en utilisais à peine 10%). Il semblerait que mes problèmes avec kdenlive remontent au passage du moniteur SDL à OpenGL et à la migration de Qt4 (kdenlive <=0.9x) vers Qt5 (kdenlive >=15.x). J’ai constaté un ralentissement général, voire des régressions fonctionnelles et la réapparition de plantage qui avait totalement disparu avec les dernières versions sous Qt4. Il se trouve qu’il existe l’extension movit qui permet de faire bosser un peu plus la GPU et quand je l’activais tout revenait dans l’ordre, je retrouvais la fluidité perdue, sauf que ça plantait toutes les 5min 🙁 .

Il faut croire que tout le monde ne souffre pas du même problème, j’ai pensé à un problème de compatibilité matérielle mais j’ai quand même un i7 avec 16Go de RAM, j’ai également soupçonné ma carte NVIDIA GTX 760 d’être la source de mes ennuis. J’ai même songé à changer de carte. Finalement j’ai exploré la voie de l’accélération matérielle, ça permet de décharger le CPU et la mémoire et de solliciter davantage le GPU et la mémoire de la carte graphique, notamment pour tous les calculs d’encodage et de décodage vidéo. Concrètement, comme à mon habitude en vieux dinosaure que je suis, j’ai récupéré les sources et tout recompilé. J’ai donc activé toutes les fonctions d’accélérations matérielles des différentes bibliothèques sur lesquelles se repose kdenlive. Pour une GPU NVIDIA il s’agit d’activer les bibliothèques et API suivantes :

  • VDPAU (Video Decode and Presentation API for Unix) bibliothèque développée par NVIDIA,
  • NVENC et NVDEC pour l’encodage et le décodage vidéo notamment des codecs H264 et HEVC, ils sont compris dans le package NVIDIA VIDEO CODEC SDK (ex CUVID) et utilisent CUDA (Compute Unified Device Architecture) qui pour simplifier est une boîte à outil de développement pour les GPU également développée par NVIDIA.
  • OpenCL (OpenComputing Language) qui permet de faire des programmes qui vont utiliser à la fois des CPU multi cœurs et la GPU.
  • OpenCV qui sert pour le traitement d’images en temps réel notamment pour faire du tracking d’éléments dans une vidéo.
Continuer la lecture de kdenlive 19.12.0 et accélération matérielle