master
huanghai 5 years ago
parent 77bad271f0
commit 6bd56cc1e9

@ -2,6 +2,7 @@ package main
import (
"dsSupport/Utils/ConvertUtil"
"fmt"
)
func main() {
@ -16,10 +17,11 @@ func main() {
for i := range childMovie {
ConvertUtil.ConvertToH264Mp4(childMovie[i])
}
////3、生成拼接的索引文件
//indexName := ConvertUtil.GenerateIndexTxt(source, childMovie)
////4、合成MP4
//ConvertUtil.Merge(source, indexName)
//3、生成拼接的索引文件
indexName := ConvertUtil.GenerateIndexTxt(source, childMovie)
fmt.Println(indexName)
//4、合成MP4
ConvertUtil.Merge(source)
//5、清除垃圾
//ConvertUtil.ClearRubbish(source)
ConvertUtil.ClearRubbish(source)
}

@ -1,4 +1,4 @@
package ShellUtil
package CommonUtil
import (
"bufio"
@ -8,26 +8,6 @@ import (
"os/exec"
)
//
////封装一个函数来执行命令
//func ExecCommand(cmdLine string) {
// cmd := exec.Command("cmd.exe", "/c", cmdLine)
// err := cmd.Run()
//
// var out bytes.Buffer
// var stderr bytes.Buffer
// cmd.Stdout = &out
// cmd.Stderr = &stderr
// if err := cmd.Run(); err != nil {
// fmt.Println(fmt.Sprint(err) + ": " + stderr.String())
// }
// fmt.Println("Result: " + out.String())
//
// cmd.Wait()
// fmt.Printf("%s, error:%v \n", cmdLine, err)
//}
/**
DOS

@ -2,7 +2,7 @@ package ConvertUtil
import (
"dsSupport/Utils/FileUtil"
"dsSupport/Utils/ShellUtil"
"dsSupport/Utils/CommonUtil"
"fmt"
"os"
"path"
@ -62,7 +62,7 @@ func Cut(source string) {
//3、输出的文件通配名称
targetPath := getPath(source, CutPath) + source[0:36] + `_%03d` + extension
//4、切片
ShellUtil.Exec(ffmpeg, `-fflags`, `+genpts`, `-i`, sourcePath,
CommonUtil.Exec(ffmpeg, `-fflags`, `+genpts`, `-i`, sourcePath,
`-acodec`, `copy`, `-vcodec`, `copy`, `-f`, `segment`, `-segment_time`,
`300`, `-reset_timestamps`, `1`, `-map`, `0:0`, `-map`, `0:1`, targetPath)
}
@ -92,7 +92,7 @@ func GetAllCutChild(source string) []string {
func ConvertToH264Mp4(childMovie string) {
extension := path.Ext(childMovie)
childMovieMp4 := strings.Replace(filepath.Base(childMovie), extension, ".mp4", -1)
ShellUtil.Exec(ffmpeg, `-i`, childMovie, `-c:v`, `libx264`, `-strict`, `-2`,
CommonUtil.Exec(ffmpeg, `-i`, childMovie, `-c:v`, `libx264`, `-strict`, `-2`,
getPath(childMovieMp4, Mp4Path)+childMovieMp4)
}
@ -110,7 +110,7 @@ func GenerateIndexTxt(source string, childMovie []string) string {
content = append(content, `file '`+filenameWithSuffix+`'`)
}
//文件位置
indexName := runDir + `/Working/` + source[0:2] + "/" + source[0:36] + "/" + source[0:36] + ".txt"
indexName := getPath(source,IndexPath) + source[0:36] + ".txt"
FileUtil.WriteLines(content, indexName)
return indexName
}
@ -120,7 +120,8 @@ func GenerateIndexTxt(source string, childMovie []string) string {
2020-07-08
*/
func Merge(source string, indexName string) {
func Merge(source string) {
indexName:=getPath(source,IndexPath)+source[0:36]+".txt"
Target := runDir + `/Target/` + source[0:2] + "/"
if !FileUtil.Exists(Target) {
os.Mkdir(Target, os.ModePerm)
@ -129,7 +130,12 @@ func Merge(source string, indexName string) {
if !FileUtil.Exists(Target) {
os.Mkdir(Target, os.ModePerm)
}
ShellUtil.Exec(ffmpeg, `-f`, `concat`, `-i`, indexName, `-c`, `copy`, Target+"/"+source[0:36]+".mp4")
if FileUtil.Exists(Target+"/"+source[0:36]+".mp4"){
//删除
os.Remove(Target+"/"+source[0:36]+".mp4")
}
//合并
CommonUtil.Exec(ffmpeg, `-f`, `concat`, `-i`, indexName, `-c`, `copy`, Target+"/"+source[0:36]+".mp4")
}
/**

@ -0,0 +1,2 @@
file 'B7318F5D-46B8-4AA1-8811-1A9D65528E19_000.mp4'
file 'B7318F5D-46B8-4AA1-8811-1A9D65528E19_001.mp4'
Loading…
Cancel
Save