Vidéos et Sons

Cette série de fonctions sont des exemples d’utilisation du module moviepy. Celui-ci permet de faire du montage vidéo en programmant avec Python. C’est sans doute moins puissant qu’un vrai logiciel de montage tel que ShotCut ou OpenShot. La progrommation a néanmoins deux avantages. Elle permet de répéter un traitement facilement pour construire une vidéo. Elle peut opérer la même opération sur chaque image d’un image comme l’extraction des personnages du film (voir Quelques images de Mary Poppins). Il est parfois plus simple de programmer plutôt que d’apprendre à se servir d’un logiciel qui propose une interface utilisateur pas toujours intuitive (lire aussi Montage vidéo avec Python.

Les fonctions sur les vidéos commencent quasiment toutes par le même paramètre video_or_file. Celui-ci peut soit être un nom de fichier, soit un objet de type VideoClip. Un exemple :

from code_beatrix.art.video import video_concatenate, video_save

new_video = video_concatenate(["video1.mp4", "video2.avi"])
video_save(new_video, "new_video.mp4")

Un autre exemple où la première vidéo est un extrait d’une vidéo :

from code_beatrix.art.video import video_concatenate, video_save

v1 = video_extract_video("video1.mp4", '00:00:01.45', '00:00:010.51')
new_video = video_concatenate([v1, "video2.avi"])
video_save(new_video, "new_video.mp4")

La même logique s’applique aux sons. Les fonctions qui suivent couvrent un petit sous-ensemble de ce qu’il est possible de faire avec le module moviepy. Pour aller plus loin, il peut être utile de s’inspirer du code de celles-ci et de regarder les exemples de la documentation. Le notebook video_notebook montre comment insérer un texte qui défile et comment le voir facilement dans un notebook. Il faut voir ces fonctions comme des outils pour agir sur une pellicule, des ciseaux, de la colle…

Audio

../_images/music.png ../_images/comp.png

code_beatrix.art.video.audio_compose (audio_or_file1, audio_or_file2, t1 = 0, t2 = None)

Concatenates or superposes two sounds. Ajoute ou superpose deux sons.
../_images/music.png ../_images/glue.png

code_beatrix.art.video.audio_concatenate (audio_or_files, kwargs)

Concatenates sounds. Met bout à bout des sons.
../_images/music.png ../_images/ciseau.png

code_beatrix.art.video.audio_extract_audio (audio_or_file, ta = 0, tb = None)

Extracts a part of an audio. Extrait une partie du son. Uses subclip.
../_images/music.png ../_images/work.png

code_beatrix.art.video.audio_modification (audio, loop_duration = None, volumex = 1.0, fadein = False, fadeout = False, t_start = 0, t_end = None, speed = 1.0, keep_duration = False, wav = False)

Modifies a sound. Modifie un son.
../_images/music.png ../_images/up.png

code_beatrix.art.video.audio_save (audio_or_file, filename, verbose = False, kwargs)

Saves as a sound. Enregistre un son dans un fichier. Uses write_audiofile.

Video

../_images/pellicule.png ../_images/comp.png

La fonction video_compose assemble plusieurs vidéo en même temps. Le paramètre place permet de choisir une configuration déjà implémentée comme la juxtaposition de deux vidéos côte à côte horizontalement ou verticalement.

code_beatrix.art.video.video_compose (video_or_file1, video_or_file2 = None, t1 = 0, t2 = 0, place = None, kwargs)

Concatenates or superposes two videos. Ajoute ou superpose deux vidéos.
../_images/pellicule.png ../_images/glue.png

code_beatrix.art.video.video_concatenate (video_or_files, kwargs)

Concatenates videos. Met bout à bout des vidéos.
../_images/pellicule.png

code_beatrix.art.video.video_enumerate_frames (video_or_file, folder = None, fps = 10, pattern = “images_%04d.jpg”, clean = False, kwargs)

Enumerates frames from a video. Itère sur des images depuis une vidéo.
../_images/pellicule.png ../_images/music.png ../_images/ciseau.png

code_beatrix.art.video.video_extract_audio (video_or_file)

Returns the audio of a video. Retourne le son d’une vidéo.
../_images/pellicule.png ../_images/ciseau.png

code_beatrix.art.video.video_extract_video (video_or_file, ta = 0, tb = None)

Extracts a part of a video. Extrait une partie de la vidéo. Uses subclip.
../_images/pellicule.png

code_beatrix.art.video.video_frame (fct_frame, kwargs)

Creates a video from drawing or images. fct_frame can either be a function which draws a picture at time t or a list of picture names or a folder. Créé une vidéo à partir de dessins ou d’images. fct_frame est soit une fonction qui dessine chaque image à chaque instant t, une liste de noms d’images ou un répertoire.
../_images/pellicule.png ../_images/camera.png

code_beatrix.art.video.video_image (image_or_file, duration = None, zoom = None, opacity = None, kwargs)

Creates a ImageClip. Créé une vidéo à partir d’une image.
../_images/pellicule.png ../_images/work.png

code_beatrix.art.video.video_modification (video_or_file, volumex = 1.0, resize = 1.0, speed = 1.0, mirrorx = False, mirrory = False)

Modifies a video. Modifie une vidéo.
../_images/pellicule.png ../_images/arrow.png

code_beatrix.art.video.video_position (video_or_file, pos, relative = False)

Modifies the position of a position. Modifie la position d’une video. Relies on function set_position.
../_images/pellicule.png ../_images/musicno.png

code_beatrix.art.video.video_remove_audio (video_or_file)

Returns the same video without audio. Retourne la même vidéo sans le son.
../_images/pellicule.png ../_images/music.png

code_beatrix.art.video.video_replace_audio (video_or_file, new_sound, loop = True)

Replaces the sound of a video. Remplace la bande-son d’une vidéo.
../_images/pellicule.png ../_images/up.png

code_beatrix.art.video.video_save (video_or_file, filename, verbose = False, duration = None, kwargs)

Saves as a video or as a gif. Enregistre une vidéo dans un fichier. Uses write_videofile.
../_images/pellicule.png ../_images/text.png

code_beatrix.art.video.video_text (text, font = None, fontsize = 32, size = None, color = None, background = None, opacity = None, kwargs)

Creates an image with text (ImageClip). Créé une image à partir de texte.

YouTube

../_images/pellicule.png ../_images/yt.png

code_beatrix.art.video.download_youtube_video (tag, output_path = None, res = “720p”, mime_type = “video/mp4”, kwargs)

Downloads a video from youtube with pytube. Télécharge une vidéo depuis youtube avec pytube.