Ich wollte ein Video bearbeiten, also dachte ich, ich würde moviepy verwenden, aber ich bin darauf gestoßen, also habe ich mir eine Notiz gemacht.
mac Mojave python 3.6.8
Das Folgende ist einfach für den Anwendungsfall "Hinzufügen von Text und Bildern mithilfe einer Videodatei als Eingabe und Exportieren der Videodatei als Ausgabe".
pip install moviepy==1.0.0
##* Da bestätigt wurde, dass es nur mit QuickTime Player auf dem Mac funktioniert, funktioniert es möglicherweise nur, wenn es hier ist.
##moviepy version 1.0.Ein bisschen mit 0 basteln
# 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) #Wie viele Sekunden im Video, um das Bild anzuzeigen
.set_duration(10) #Wie viele Sekunden, um das Bild anzuzeigen
.resize(height=250) #Bildhöhe
.margin(right=0, top=0, opacity=0) #Randgrößeneinstellung(Diesmal kein Spielraum)
.set_pos(('right','bottom'))) #Dieses Mal wird das Bild unten rechts angezeigt
final = mp.CompositeVideoClip([video, img])
# mynkit/Wenn Sie von dev pip installieren`final.subclip(0,10).write_videofile('test.mp4')`Brauche nur.
final.subclip(0,10).write_videofile(
"test.mp4",
codec='libx264',
audio_codec='aac',
temp_audiofile='temp-audio.m4a',
remove_temp=True
) # 0~Testen Sie bis zu 10 Sekunden.Ausgabe an mp4
Anscheinend scheint write_videofile nicht verschieden zu sein.
Im Moment (2020/03/07) ist die neueste Version von MoviePy "1.1.0". Wenn Sie jedoch write_videofile so wie es ist ausführen, wird der folgende Fehler angezeigt.
AttributeError: 'NoneType' object has no attribute 'stdout'
In issue938 heißt es, dass die Version auf 1.0.0 gesenkt werden sollte. Senken Sie es vorerst wie gesagt.
Die Eingabedatei hat sicherlich Audio und auf dem Jupiter
final.subclip(0,10).ipython_display(width=400)
Dann konnte ich eine Vorschau in Form von Ton anzeigen. Die Ausgabedatei enthält jedoch keinen Ton. ..
Dies wurde auch in issue876 beschrieben.
`'-i', beschrieben in moviepy / video / io / ffmpeg_writer.py Die Reihenfolge von '-', '- an' 'ist falsch und die richtige Reihenfolge ist' '-an', '- i', '-' '. Dies wurde von forked auf meinem Github unterstützt.
Übrigens, auch wenn Sie dies nicht tun, spielt QuickTime Player es ab, wenn Sie Folgendes tun.
Ich dachte, dass dies sicher ist, aber als ich es mit QuickTime Player auf dem Mac überprüfte, war immer noch kein Ton zu hören ...
Wie in issue51 und issue820 erwähnt, mit QuickTime Player Im Argument von write_videofile zu spielen
codec='libx264',
audio_codec='aac',
temp_audiofile='temp-audio.m4a',
remove_temp=True
Scheint notwendig zu sein. Als ich das Video in diesem Zustand exportierte, funktionierte es.
Recommended Posts