[PYTHON] Connectez un grand nombre de vidéos ensemble!

Chose que tu veux faire

Concaténer toutes les vidéos du répertoire en une seule vidéo

Méthode d'exécution

$ python3 combine_videos.py -i sample_videos/ -o output.mp4 
29.0 1280 720
Filename:  video01.mp4
Filename:  video02.mp4
Filename:  video03.mp4
Done.

combine_videos.py


#coding=utf-8
import os
import cv2
import glob
import argparse    # 1.Importer argparse

parser = argparse.ArgumentParser()
parser.add_argument('-i', '--input_dir', help='input video directory')
parser.add_argument('-o', '--output_video', help='output video filename')

args = parser.parse_args()

def combine_videos(directory, result):
    #Spécifiez la vidéo à saisir(Trier par chaîne)
    videos_list = glob.glob('{}/*'.format(directory))
    videos_list.sort()

    #Spécifiez MP4V comme format
    fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')

    #Acquisition d'informations vidéo
    movie = cv2.VideoCapture(videos_list[0])
    fps    = movie.get(cv2.CAP_PROP_FPS)
    height = movie.get(cv2.CAP_PROP_FRAME_HEIGHT)
    width  = movie.get(cv2.CAP_PROP_FRAME_WIDTH)
    print(fps, int(width), int(height))

    #Ouvrez le fichier de sortie
    out = cv2.VideoWriter(result, int(fourcc), fps, (int(width), int(height)))

    #Chargement de la vidéo
    for video in videos_list:
        movie = cv2.VideoCapture(video)
        print('Filename: ', video.split('/')[-1])
        while True:
            ret, frame = movie.read()
            out.write(frame)
            if not ret:
                break
    print('Done.')

if __name__ == '__main__':
    combine_videos(args.input_dir, args.output_video)


Recommended Posts

Connectez un grand nombre de vidéos ensemble!
Téléchargez un grand nombre d'images sur Wordpress
Organisez un grand nombre de fichiers dans des dossiers
Accélérez un grand nombre de requêtes simples dans MySQL
[Python] Générer de manière aléatoire un grand nombre de noms de personne en anglais
Scrapy-Redis est recommandé pour l'exploration d'un grand nombre de domaines
L'exécution d'un grand nombre de Python3 Executor.submit peut consommer beaucoup de mémoire.
TensorFlow Pour apprendre d'un grand nombre d'images ... ~ (presque) solution ~
Convertissez un grand nombre de fichiers PDF en fichiers texte à l'aide de pdfminer
Nombre moyen maximum de visiteurs quotidiens (grand)
Connectez beaucoup de Python ou et et
Importez des vidéos de numéro de série avec Aviutl
TensorFlow Pour apprendre d'un grand nombre d'images ... (Problème non résolu) → 12/18 Résolu
One-liner qui crée un grand nombre de fichiers de test à la fois sous Linux
Trouvez le nombre de jours dans un mois
Consolider un grand nombre de fichiers CSV dans des dossiers avec python (données sans en-tête)
Un outil pour suivre les affiches avec un grand nombre de likes sur instagram [25 minutes à 1 seconde]
Utilisez l'API pour modifier collectivement un grand nombre d'e-mails non lus dans Gmail à lire
[Python] Un programme qui compte le nombre de vallées
Lire un grand nombre de rapports sur les titres en utilisant COTOHA
Lambda + Python est efficace pour restreindre l'accès à un grand nombre de listes d'adresses IP
Exécutez un nombre limité de programmes de présentation d'images sur PsychoPy
Transformez le nombre de secondes donné en heures, minutes et secondes
Obtenez le nombre d'éléments spécifiques dans la liste python
Comment connecter le contenu de la liste dans une chaîne de caractères
[Django] Que faire quand il y a de nombreux champs dans le modèle que vous souhaitez créer