Gadget Python : terminez une journée de travail en cinq minutes, c'est tellement délicieux

王林
Libérer: 2023-05-23 16:43:06
avant
1473 Les gens l'ont consulté

Gadget Python : terminez une journée de travail en cinq minutes, cest tellement délicieux

Introduction

FFmpeg est un ensemble de puissants programmes de traitement audio et vidéo et la base de nombreux logiciels audio et vidéo. est devenu la norme de l'industrie pour le traitement audio et vidéo. Cependant, l'utilisation de FFmpeg à partir de la ligne de commande présente un certain coût d'apprentissage, et la bibliothèque ffmpeg-python résout très bien ce problème.

Vous pouvez utiliser ffmpeg dans le code python après une simple installation via pip.

pip3 install ffmpeg-python
Copier après la connexion

Obtenir des informations sur la vidéo

path = 'main.mp4'
probe = ffmpeg.probe(path)
video_stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'video'), None)
width = int(video_stream['width'])
height = int(video_stream['height'])
print(width, height)
Copier après la connexion

Nous pouvons utiliser le flux pour obtenir des informations de base sur la vidéo, telles que la taille, la durée, la fréquence d'images, etc.

mirrorprocessing

# 左右镜像
ffmpeg.input(path).hflip().output('output.mp4').run()
# 上下镜像
ffmpeg.input(path).vflip().output('output.mp4').run()
Copier après la connexion

peut être simplement compris comme l'abréviation des mots anglais horizontal (horizontal) et vertical (vertical).

Ajouter un filigrane

main = ffmpeg.input(path)
logo = ffmpeg.input('logo.png')
ffmpeg.filter([main, logo], 'overlay', 0, 500).output('out.mp4').run()
Copier après la connexion

Cette commande consiste à placer l'image du filigrane du logo au-dessus de la vidéo principale à la coordonnée de (0,500). Le coin supérieur gauche de la vidéo peut être compris comme la position de l'origine (0,0), et les axes x et y sont représentés respectivement à droite et vers le bas par rapport à l'origine.

Bien sûr, si vous faites le logo suffisamment grand, plus grand que la vidéo, puis changez les positions des deux parties, il deviendra la vidéo sur le logo, ce qui équivaut en fait à ajouter un Une image d’arrière-plan.

ffmpeg.filter([logo, main], 'overlay', 0, 500).output('out.mp4').run()
Copier après la connexion

Interception vidéo

ffmpeg.input(path).trim(start_frame=10,end_frame=20).output('out3.mp4').run()
Copier après la connexion

Cette commande semble facile à comprendre start_frame et end_frame représentent respectivement les images de début et de fin.

Épissage vidéo

base = ffmpeg.input(path)
ffmpeg.concat(
base.trim(start_frame=10, end_frame=20),
base.trim(start_frame=30, end_frame=40),
base.trim(start_frame=50, end_frame=60)
).output('out3.mp4').run()
Copier après la connexion

L'épissage vidéo peut être effectué à l'aide de la fonction concat.

Résumé

Aujourd'hui, je partage avec vous une bonne bibliothèque pour traiter des vidéos en python. J'espère qu'elle pourra apporter des améliorations d'efficacité à votre travail/travail secondaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal