PhantomJS를 사용하여 웹페이지를 캡처하고 결과 이미지를 ffmpeg로 원활하게 파이프하려는 시도 비디오 제작 과정에서 어려움에 직면하셨습니다. 터미널에서 직접 명령을 실행하면 원하는 결과를 얻을 수 있지만, Go의 os/exec 패키지를 통해 실행할 때 걸림돌이 있습니다.
이러한 장애물을 극복하고 파일에 이미지를 쓰는 힘든 작업을 피하려면 전체 명령을 단일 엔터티로 실행할 수 있는 가능성을 살펴보았습니다. 도움이 될 수 있는 솔루션은 다음과 같습니다.
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)) }
이 접근 방식에서는 os/exec 패키지에 직접 의존하는 대신 'bash' 명령을 사용하여 전체 문자열을 단일 엔터티로 실행합니다. 이를 통해 파이프 기능을 유지하고 명령을 원활하게 실행할 수 있습니다.
성공적으로 실행되면 ffmpeg의 출력이 'output' 변수에 캡처되며 필요에 따라 결과를 처리할 수 있습니다.
위 내용은 Go의 `os/exec` 패키지를 사용하여 비디오 제작을 위해 PhantomJS 출력을 FFmpeg로 파이프하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!