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 ffmpegle 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.mp4Vous 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.webmConversion 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.pngExtraire 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.jpgDans 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.jpgLa 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.jpgDe 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.jpgDans 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.jpgCe 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.mp4Aprè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.mp3Dans 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.mp4Par 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 :
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.mp4Dans 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.mp4Alternativement, vous pouvez également effectuer les opérations suivantes :
ffmpeg -i vidéo.mp4 -vf scale="iw/1:ih/2" fichier_sortie.mp4Ici, 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.mp3Dans 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.mp4Dans 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.mp4Conclusion
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.