Ubuntu

Comment convertir des vidéos en utilisant FFMPEG dans Ubuntu

Comment convertir des vidéos en utilisant FFMPEG dans Ubuntu

Dans le monde moderne, avec YouTube et d'autres applications de médias sociaux comme moyen grand public de visualiser les médias numériques, le téléchargement de vidéos est devenu une pratique courante. Il est devenu si courant, en fait, que la création et l'édition de fichiers audio et vidéo sont devenues la nouvelle norme en l'espace de quelques décennies seulement. Il existe évidemment des outils coûteux que l'on peut acheter pour répondre à ses besoins, mais si nous pouvions le faire gratuitement? Et si quelques lignes de code pouvaient effectuer presque toutes les tâches liées à la vidéo dont vous avez besoin?

Ffmpeg est un outil de conversion, d'extraction et d'édition vidéo gratuit et open source qui fournit une réponse à cette question! Que peut ne pas faire ffmpeg? Presque rien. Les tâches pouvant être effectuées à l'aide de ffmpeg incluent la conversion de fichiers audio, la conversion de fichiers vidéo, la conversion de photos, l'extraction de fichiers image à partir de fichiers vidéo, la génération de vidéos à partir de fichiers image, l'extraction audio de vidéo, le recadrage de vidéos et de photos, le recadrage de vidéos, -dimensionner des vidéos, augmenter le volume et créer des enregistrements d'écran.

Installer FFmpeg dans Ubuntu

Ffmpeg n'est pas pré-installé dans Ubuntu par défaut, vous devrez donc d'abord installer ce programme pour l'utiliser. Pour terminer l'installation, vous devez être l'utilisateur root. Ensuite, tapez ce qui suit pour installer FFmpeg :

sudo apt-get install ffmpeg

le apt-get installer La commande fonctionnera pour toutes les versions d'Ubuntu sauf 14.04.

Conversion audio

La conversion du type de fichier d'un fichier audio peut être effectuée en une seule ligne de code à l'aide de l'utilitaire ffmpeg. Dans ce cas, il vous suffit de passer deux paramètres : le nom du fichier d'origine et le nom du nouveau fichier. Cette commande vous permet de convertir n'importe quel format de fichier en n'importe quel autre format de fichier en détectant automatiquement les types de fichiers par nom. En tant que tel, il n'y a pas besoin de code supplémentaire pour spécifier les types de fichiers.

ffmpeg -i fichier_origine.fichier_converti mp3.mp4

Vous pouvez ajouter vos propres noms et types de fichiers à cette ligne de code. Ceci n'est que la syntaxe de base pour l'utilisation.

Conversion vidéo

Vous pouvez également convertir les types de fichiers vidéo à l'aide de ffmpeg. Lors de la saisie de la commande, tout ce dont vous avez besoin est le nom du fichier d'origine et le nom du fichier de sortie. La balise -i désigne le fichier d'entrée.

ffmpeg -i fichier_original.fichier_converti mp4.webm

Conversion de photos

Ce qui est vrai pour les fichiers vidéo et audio s'applique également aux fichiers image. Vous pouvez convertir un format photo en un autre format rapidement et facilement avec ffmpeg en utilisant simplement la syntaxe ci-dessous :

ffmpeg -i fichier_original.jpg fichier_converti.png

Extraire l'image du fichier vidéo

Ffmpeg peut également être utilisé pour extraire des images de fichiers vidéo. En d'autres termes, ce programme peut prendre des captures d'écran à des moments précis pendant une vidéo et enregistrer les captures d'écran sous forme de collection de fichiers image. Par example:

ffmpeg -i vidéo.fichier_sortie mp4.jpg

Dans ce cas, la balise -i décrit le fichier vidéo à partir duquel le ou les fichiers image seront extraits. Cependant, nous n'avons toujours pas donné au programme de spécifications quant à la qualité de l'image ou à la synchronisation de la capture d'écran. Il faut donc d'abord préciser ces détails avant de saisir le code.

Si nous écrivons ce qui suit :

ffmpeg -i vidéo.fichier_sortie mp4%d.jpg

La valeur %d suivant le nom du fichier de sortie représente une variable que vous pouvez personnaliser en fonction du nombre d'images par seconde que vous souhaitez générer à partir de la vidéo. Lorsque les images sont générées à raison d'une image par seconde, chaque photo sera étiquetée output_file1.jpg ; à deux images par seconde, output_file2.jpg ; à trois images par seconde, output_file3.jpg ; etc. Si le film a 35 images par seconde et qu'il dure une seconde, alors donner à la variable %d une valeur de 1 générera 35 photos.

Ensuite, que se passe-t-il si nous voulons capturer les images à un certain taux d'images par seconde? La valeur fps le définit dans la syntaxe ffmpeg. Pour capturer 1 image par seconde, vous devez définir la valeur fps égale à 1.

ffmpeg -i vidéo.mp4 -vf fps=1 fichier_sortie%d.jpg

De même, en définissant la valeur fps à 1/6000, la commande suivante générera 1 image toutes les 6000 secondes de vidéo :

ffmpeg -i vidéo.mp4 -vf fps=1/6000 fichier_sortie%6d.jpg

Dans la commande ci-dessus, le terme %6d va générer une variable à six chiffres. Les fichiers de sortie seront étiquetés comme suit : output_file000001.jpg, fichier_sortie000002.jpg, etc.

Maintenant, supposons que vous ne vouliez pas capturer toutes les images. Au lieu de cela, vous voulez être plus sélectif et souhaitez capturer un nombre défini d'images entre deux périodes. Ensuite, la syntaxe ressemblerait à ceci :

ffmpeg -ss 00:00:01 -t 00:00:04 -i vidéo.fichier_sortie mp4%3d.jpg

Ce code capturera des images, à partir de 00:00:01, pendant 4 secondes. En d'autres termes, la capture d'image commencera à 00:00:01 et se terminera à 00:00:05 dans la vidéo. Comme d'habitude, le numéro dans le nom du fichier de sortie aura trois chiffres (i.e., fichier_sortie001.jpg, fichier_sortie002.jpg, etc.).

Générer une vidéo à partir de fichiers image

Et si vous vouliez faire exactement le contraire et assembler des images pour former une vidéo? Ffmpeg vient à la rescousse une fois de plus!

ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p fichier_sortie.mp4

Après avoir lu les sections précédentes, vous savez maintenant ce que le terme img%03.png signifie - les fichiers image source à compiler dans la vidéo. Dans cette syntaxe, la balise -c:v représente le codec de la vidéo, fps représente la valeur d'images par seconde et r représente la fréquence d'images de la vidéo de sortie.

Extraire l'audio de la vidéo

Qu'en est-il de l'extraction de fichiers audio à partir d'un fichier vidéo? Il existe des outils sur le Web que vous pouvez utiliser pour effectuer cette tâche, mais avec ffmpeg, une ligne de code peut tout aussi bien faire le travail.

ffmpeg -i vidéo.mp4 -c:a libmp3lame -q:a 0 -map a output_file.mp3

Dans la syntaxe ci-dessus, la vidéo.mp4 est le fichier vidéo d'entrée et output_file.mp3 est le fichier audio de sortie. La balise -map a prend le flux audio par défaut et exclut tous les sous-titres, c:a spécifie le codec pour l'audio à utiliser et q:a définit un débit binaire variable pour l'audio.

Si vous souhaitez extraire uniquement une partie du fichier audio d'un fichier vidéo, vous pouvez utiliser la syntaxe suivante pour le faire. Dans le code suivant, seule la section audio comprise entre 00:00:08 et 00:00:10 est extraite :

ffmpeg -i vidéo.mp4 -ss 00:00:08 -t 00:00:10 -q:a 0 -c:a libmp3lame -q:a 0 -map a output_file.mp3

Évidemment, il y a beaucoup plus de détails que vous pouvez ajouter, si vous le souhaitez, mais l'exemple ci-dessus est un excellent point de départ.

Recadrer des vidéos et des photos

Que faire si vous voulez recadrer des vidéos? Vous pouvez soit prendre le temps et l'argent pour trouver un logiciel de recadrage ailleurs, ou vous pouvez utiliser une ligne de code avec ffmpeg pour recadrer la vidéo à la taille.

ffmpeg -i vidéo.mp4 -filter:v "crop=w=width:h=height:x:y" output_file.mp4

Par example:

ffmpeg -i vidéo.mp4 -filter:v "crop=w=550:h=200:x=100:y=200" fichier_sortie.mp4

À titre d'exemple, j'ai pris ma propre photo et j'ai essayé de la recadrer avec le code suivant :

ffmpeg -i serviteurs.jpg -filter:v "crop=w=500:h=200" out.jpg

Couper les vidéos

Le rognage des fichiers vidéo nécessite de les couper d'un moment spécifique à un autre moment précis. Par exemple, couper un fichier vidéo en deux ou trois segments reviendrait à le rogner. Encore une fois, le rognage des fichiers vidéo ou audio peut être facilement effectué à l'aide de ffmpeg.

ffmpeg -i vidéo.mp4 -ss 00:00:20 -t 00:00:10 -c:v h264 -c:a aac fichier_sortie.mp4

Dans ce cas, la balise -ss représente le début de la recherche, ou l'heure à laquelle commencer le processus de rognage. Dans la commande ci-dessus, nous commencerons à couper ou à rogner à 00:00:20. La balise t représente la durée du clip. Ici, la durée du clip coupé sera de 10 secondes. Enfin, la balise c:v correspond au codec de la vidéo utilisée, tandis que c:a correspond au codec audio utilisé.

Redimensionner la vidéo

Redimensionner des vidéos est aussi simple que de rogner et de recadrer des vidéos.

ffmpeg -i vidéo.mp4 -vf scale=320:240 output_file.mp4

Alternativement, vous pouvez également effectuer les opérations suivantes :

ffmpeg -i vidéo.mp4 -vf scale="iw/1:ih/2" fichier_sortie.mp4

Ici, la valeur iw définit la largeur d'entrée, tandis que ih définit la hauteur d'entrée. Ce dernier le redimensionnera également.

Augmenter le volume de la vidéo

Dans cet article, vous avez vu comment recadrer, rogner et convertir des fichiers vidéo et image, mais qu'en est-il de l'augmentation du volume des fichiers audio et vidéo?

ffmpeg -i vidéo.mp3 -filter:un "volume=2" output_file.mp3

Dans ce dernier cas, nous demandons humblement à ffmpeg de doubler le volume du fichier.

Créer un enregistrement d'écran

L'enregistrement de votre écran est une tâche qui est fréquemment nécessaire à effectuer, que ce soit pour des présentations, le partage de vidéos ou des réunions en ligne. Quelle que soit la raison pour laquelle vous enregistrez votre bureau, vous devrez généralement exécuter un logiciel pour le faire. Contrairement aux alternatives coûteuses, ffmpeg peut le faire pour vous gratuitement!

ffmpeg -f gdigrab -framerate 30 -i desktop -c:v libx264 output_file.mp4 -f dshow -i audio="Stereo Mix (Realtek Audio)" output_file.mp4

Dans la commande ci-dessus, la balise -f représente le format de l'enregistrement vidéo de votre écran. Suite à la valeur audio, vous mettrez dans votre source audio.

De plus, le code suivant ne récupérera que la vidéo de l'enregistrement d'écran, sans aucun son ajouté :

ffmpeg -f gdigrab -framerate 30 -i desktop -c:v libx264 -qp 0 sortie.mp4

Conclusion

Dans l'ensemble, ffmpeg est un programme extrêmement utile qui vous permet d'accomplir beaucoup de choses en une seule ligne de code. Vous pouvez acheter des outils coûteux en ligne pour répondre à vos besoins d'édition, ou vous pouvez essayer ces fonctions gratuitement en installant l'utilitaire ffmpeg.

Outils utiles pour les joueurs Linux
Si vous aimez jouer à des jeux sur Linux, il est probable que vous ayez utilisé des applications et des utilitaires comme Wine, Lutris et OBS Studio p...
Jeux HD remasterisés pour Linux qui n'ont jamais eu de version Linux plus tôt
De nombreux développeurs et éditeurs de jeux proposent une remasterisation HD d'anciens jeux pour prolonger la durée de vie de la franchise, veuillez ...
Comment utiliser AutoKey pour automatiser les jeux Linux
AutoKey est un utilitaire d'automatisation de bureau pour Linux et X11, programmé en Python 3, GTK et Qt. En utilisant ses fonctionnalités de script e...