Files
varlog/_cache/similar/1bff95fd-646b-47da-b5b3-691ab1eea111.json
T
2026-05-15 10:37:48 +02:00

1 line
20 KiB
JSON

[{"uuid":"4429f822-8710-4a2c-8c05-abe8b7e0f6fd","slug":"changer-de-resolution-d-une-video-avec-ffmpeg","title":"Changer de résolution d'une vidéo avec FFmpeg","category":"Informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-03-08 18:08:49","created_at":"2023-03-08 18:08:49","updated_at":"2023-03-08 18:08:49","tags":[],"plain":"Dans ce tutoriel sur FFmpeg, nous allons apprendre à changer la résolution d'une vidéo en utilisant l'outil en ligne de commande de FFmpeg. Le changement de résolution est une opération courante en édition vidéo, en traitement et en compression. Il est souvent utilisé dans le contexte du streaming vidéo ABR, où une seule vidéo source est compressée en plusieurs combinaisons bitrate-resolution. Pour déterminer la résolution d'une vidéo d'entrée, nous allons utiliser l'outil , qui est inclus dans les compilations FFmpeg. Nous allons exécuter la commande suivante dans la ligne de commande pour récupérer la résolution de la vidéo d'entrée : ffprobe -v error -selectstreams v:0 -showentries stream=width,height -of csv=s=x:p=0 input.mp4 Cette commande utilise l'option pour sélectionner le flux vidéo de la vidéo d'entrée, pour afficher les informations sur la largeur et la hauteur du flux vidéo, et pour formater la sortie en une chaîne de caractères . L'outil affichera la résolution de la vidéo d'entrée sur la console. Mettre à l'échelle la résolution d'une vidéo\nPour mettre à l'échelle ou changer la résolution d'une vidéo à l'aide de FFmpeg, il est nécessaire d'utiliser le filtre d'échelle (scale filter) de FFmpeg. Pour utiliser ce filtre, voici la commande à utiliser: ffmpeg -i input.mp4 -vf scale=$w:$h <encoding-parameters> output.mp4 où et correspondent à la largeur et la hauteur souhaitées pour la vidéo de destination. Par exemple, peut être utilisé pour redimensionner la vidéo à une résolution de 480p. Après que FFmpeg ait changé la résolution de la vidéo, il va la réencoder avec cette nouvelle résolution. Dans la ligne de commande ci-dessus, des paramètres d'encodage peuvent être ajoutés pour encoder la vidéo mise à l'échelle avec ces paramètres. Par exemple, il est possible de demander à FFmpeg de l'encoder en utilisant pour obtenir un encodage H.264/AVC de qualité élevée, ou en utilisant d'autres paramètres selon le besoin. Changer la résolution d'une vidéo en conservant l'aspect ratio\nL'aspect ratio d'une image est très bien défini sur Wikipédia comme suit : l'aspect ratio d'une image est le rapport entre sa largeur et sa hauteur. Il est couramment exprimé sous forme de deux nombres séparés par un deux-points, comme dans 16:9. Pour un aspect ratio x:y, l'image est large de x unités et haute de y unités. Il est très courant de rencontrer ce problème lors du travail avec des vidéos : Comment changer la résolution d'une vidéo (ou la mettre à l'échelle) tout en gardant l'aspect ratio d'origine de la vidéo ? Dans FFmpeg, si vous souhaitez mettre à l'échelle une vidéo tout en conservant son aspect ratio, il est nécessaire de définir l'une des deux paramètres, la hauteur ou la largeur, et de définir l'autre paramètre à . Si vous définissez la hauteur, vous devez définir la largeur à et vice versa. Pour démontrer cela, supposons que les commandes suivantes prennent une vidéo HD (1920x1080) en entrée. Et, supposons que nous souhaitons changer sa résolution. Cela peut être fait de deux manières comme discuté précédemment, alors essayons les deux façons.\n- Spécifiez la largeur pour conserver l'aspect ratio ffmpeg -i input.mp4 -vf scale=320:-1 output.mp4 La vidéo résultante aura une résolution de 320x180. C'est parce que 1920/320 = 6. Ainsi, la hauteur est mise à l'échelle à 1080/6 = 180 pixels.\n- Spécifiez la hauteur pour conserver l'aspect ratio ffmpeg -i input.mp4 -vf scale=-1:720 output.mp4 La vidéo résultante aura une résolution de 1280x720. C'est parce que 1080/720 = 1,5. Ainsi, la largeur est mise à l'échelle à 1920/1,5 = 1280 pixels.\n- Pour plus d'informations sur l'utilisation de FFimpeg pour créer des vidéos à partir d'images ou pour d'autres tâches liées à la vidéo, veuillez vous référer à la documentation officielle de FFmpeg disponible sur leur site web. Protection contre l'upscalling\nChaque action de mise à l'échelle, à la hausse ou à la baisse, ne produira généralement pas le même niveau de qualité vidéo que la vidéo d'origine. Il est susceptible d'y avoir quelques pertes de compression lors du processus de mise à l'échelle. Si la résolution d'entrée est trop faible, FFmpeg offre une astuce pour éviter la mise à l'échelle. ffmpeg -i input.mp4 -vf \"scale='min(320,iw)':'min(240,ih)'\" output.mp4 Dans la ligne de commande ci-dessus, la largeur/hauteur minimale pour effectuer la mise à l'échelle est fixée respectivement à 320 et 240 pixels. Il s'agit d'une manière très simple de se protéger contre une mise à l'échelle de mauvaise qualité. Cela ne garantit pas une qualité de sortie exceptionnelle, mais cela permet de s'assurer que la qualité ne sera pas dégradée par l'ajout de pixels qui n'existent pas dans l'entrée originale. Pour plus d'informations sur l'utilisation de FFmpeg pour la mise à l'échelle de vidéos, veuillez vous référer à la documentation officielle de FFmpeg. Il est possible d'utiliser la commande suivante pour mettre à l'échelle la vidéo tout en conservant l'aspect ratio et en utilisant la largeur minimale de 320 pixels : ffmpeg -i input.mp4 -vf \"scale='min(320,iw)':'-1'\" output.mp4 Dans cette commande, la hauteur est définie à -1 pour que FFmpeg calcule automatiquement la hauteur en fonction de l'aspect ratio d'origine de la vidéo, tandis que la largeur est définie à la valeur minimale de 320 pixels."},{"uuid":"968b0e93-d54b-4394-9c54-d9f4ee59d816","slug":"ffmpeg-mp3-tag-metadata","title":"ffmpeg : gestion des metadata dans un MP3","category":"Informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-02-28 20:02:45","created_at":"2023-02-28 20:02:45","updated_at":"2023-02-28 20:02:45","tags":[],"plain":"Utilisation du programme ffmpeg pour manipuler les metadata des fichiers MP3. Cela impactera directement les TAG des mp3 et les informations présentes dans iTunes et autres bibliothèques multimédia.\nCréer un fichier metadata\nExemple de fichier metadata.txt : Autre exemple : Liste des metadata possibles\nWindows | iTunes (Info tab) | id3v2.3 | id3v2.4 | ffmpeg key | ffmpeg example| |\n------- | ----------------- | ------- | ------- | ---------- | --------------- |\nTitle | Title | TIT2 | title | -metadata title=”Adagio for Strings” |\nSubtitle | Description \\\\ (Video tab) | TIT3 | TIT3 | -metadata TIT3=”Op. 91″ |\nComments | Comments | COMM | | not implemented |\nContributing artists | Artist | TPE1 | artist | -metadata artist=”Yo Yo Ma/London Symphony” |\nAlbum artist | Album Artist | TPE2 | albumartist | -metadata albumartist=”London Symphony” |\nAlbum | Album | TALB | album | -metadata album=”String Classics” |\nYear | Year | TYER | date | -metadata date=”2012″ |\n# | Track Number | TRCK | track | -metadata track=”3/12″ \\\\ (means track number 3 of 12) |\nGenre | Genre | TCON | genre | -metadata genre=”Classical” |\nPublisher | | TPUB | publisher | -metadata publisher=”London Publishing” |\nEncoded by | | TENC | encodedby | -metadata encodedby=”Telarc” |\nAuthor URL | | WOAR | | not implemented |\nCopyright \\\\ (Not Editable) | | TCOP | copyright | -metadata copyright=”℗ Telarc” |\nComposers | | TCOM | composer | -metadata composer=”J.S. Bach” |\nConductors | | TPE3 | performer | -metadata performer=”T. S. Miles” |\nGroup description | Grouping | TIT1 | TIT1 | -metadata TIT1=”The Classics” |\nPart of set | Disc Number | TPOS | disc | -metadata disc=”1/2″ \\\\ (means disc number 1 of 2) |\nInitial key | | TKEY | TKEY | -metadata TKEY=”G” |\nBeats-per-minute | BPM | TBPM | TBPM | -metadata TBPM=”120″ |\nPart of a compilation | Part of a compilation | TCMP | compilation | not implemented |\nTLAN | language | -metadata language=”eng” |\nTSSE | encoder | -metadata encoder=”iTunes v10″ |\nlyrics | voir http:id3.org/Lyrics3v2 |\ncreationtime | -metadata creationtime=\"2013-05-02 22:01:04″ |\nalbum-sort | -metadata album-sort=\"String Classics″ |\nartist-sort | -metadata artist-sort=\"London Symphony″ |\ntitle-sort | -metadata title-sort=\"Adagio for Strings″ | Fichier metadata.txt vide basé sur toutes les metadata possibles gérées par ffmpeg : Liste des genres\nLa liste des genres est définie par la norme ID3. Elle est arrêtée depuis la version ID3v1 Sources : http:id3.org/id3v2.4.0-frames\nAjouter des metadata\nAjouter les tag définis dans le fichier metadata.txt : Pour Windows, ne pas oublier d'ajouter les options suivantes : 1. id3v2version 3\n1. writeid3v1 1 ffmpeg -i in.mp3 -i metadata.txt -mapmetadata 1 -c:a copy -id3v2version 3 -writeid3v1 1 out.mp3\n--\nAjouter des tag dans la ligne de commande avec une image :\n--\nAjouter les tag définis dans le fichier metadata.txt avec une image : Supprimer\nPar exemple, pour supprimer le tag informant le nom de l'artiste :\n--\nSupprimer toutes les metadata : Extraire les metadata\nExtraire les metadatas d'un fichier MP3 : Le résultat est écrit dans le fichier metadata.txt\n--\nExtraire les metadatas de tous les fichiers MP3 présents dans le dossier courant : for f in .mp3 ; do ffmpeg -i \"$f\" -f ffmetadata \"${f%.}.txt\" ; done\n Le résultat est écrit dans le fichier de même nom que le MP3 avec l'extension txt au lieu de mp3 Informations sur ce document\nDocument rédigé par le 27/10/2019 à 09:31.\\\\\nModifié le 27/10/2019 à 11:30. Librement inspiré des pages suivantes :\nhttp:jonhall.info/createid3tagsusingffmpeg/\nhttps:*ffmpeg.org/ffmpeg-all.html#mp3 \\\\"},{"uuid":"46f2f084-8dd8-497a-aef0-4728367ce753","slug":"convertir-des-images-en-ligne-de-commande-sous-linux","title":"Convertir des images en ligne de commande sous Linux","category":"linux","author":"cedric@abonnel.fr","cover":"cover.svg","published":true,"published_at":"2025-12-28 14:54","created_at":"2025-12-28 14:54:41","updated_at":"2026-05-12 00:51:02","tags":[],"plain":"La manipulation d'images depuis le terminal est une de ces choses qu'on apprend une fois et qu'on utilise pour toujours. Pas besoin de GIMP, pas besoin d'ouvrir quoi que ce soit : une commande, et c'est réglé.\r\n\r\nVoici les outils que j'utilise concrètement, et dans quels cas.\r\n--\r\n\r\nImageMagick, le plus polyvalent\r\n\r\nC'est l'outil de base. Il gère à peu près tous les formats qui existent, et la syntaxe est toujours la même. L'installation est classique :\r\n\r\n\r\n\r\nConvertir un format :\r\n\r\n\r\n\r\nRedimensionner sans toucher au ratio, en posant une limite maximale :\r\n\r\n\r\n\r\nLe est important — sans lui, ImageMagick agrandit aussi les petites images. Avec, il ne fait que réduire.\r\n\r\nPréparer une image pour le web, en supprimant les métadonnées EXIF et en compressant :\r\n\r\n\r\n\r\nPour traiter un répertoire entier, fait le même boulot mais modifie les fichiers en place — toujours travailler sur une copie ou rediriger vers un autre dossier :\r\n--\r\n\r\nlibvips, pour les traitements lourds\r\n\r\nQuand il y a des centaines de photos ou des images très lourdes (scans, RAW exportés), libvips est nettement plus rapide et utilise beaucoup moins de mémoire qu'ImageMagick. Il charge les images en flux au lieu de tout mettre en RAM.\r\n\r\n\r\n\r\n\r\n\r\nLa syntaxe est moins intuitive qu'ImageMagick mais les gains sur des gros volumes sont sensibles.\r\n--\r\n\r\nFFmpeg, pas que pour la vidéo\r\n\r\nFFmpeg est surtout connu pour la vidéo, mais il convertit les images aussi — utile quand il est déjà installé et qu'on veut éviter une dépendance supplémentaire, ou pour extraire des frames depuis une vidéo :\r\n\r\n\r\n\r\nRedimensionner en conservant le ratio :\r\n--\r\n\r\nLes métadonnées EXIF avec exiftool\r\n\r\nLes appareils photo embarquent beaucoup d'informations dans les fichiers : coordonnées GPS, modèle d'appareil, réglages. Avant de publier une photo, il vaut mieux vérifier ce qu'elle contient :\r\n\r\n\r\n\r\nImageMagick peut aussi supprimer les EXIF avec , mais exiftool offre plus de contrôle quand on veut garder certaines balises et supprimer d'autres.\r\n--\r\n\r\nFichiers RAW\r\n\r\nPour les CR2, NEF, ARW et autres formats propriétaires d'appareils photo, est la solution la plus propre :\r\n\r\n\r\n\r\nIl applique les mêmes algorithmes de développement que l'interface graphique de darktable. est une alternative plus ancienne et plus bas niveau :\r\n--\r\n\r\nHEIC, le format Apple\r\n\r\nLes iPhone exportent leurs photos en HEIC depuis iOS 11. Le format est compact, mais Linux ne le gère pas nativement — il faut convertir avant de pouvoir travailler dessus.\r\n\r\nLe paquet fournit , l'outil le plus direct :\r\n\r\n\r\n\r\nImageMagick peut aussi s'en charger si est installé sur le système :\r\n\r\n\r\n\r\nPour vérifier que le support HEIC est bien disponible :\r\n\r\n\r\n\r\nConversion d'un dossier entier :\r\n--\r\n\r\nEn pratique\r\n\r\nConversion d'un dossier de PNG en WebP :\r\n\r\n\r\n\r\nPipeline complet pour publication web — redimensionnement, suppression EXIF, compression :\r\n\r\n\r\n\r\nTraitement récursif sur un arbre de dossiers :\r\n--\r\n\r\nRécap rapide\r\nCas d'usage | Outil |\r\n---|---|\r\nUsage général | ImageMagick |\r\nGros volumes / performance | libvips |\r\nDéjà dans le pipeline vidéo | FFmpeg |\r\nFichiers RAW | darktable-cli |\r\nHEIC (iPhone) | heif-convert ou ImageMagick |\r\nLecture / nettoyage EXIF | exiftool |\r\n\r\nPour 90 % des besoins courants, ImageMagick suffit. libvips vaut le coup d'être appris si on traite régulièrement des lots importants."},{"uuid":"a5f28760-a7ec-474c-af5d-c0057edfe623","slug":"format-ogg-vorbis","title":"Format OGG Vorbis","category":"Informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-02-28 20:08:15","created_at":"2023-02-28 20:08:15","updated_at":"2023-02-28 20:08:15","tags":[],"plain":"OGG Vorbis est un format de compression audio numérique libre et ouvert, conçu pour offrir une qualité sonore élevée avec une taille de fichier plus petite que d'autres formats de compression audio avec perte. Le format OGG Vorbis utilise une technique de compression de données appelée \"Vorbis\", qui a été développée par l'organisation Xiph.Org. Le format OGG Vorbis est similaire à d'autres formats de compression audio avec perte, tels que MP3 ou AAC, mais il utilise un algorithme de compression différent pour obtenir une qualité sonore équivalente avec une taille de fichier plus petite. Le format OGG Vorbis utilise une compression de données de type \"psychoacoustique\", qui prend en compte les limites de la perception auditive humaine pour éliminer les parties du signal audio qui ne peuvent pas être entendues par l'auditeur. Le format OGG Vorbis prend en charge des débits binaires variables allant de 16 kbit/s à 320 kbit/s, ce qui permet d'optimiser la qualité et la taille du fichier en fonction des besoins. Le format est également capable de gérer des taux d'échantillonnage élevés jusqu'à 192 kHz.\nBitrate | Réglage pour oggenc | Usage |\n------- | ------------------- | ----- |\n48 | -1 | Très mauvais, à utiliser uniquement sur du contenu vocal |\n64 | 0 | Très mauvais, à utiliser uniquement sur du contenu vocal |\n80 | 1 | Très mauvais, à utiliser uniquement sur du contenu vocal |\n96 | 2 | Très mauvais, à utiliser uniquement sur du contenu vocal |\n112 | 3 |\n128 | 4 | Mauvais, pertes très audibles dans les aigus, débit courant en mp3 |\n160 | 5 |\n192 | 6 | Un peu moins mauvais, pertes sensibles |\n224 | 7 |\n256 | 8 | Qualité basique, commence à ne plus s'entendre |\n320 | 9 | Meilleur rapport volume/qualité, pertes très peu (voire pas) sensibles |\njusqu'à 500 | 10 | déconseillé, utiliser plutôt une compression sans perte | Le format OGG Vorbis est utilisé pour la diffusion en continu de musique sur Internet, ainsi que pour la distribution de fichiers audio de haute qualité. Il est pris en charge par de nombreux lecteurs multimédias et logiciels de traitement audio, et est utilisé dans certains systèmes d'exploitation, tels que Linux et Android, comme format audio par défaut. OGG Vorbis est également utilisé dans le format de conteneur multimédia open source Ogg, qui peut contenir des fichiers audio et vidéo encodés dans différents codecs. Le format audio OGG Vorbis est utilisé par plusieurs formats de fichiers audios courants, notamment : ogg, oga, flac Convertir avec ffmpeg\nQualité <u>youtube</u> 192k - qualité 6 Qualité <u>podcast</u> 128k - qualité 4 Qualité <u>archive</u> 320k - qualité 9 Convertir avec oggenc\nLe programme oggenc encode les fichier WAV, AIFF, ou Ogg Vorbis en format audio Ogg Vorbis. Qualité <u>podcast</u> 128k - qualité 4 Qualité <u>youtube</u> 192k - qualité 6 Qualité <u>archive</u> 320k - qualité 9 Quelques programmes intéressants\nvorbisgain normalize-ogg"},{"uuid":"398c62e1-4957-49de-aa2e-26ba1578b468","slug":"opus","title":"Format Opus","category":"Informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-02-28 20:05:33","created_at":"2023-02-28 20:05:33","updated_at":"2023-02-28 20:05:33","tags":[],"plain":"Opus est un codec audio numérique libre et ouvert, conçu pour fournir une qualité sonore élevée avec une faible latence de codage et de décodage. Opus est un format de compression audio à débit binaire variable, qui permet d'optimiser la qualité et la taille des fichiers en fonction des besoins. Le codec Opus a été développé par l'Internet Engineering Task Force (IETF), un organisme qui travaille sur la standardisation des protocoles Internet. Il a été créé à partir de deux codecs existants, le SILK de Skype et le CELT (Constrained Energy Lapped Transform), et vise à combiner les avantages de ces deux codecs pour offrir une qualité sonore élevée et une compatibilité universelle. Opus prend en charge une large gamme de débits binaires, allant de 6 kbit/s à 510 kbit/s, ce qui permet d'optimiser la qualité sonore et la taille des fichiers pour différents types d'applications. Il prend également en charge la stéréo et la mono, ainsi que les taux d'échantillonnage allant jusqu'à 48 kHz. Le format Opus est conçu pour être polyvalent et universel, et peut être utilisé pour une variété d'applications, telles que la diffusion en continu, les jeux en ligne, la communication vocale sur Internet, les appels vidéo, la diffusion de musique en direct et les podcasts. Le format est pris en charge par de nombreux lecteurs multimédias et logiciels de traitement audio, et est devenu une norme de facto pour la communication vocale en temps réel sur Internet. Voici quelques indications de débits pour le format OPUS : <u>Audiobooks / Podcasts</u>\\\\\n1 voix => 24 Kb/s\\\\\n2 voix => 32 kb/s <u>Musique en streaming ou radio</u>\\\\\n64 - 96 kb/s <u>Musique en local</u>\\\\ \n96 - 128 kb/s c'est un coef de 4\\\\\n5.1 - 128 - 256 kb/s\\\\\n7.1 - 256 - 450 kb/s\\\\ Convertir avec ffmpeg et opusenc\nL'encodeur pour obtenir des fichiers OPUS s'appelle opusenc. Le fichier d'entrée doit être au format Wave, AIFF, FLAC, Ogg/FLAC, ou raw PCM. Les scripts shell suivant utilisent les programmes ffmpeg et opusenc pour convertir des fichiers audio dans deux formats différents avec une certaine qualité et stocker les fichiers résultants dans le même répertoire que les fichiers sources. <u>Qualité archive 32k - podcast audio</u> Conversion en PCM S32LE avec FFmepg puis en format Opus avec opusenc avec un débit binaire de 32 kbit/s : <u>Qualité archive 64k - stream music</u> Conversion en format PCM non compressé avec FFmepg puis en format Opus avec opusenc avec un débit binaire de 64 kbit/s : <u>Qualité archive 96k - radio</u> Conversion en format PCM non compressé avec FFmepg puis en format Opus avec opusenc avec un débit binaire de 96 kbit/s : <u>Qualité archive 128k - archive</u> Conversion en format PCM non compressé avec FFmepg puis en format Opus avec opusenc avec un débit binaire de 128 kbit/s : <u>Qualité archive 128k - archive, pour des fichiers WAV</u> Conversion en format Opus avec opusenc avec un débit binaire de 128 kbit/s : Avec ce script il faut s'assurer que le format du fichier en entrée soit accepté par opusenc. <u>Qualité archive 152k - utilisé par Youtube</u> Conversion en format PCM non compressé avec FFmepg puis en format Opus avec opusenc avec un débit binaire de 152 kbit/s :"}]