web-dev-qa-db-fra.com

Découper une partie de la vidéo - Python

J'ai des vidéos d'environ 25 minutes chacune et je souhaite couper quelques secondes à partir du début en python. 

En cherchant à ce sujet, je suis tombé sur le paquet moviepy pour Python. Le problème, c’est que cela prend beaucoup de temps, même pour une seule vidéo. Voici l'extrait de code que j'utilise pour couper 7 secondes après le début d'une seule vidéo. Le processus d'écriture prend beaucoup de temps. Existe-t-il un meilleur moyen de couper les vidéos en utilisant python? 

from moviepy.editor import *
clip = VideoFileClip("video1.mp4").cutout(0, 7)
clip.write_videofile("test.mp4")

S'il vous plaît laissez-moi savoir si j'ai manqué des détails.

Toute aide est appréciée. Merci!

18
Pranav Arora

Essayez ceci et dites-nous s'il est plus rapide (s'il le peut, il extraira la vidéo directement à l'aide de ffmpeg, sans décodage ni réencodage):

from moviepy.video.io.ffmpeg_tools import ffmpeg_extract_subclip
ffmpeg_extract_subclip("video1.mp4", start_time, end_time, targetname="test.mp4")

Si cela ne vous aide pas, jetez un coup d'œil au code

30
Zulko
from moviepy.video.io.ffmpeg_tools import ffmpeg_extract_subclip
ffmpeg_extract_subclip("video1.mp4", t1, t2, targetname="test.mp4")

t1 et t2 dans ce code représentent l’heure de début et l’heure de fin du découpage. La vidéo avant t1 et après t2 sera omise.

2
kibitzforu

Si vous êtes nouveau sur moviepy , vous devez suivre ces étapes.

Installation (dans votre virtualenv):

pip install --trusted-Host pypi.python.org moviepy
python
import imageio
imageio.plugins.ffmpeg.download()

Après ces commandes, vous avez la configuration logicielle minimale.

Usage

from moviepy.video.io.ffmpeg_tools import ffmpeg_extract_subclip
# ffmpeg_extract_subclip("full.mp4", start_seconds, end_seconds, targetname="cut.mp4")
ffmpeg_extract_subclip("full.mp4", 60, 300, targetname="cut.mp4")
0
jedema