2 pièce(s) jointe(s)
Encore un convertisseur vidéo…
Bonjour,
Il y en a qui jouent à Clash of Clans, moi, je joue avec le pascal. Comme je fais aussi de petites vidéos, j'ai écrit ces jours derniers plusieurs interfaces pour FFMPeg et d'autres logiciels CLI utilisant la même fiche drag-drop que j'ai écrite avant pour ne pas tout recommencer à chaque fois. J'utilisais parfois WinFF, mais ce logiciel s'avère un peu opaque et surtout inapte à prendre en charge les chemins de fichiers en UTF-8. J'ai écrit pour ce projet ma petite fonction de conversion qui marche pour les langues à alphabet latin (sauf qques caractères, tchèques notamment, qu'il faudrait ajouter).
Voici une des plus élaborées, que j'utilise pour convertir des vidéos montées avec Shotcut, Openshot ou kdenlive et exportées dans un format sans perte.
Conversion de n’importe quelle vidéo en MKV, MP4, M4V, MOV, WMV, TS et XVID avec réencodage
Nécessite ffmpeg et ffplay. C’est un GUI pour FFMpeg qui convertit les fichiers vidéo en x264 et x265 avec son AAC, en WMV avec son WMA et XVID avec son MP3. Choix de présélections (très rapide, rapide, moyenne, lente, très lente, etc.) pour la qualité vidéo, choix du bitrate et de la fréquence d’échantillonnage pour le son, qui peut aussi être gardé sans rééchantillonnage. Les réglages par défaut donnent une très bonne qualité. On peut cacher les réglages avancés et choisir seulement le conteneur de sortie avec les réglages par défaut.
Rappel sur les options CRF (Constant Rate Factor) de FFMpeg : 0 (zéro) donne une vidéo sans perte, qui risque d’être volumineuse et illisible sur nombre de lecteurs. 23 est le choix par défaut pour une vidéo de bonne qualité. Entre 15 et 18, on aura un résultat visuellement sans perte. 51 est le réglage donnant le maximum de pertes avec un x264 8 bits. On peut taper d’autres chiffres à la place de ceux qui sont proposés.
J’ai ajouté aussi la possibilité de redimensionner la vidéo en multipliant ou divisant par un nombre donné ; si le texte de la boîte commence par *, le rééchantillonnage sera celui qu’on aura choisi dans la liste “Méthode upscale” ; Lanczos par défaut pour une meilleure qualité. On peut aussi essayer spline, etc. (pour réduire la taille, le choix est désactivé, car les algorithmes complexes ne sont utiles que pour agrandir). La possibilité d’accentuer ou de réduire la netteté de la luma par masque flou (unsharp), réglable avec un curseur (flou pour les valeurs négatives), peut être utilisée pour toutes les conversions. On peut aussi prévisualiser une vidéo (avant traitement) en cliquant sur un bouton ou en double-cliquant sur le nom du fichier dans la liste. L’exécutable accepte aussi d’être lancé avec les noms de fichiers en ligne de commande.
J’ai ajouté après coup la possibilité d’encoder en WMV et en XVID (ou DivX ; pour mémoire, car ce codec complètement dépassé ne peut servir que pour de vieux lecteurs de salon). On peut aussi mettre du x264/5 dans un conteneur AVI, mais XVID est le choix par défaut. J’ai un peu pataugé là-dessus, parce que le projet initial était clair alors que celui-ci est un peu le mariage de la carpe et du lapin. L’introduction du codec Microsoft, mal documenté, et du vieil XviD nécessitait de nouveaux boutons, l’utilisation de nouveaux codecs audio (wma et mp3) et ça a fortement bousculé mon code.
Mais ça vaut largement toutes les saloperies en téléchargement gratuit et pleines de virus qu’on trouve un peu partout.
NB : Je conseille de ne convertir qu’un fichier à la fois, parce que dans le cas contraire, toutes les conversions démarreraient presque en même temps, ce qui avec de gros fichiers et des codecs nécessitant de gros calculs bloquerait vite la machine. Il faudrait modifier cette procédure, mais je voudrais éviter d’avoir à écrire un batch intermédiaire.
Pièce jointe 266859
Je n'ai pas encore introduit les {$ifdef} pour la compatibilité Linux, mais c'est une formalité et en ce moment je ne me sers presque plus de Linux parce que j'hésite interminablement entre la mise à jour en ligne de mon Ubuntu Studio 14.04 qui m'est proposée au démarrage et qui va tout détruire comme d'habitude et une réinstallation radicale. Je suis loin de maîtriser les finesses de Lazarus / FPC et j'ai parfois un peu l'impression d'écrire du Basic comme en 1985, mais les critiques constructives seront bienvenues.
Merci.