Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Menggunakan Pakej `os/exec` Go untuk Menyalurkan Output PhantomJS ke FFmpeg untuk Penciptaan Video?

Bagaimanakah Saya Boleh Menggunakan Pakej `os/exec` Go untuk Menyalurkan Output PhantomJS ke FFmpeg untuk Penciptaan Video?

Mary-Kate Olsen
Lepaskan: 2024-12-02 04:09:10
asal
227 orang telah melayarinya

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

Menggunakan Pakej Exec Golang: Laksanakan Perintah dengan Paip dan Rakam Halaman Web dengan PhantomJS

Dalam percubaan untuk menangkap halaman web menggunakan PhantomJS dan paipkan imej yang terhasil dengan lancar ke ffmpeg untuk penciptaan video, anda telah menghadapi cabaran. Melaksanakan arahan terus dalam terminal menghasilkan hasil yang diingini, tetapi halangannya terletak apabila menjalankannya melalui pakej os/exec Go.

Untuk mengatasi halangan ini dan mengelakkan tugas yang sukar untuk menulis imej ke fail, anda' telah meneroka kemungkinan melaksanakan keseluruhan arahan sebagai satu entiti. Berikut ialah penyelesaian yang boleh membantu:

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))
}
Salin selepas log masuk

Dalam pendekatan ini, bukannya bergantung pada pakej os/exec secara langsung, kami menggunakan perintah 'bash' untuk melaksanakan keseluruhan rentetan sebagai satu entiti. Ini membolehkan kami mengekalkan kefungsian paip dan melaksanakan perintah dengan lancar.

Setelah pelaksanaan berjaya, output daripada ffmpeg akan ditangkap dalam pembolehubah 'output' dan anda boleh meneruskan untuk mengendalikan keputusan seperti yang anda perlukan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Pakej `os/exec` Go untuk Menyalurkan Output PhantomJS ke FFmpeg untuk Penciptaan Video?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan