Quelques exemples pour traiter une vidéo

Links: notebook, exemple_video_devoxx_20182html.html, PDF, python, exemple_video_devoxx_2018.slides.html, exemple_video_devoxx_2018.slides2p.html, GitHub

from jyquickhelper import add_notebook_menu
add_notebook_menu()

Télécharger une vidéo

outils

from code_beatrix.art.video import *
download_youtube_video('Htaj3o3JD8I', '.', res=None)
'Harry Potter Theme Song.mp4'

La librairie librosa permet de retraiter le son comme de séparer les voix du fond sonore.

Extraire le son

son = video_extract_audio('Harry Potter Theme Song.mp4')
son30 = audio_extract_audio(son, '00:00:00', '00:00:30')

Jouer le son

son30.ipython_display()
100%|███████████████████████████████████████████████████████████████████████████████| 662/662 [00:01<00:00, 580.64it/s]

Liste des vidéos filmées

import os
[_ for _ in os.listdir(r'.') if 'mp4' in _ and ('Harry' in _ or "WIN_20180113_16" in _)]
['Harry Potter Theme Song.mp4',
 'WIN_20180113_16_40_32_Pro.mp4',
 'WIN_20180113_16_40_40_Pro.mp4',
 'WIN_20180113_16_42_41_Pro.mp4',
 'WIN_20180113_16_43_33_Pro.mp4',
 'WIN_20180113_16_43_42_Pro.mp4',
 'WIN_20180113_16_44_31_Pro.mp4',
 'WIN_20180113_16_45_39_Pro.mp4',
 'WIN_20180113_16_46_26_Pro.mp4',
 'WIN_20180113_16_47_17_Pro.mp4',
 'WIN_20180113_16_47_28_Pro.mp4',
 'WIN_20180113_16_47_39_Pro.mp4',
 'WIN_20180113_16_58_37_Pro.mp4']

Extraire un bout de la video

vid = video_extract_video('WIN_20180113_16_40_40_Pro.mp4', '00:00:06', '00:00:22')

Accélérer une vidéo

vid2 = video_modification(vid, speed=2.)

Mettre des vidéos bout à bout

video_mur = video_concatenate([vid2, vid])

Mettre des sons bout à bout

son3 = audio_concatenate([son30, son30])

Remplacer le son d’une vidéo

video_truquee = video_replace_audio(video_mur, son_tout)

Sauver une vidéo sur disque

video_save(video_truquee, 'rapide_crash2_truquee2.mp4', verbose=True)
[MoviePy] >>>> Building video rapide_crash2_truquee2.mp4
[MoviePy] Writing audio in rapide_crash2_truquee2TEMP_MPY_wvf_snd.mp3
100%|███████████████████████████████████████████████████████████████████████████████| 192/192 [00:00<00:00, 691.81it/s]
[MoviePy] Done.
[MoviePy] Writing video rapide_crash2_truquee2.mp4
100%|████████████████████████████████████████████████████████████████████████████████| 289/289 [00:33<00:00,  8.57it/s]
[MoviePy] Done.
[MoviePy] >>>> Video ready: rapide_crash2_truquee2.mp4