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

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

王林
풀어 주다: 2023-09-29 19:25:50
원래의
752명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿