Maison >développement back-end >Tutoriel Python >Gadget Python : terminez une journée de travail en cinq minutes, c'est tellement délicieux

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

王林
王林avant
2023-05-23 16:43:061493parcourir

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

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)

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()

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()

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()

Interception vidéo

ffmpeg.input(path).trim(start_frame=10,end_frame=20).output('out3.mp4').run()

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()

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer