[PYTHON] Ich bin auf MoviePy gestoßen, machen Sie sich also eine Notiz

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.

Umgebung

mac Mojave python 3.6.8

Fazit

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

Stolperpunkt

Anscheinend scheint write_videofile nicht verschieden zu sein.

Write_videofile funktioniert überhaupt nicht

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.

Diesmal kein Ton aus der Ausgabedatei

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.

Kann nicht mit QuickTime Player auf dem Mac spielen

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

Ich bin auf MoviePy gestoßen, machen Sie sich also eine Notiz
Ich berührte "Orator" und machte mir eine Notiz
[Python] Ich habe versucht, eine stabile Sortierung zu implementieren
Ich habe versucht, pipenv zu verwenden, machen Sie sich also eine Notiz
Worauf ich bei der Verwendung von CodeIgniter auf einem Linux-Server gestoßen bin
Ich war süchtig danach, Cython mit PyCharm auszuprobieren, also machen Sie sich eine Notiz
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
[Fabric] Ich war süchtig danach, Boolesche Werte als Argument zu verwenden. Notieren Sie sich also die Gegenmaßnahmen.
Beachten Sie, dass ich süchtig danach war, TensowFlow einzurichten
Ich bin auf Pylearn 2 gestoßen
Ich bin gestolpert, als ich versucht habe, Basemap zu installieren, also ein Memorandum
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich habe mit PyQt einen einfachen Texteditor erstellt
Ich habe einen Line-Bot mit Python gemacht!
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
Erstellen Sie mit TensorFlow eine Gesichtserkennung
Ich habe versucht, mit Python einen regulären Ausdruck von "Zeit" zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
Ich habe versucht, den Unterschied zwischen A + = B und A = A + B in Python herauszufinden
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
Postgres-Umgebungskonstruktion mit Docker Ich hatte ein wenig Probleme, also beachten Sie
Ich blieb stecken, als ich versuchte, verschiedene Dinge mit Mac El Captain Pip zu installieren
Ich habe das Schaben mit Selen gelernt, um ein Vorhersagemodell für Pferderennen zu erstellen.
[Streamlit] Ich hasse JavaScript, deshalb erstelle ich eine Webanwendung nur mit Python
Hinweise Ich habe nachgeschlagen, um Befehlszeilentools in Python zu erstellen
Ich möchte eine Webanwendung mit React und Python Flask erstellen
Stolpern Geschichte über die Installation von Matplotlib
Ich habe versucht, ○ ✕ mit TensorFlow zu spielen
Eine Geschichte, die auf eine Vergleichsberechnung stieß
Anfänger: Ich habe einen Launcher mit dem Wörterbuch erstellt
Ich stolperte über die Installation des Satzstücks auf Ubuntu
Lassen Sie uns mit flask-babel eine mehrsprachige Site erstellen
Ich habe eine Web-API erstellt
Ich wollte das Suchmodul von Ansible2 verwenden, aber es hat einige Zeit gedauert, machen Sie sich also eine Notiz
Plötzlich musste ich mit Python und Pyramid an einem Projekt arbeiten, also eine Notiz darüber, wie ich lerne
Arbeitsmemorandum (Pymongo) Teil 3. Ich möchte es nicht noch einmal überprüfen, also notieren Sie es sich (Aggregat)
Ein Memo, auf das ich gestoßen bin, als ich ein Zitat RT auf Twitter Bot gemacht habe
Ich habe versucht, einen Übersetzungs-BOT zu erstellen, der mit Discord unter Verwendung von Googletrans funktioniert
Ich habe versucht, eine verdächtige Person mithilfe von Geolonia-Adressdaten schnell zu einem MAP zu machen
Ich möchte Matplotlib zu einem dunklen Thema machen
Ich möchte ein Spiel mit Python machen
Ich habe versucht, Pythonect, eine Programmiersprache für den Datenfluss, zu verwenden.
Ich habe versucht, eine CSV-Datei mit Python zu lesen
Ich las "Wie man ein Hacking Lab macht"
[Chat De Tornado] Erstellen Sie einen Chat mit WebSocket in Tornado
Ich habe einen japanischen Parser auf Japanisch mit Pyparsing geschrieben.
Lassen Sie uns mit SWIG ein Modul für Python erstellen
Ich habe versucht, die Datenbank (sqlite3) mit kivy zu verwenden
Ich wollte viele Bilder sammeln, also habe ich versucht, "Google Image Download" zu verwenden.
Python-Anfänger haben einen Chat-BOT erstellt, also habe ich versucht, zusammenzufassen, wie man es macht