Je voulais éditer une vidéo, alors j'ai pensé utiliser moviepy, mais je suis tombé dessus, alors j'ai pris une note.
mac Mojave python 3.6.8
Ce qui suit est simple pour le cas d'utilisation de "l'ajout de texte et d'images en utilisant un fichier vidéo comme entrée et l'exportation du fichier vidéo comme sortie".
pip install moviepy==1.0.0
##* Comme il a été confirmé qu'il ne fonctionne qu'avec QuickTime Player sur mac, il peut ne pas fonctionner à moins qu'il ne soit ici.
##moviepy version 1.0.Un peu de bricolage avec 0
# pip install -U git+https://github.com/mynkit/moviepy.git@mynkit/dev
sample_moviepy.py
import moviepy.editor as mp
AUDIOPATH = 'hogehoge.mp4'
IMGPATH = 'hogehoge.png'
video = mp.VideoFileClip(AUDIOPATH)
img = (mp.ImageClip(IMGPATH)
.set_start(1) #Combien de secondes dans la vidéo pour afficher l'image
.set_duration(10) #Combien de secondes pour afficher l'image
.resize(height=250) #Hauteur de l'image
.margin(right=0, top=0, opacity=0) #Réglage de la taille de la marge(Pas de marge cette fois)
.set_pos(('right','bottom'))) #Cette fois, l'image est affichée en bas à droite
final = mp.CompositeVideoClip([video, img])
# mynkit/Si vous installez à partir de dev`final.subclip(0,10).write_videofile('test.mp4')`Seul besion.
final.subclip(0,10).write_videofile(
"test.mp4",
codec='libx264',
audio_codec='aac',
temp_audiofile='temp-audio.m4a',
remove_temp=True
) # 0~Testez jusqu'à 10 secondes.Sortie vers mp4
Apparemment, write_videofile ne semble pas être différent.
Pour le moment (07/03/2020), la dernière version de MoviePy est 1.1.0
, mais si vous exécutez write_videofile tel quel, l'erreur suivante apparaîtra.
AttributeError: 'NoneType' object has no attribute 'stdout'
En regardant issue938, il est dit que la version devrait être abaissée à 1.0.0. Pour le moment, abaissez-le comme indiqué.
Le fichier d'entrée a certainement de l'audio, et sur le jupyter
final.subclip(0,10).ipython_display(width=400)
Ensuite, j'ai pu le prévisualiser sous forme de son. Cependant, il n'y a pas de son dans le fichier de sortie. ..
Cela a également été décrit dans issue876.
'-i',
'-i', décrit dans moviepy / video / io / ffmpeg_writer.py L'ordre de '-', '- an' 'est faux, et l'ordre correct est' '-an', '- i', '-' '. Cela a été pris en charge par forké sur mon github.
À propos, même si cette correspondance n'est pas prise, elle a été lue par QuickTime Player si seule la correspondance suivante a été effectuée.
Je pensais que c'était sûr, mais quand je l'ai vérifié avec QuickTime Player sur mac, il n'y avait toujours pas de son ...
Comme mentionné dans issue51 et issue820, avec QuickTime Player Dans l'argument de write_videofile pour jouer
codec='libx264',
audio_codec='aac',
temp_audiofile='temp-audio.m4a',
remove_temp=True
Cela semble nécessaire. Lorsque j'ai exporté la vidéo dans cet état, cela a fonctionné.
Recommended Posts