Heim > Backend-Entwicklung > Golang > Wie kann ich das „os/exec'-Paket von Go verwenden, um die PhantomJS-Ausgabe zur Videoerstellung an FFmpeg weiterzuleiten?

Wie kann ich das „os/exec'-Paket von Go verwenden, um die PhantomJS-Ausgabe zur Videoerstellung an FFmpeg weiterzuleiten?

Mary-Kate Olsen
Freigeben: 2024-12-02 04:09:10
Original
226 Leute haben es durchsucht

How Can I Use Go's `os/exec` Package to Pipe PhantomJS Output to FFmpeg for Video Creation?

Einsatz des Exec-Pakets von Golang: Befehle mit Pipe ausführen und Webseite mit PhantomJS aufzeichnen

In einem Versuch, eine Webseite mit PhantomJS zu erfassen und die resultierenden Bilder nahtlos an ffmpeg weiterzuleiten Bei der Videoerstellung stehen Sie vor einer Herausforderung. Die Ausführung des Befehls direkt im Terminal führt zu den gewünschten Ergebnissen, der Stolperstein liegt jedoch darin, ihn über das os/exec-Paket von Go auszuführen.

Um diese Hürde zu überwinden und die mühsame Aufgabe des Schreibens von Bildern in Dateien zu vermeiden, müssen Sie Wir haben die Möglichkeit untersucht, den gesamten Befehl als eine einzige Einheit auszuführen. Hier ist eine Lösung, die helfen könnte:

import (
    "fmt"
    "os/exec"
)

func main() {
    cmd := "phantomjs runner.js | ffmpeg -y -c:v png -f image2pipe -r 25 -t 10  -i - -c:v libx264 -pix_fmt yuv420p -movflags +faststart dragon.mp4"
    output, err := exec.Command("bash", "-c", cmd).Output()
    if err != nil {
        fmt.Printf("Failed to execute command: %s", cmd)
    }
    fmt.Println(string(output))
}
Nach dem Login kopieren

Anstatt uns bei diesem Ansatz direkt auf das os/exec-Paket zu verlassen, verwenden wir einen „Bash“-Befehl, um die gesamte Zeichenfolge als eine einzelne Einheit auszuführen. Dadurch können wir die Pipe-Funktionalität beibehalten und den Befehl nahtlos ausführen.

Nach erfolgreicher Ausführung wird die Ausgabe von ffmpeg in der Variablen „output“ erfasst und Sie können mit der Bearbeitung der Ergebnisse nach Bedarf fortfahren.

Das obige ist der detaillierte Inhalt vonWie kann ich das „os/exec'-Paket von Go verwenden, um die PhantomJS-Ausgabe zur Videoerstellung an FFmpeg weiterzuleiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage