>  기사  >  백엔드 개발  >  Golang 및 FFmpeg를 사용하여 비디오 이미지 회전에 대한 팁

Golang 및 FFmpeg를 사용하여 비디오 이미지 회전에 대한 팁

王林
王林원래의
2023-09-29 19:25:50687검색

Golang 및 FFmpeg를 사용하여 비디오 이미지 회전에 대한 팁

Golang과 FFmpeg를 활용한 영상 화면 회전 기술

현대 사회에서 영상은 일상생활에서 없어서는 안 될 존재가 되었습니다. 그러나 경우에 따라 비디오 화면 회전과 같은 비디오 처리를 수행해야 할 수도 있습니다. 이 기사에서는 Golang과 FFmpeg를 사용하여 비디오 이미지 회전을 구현하고 구체적인 코드 예제를 제공합니다.

먼저 FFmpeg가 시스템에 설치되어 있는지 확인해야 합니다. FFmpeg를 설치하지 않았다면 공식 홈페이지(https://ffmpeg.org/)나 다른 방법을 통해 설치할 수 있습니다.

다음으로 Golang을 사용하여 코드를 작성하고 먼저 관련 종속성 패키지를 설치합니다. 명령줄에서 다음 명령을 실행합니다.

go get github.com/h2non/imaginary/ffmpeg
go get github.com/h2non/imaginary/ffmpeg/builder

그런 다음,rotate.go라는 파일을 만들고 다음 코드를 추가합니다.

package main

import (
    "log"
    "os"
    "os/exec"
)

func main() {
    // 指定输入视频文件路径
    inputPath := "input.mp4"
    // 指定输出视频文件路径
    outputPath := "output.mp4"
    // 指定旋转角度(逆时针)
    rotateDegree := "90"

    // 构建FFmpeg命令
    cmd := exec.Command("ffmpeg", "-i", inputPath, "-vf", "transpose="+rotateDegree, outputPath)

    // 执行命令
    err := cmd.Run()
    if err != nil {
        log.Fatal(err)
    }

    log.Println("视频旋转完成")
}

코드를 보면 입력 비디오 파일과 출력 비디오의 경로가 다음과 같은 것을 알 수 있습니다. 처음 지정된 파일의 경로입니다. 그런 다음 FFmpeg의 -vf 옵션을 사용하여 비디오 화면을 회전합니다. 여기서 transpose 옵션은 회전 각도를 지정하는 데 사용됩니다. 여기서는 비디오를 시계 방향으로 90도 회전하도록 "90"으로 설정합니다.

마지막으로 cmd.Run()을 실행하여 FFmpeg 명령을 실행합니다. 실행이 성공하면 "비디오 회전 완료"라는 로그 출력이 표시됩니다.

다음으로 회전해야 할 비디오 파일을rotate.go와 같은 디렉토리에 넣고 비디오 파일 이름을 "input.mp4"로 변경하면 됩니다. 그런 다음 명령줄에서 다음 명령을 실행하여 프로그램을 실행합니다.

go run rotate.go

프로그램은 "input.mp4" 파일을 읽고 지정된 회전 각도에 따라 처리한 후 마지막으로 "output.mp4" 파일을 생성합니다.

위 단계를 통해 Golang과 FFmpeg를 사용하여 동영상 화면을 회전하는데 성공했습니다. 물론 비디오의 해상도 및 프레임 속도 조정 등과 같이 특정 요구에 따라 더 많은 매개변수를 구성할 수도 있습니다.

요약하자면 Golang과 FFmpeg는 비디오에 대한 다양한 처리를 수행하는 데 도움이 되는 매우 강력한 도구입니다. 이 기사의 소개와 샘플 코드를 통해 독자들은 이를 보다 유연하게 사용하고 보다 흥미로운 비디오 처리 기능을 얻을 수 있다고 믿습니다.

위 내용은 Golang 및 FFmpeg를 사용하여 비디오 이미지 회전에 대한 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.