当前位置:   article > 正文

go 携手 ffmpeg_go ffmpeg

go ffmpeg

简述

ffmpeg是一个免费的开源程序库,一个命令行工具软件,专门用来编辑处理各种音视频或图像。ffmpeg于Linux系统中开发,不过在其它操作系统中都可以运行。

使用

将 video目录下的 mp4文件 转成 mp3文件 放到 audio(手动创建)中。

package main

import (
	"bytes"
	"fmt"
	"io/ioutil"
	"log"
	"os/exec"
	"strings"
)

func main() {
	// 读取当前目录中的所有文件和子目录
	path := "./video"
	files, err := ioutil.ReadDir(path)
	if err != nil {
		panic(err)
	}

	// 获取文件,并输出它们的名字
	for _, file := range files {
		realPath := path + "/" + file.Name()
		name := file.Name()
		nameArr := strings.Split(name, ".")
		ext := nameArr[len(nameArr)-1]

		if ext == "mp4" || ext == "flv" {
			fmt.Println(name)
			translate(realPath, name, ext)
		}
	}

}

func translate(inputPath string, fileName string, ext string) {
	var out bytes.Buffer
	fmt.Print("默认输出音频路径: ./audio\n")
	outputName := strings.Replace(fileName, ext, "mp3", 1)
	fmt.Println(outputName)
	outPutDir := "./audio"
	outputPath := outPutDir + "/" + outputName
	cmdArguments := []string{"-i", inputPath, outputPath}
	cmd := exec.Command("ffmpeg", cmdArguments...)
	cmd.Stdout = &out
	err := cmd.Run()
	if err != nil {
		log.Fatal(err)
	} else {
		fmt.Println("...... 转换成功.......")
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/950025
推荐阅读
相关标签
  

闽ICP备14008679号