Golang 및 FFmpeg를 사용하여 비디오 프레임을 추출하는 방법
요약:
이 문서에서는 Golang 및 FFmpeg를 사용하여 비디오 프레임을 추출하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 이 방법을 통해 비디오에서 각 프레임을 쉽게 추출하고 후속 처리 및 분석할 수 있습니다.
다음은 Golang을 사용하여 FFmpeg 명령을 호출하여 비디오 프레임을 추출하는 방법을 보여주는 샘플 코드입니다.
package main import ( "log" "os" "os/exec" ) func main() { inputFile := "input.mp4" // 输入视频文件 outputDir := "frames/" // 输出目录,存放提取出的视频帧 // 创建输出目录 err := os.MkdirAll(outputDir, os.ModePerm) if err != nil { log.Fatal(err) } // 构造FFmpeg命令 cmd := exec.Command("ffmpeg", "-i", inputFile, "-vf", "fps=1", outputDir+"frame-%03d.jpg") // 执行命令 err = cmd.Run() if err != nil { log.Fatal(err) } log.Println("视频帧提取完成!") }
위 코드의 기능은 지정된 비디오 파일(input.mp4)에서 각 프레임을 추출하고 jpg 형식의 이미지 파일은 프레임/디렉토리에 저장됩니다. 그 중 "-vf fps=1" 매개변수는 초당 1프레임을 추출한다는 뜻이다.
go run filename.go
하면 비디오 프레임 추출이 시작됩니다. 영상의 크기와 프레임 속도에 따라 추출 과정에 다소 시간이 걸릴 수 있습니다. 위 내용은 Golang 및 FFmpeg를 사용하여 비디오 프레임을 추출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!