diff --git a/README.md b/README.md index a2e9f25..bcba4ad 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ## m3u8d 一款m3u8下载工具 * 提供windows图形界面(Qt), mac、linux命令行, linux支持arm和386 * 使用gomedia转换、合并ts格式为mp4 -* windows自带GUI界面的版本下载: [m3u8d_qt_v1.4_windows_amd64.exe](https://github.com/orestonce/m3u8d/releases/download/v1.4/m3u8d_qt_v1.4_windows_amd64.exe): +* windows自带GUI界面的版本下载: [m3u8d_qt_v1.4.2_windows_amd64.exe](https://github.com/orestonce/m3u8d/releases/download/v1.4.2/m3u8d_qt_v1.4.2_windows_amd64.exe): ![](m3u8d-qt/screenshot.png) * 全部版本下载, 包括windows图形界面/linux命令行/mac命令行: https://github.com/orestonce/m3u8d/releases @@ -23,7 +23,7 @@ * [x] 充分测试后,使用 https://github.com/yapingcat/gomedia 代替ffmpeg进行格式转换 * [x] 支持嵌套m3u8的url * [x] 支持设置代理 - * [ ] 增加openwrt路由器的mipsle二进制 + * [x] 增加openwrt路由器的mipsle二进制 * [ ] 支持从curl命令解析出需要的header、auth-basic、cookie等信息,正如 https://github.com/cxjava/m3u8-downloader 一样 ## 二次开发操作手册: * 如果只开发命令行版本, 则只需要修改*.go文件, 然后编译 cmd/main.go 即可 diff --git a/cmd/main.go b/cmd/main.go index 932a69a..e1193b3 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -9,6 +9,10 @@ import ( var rootCmd = cobra.Command{ Use: "m3u8下载工具", Run: func(cmd *cobra.Command, args []string) { + if gRunReq.M3u8Url == "" { + cmd.Help() + return + } m3u8d.SetShowProgressBar() resp := m3u8d.RunDownload(gRunReq) fmt.Println() // 有进度条,所以需要换行 diff --git a/export/main.go b/export/main.go index 6145b6c..4c204eb 100644 --- a/export/main.go +++ b/export/main.go @@ -11,7 +11,7 @@ import ( func main() { BuildCliBinary() // 编译二进制 - //CreateLibForQtUi() // 创建Qt需要使用的.a库文件 + CreateLibForQtUi() // 创建Qt需要使用的.a库文件 } func BuildCliBinary() { @@ -43,7 +43,7 @@ func BuildCliBinary() { }, } for _, cfg := range list { - name := "m3u8d_cli_v1.4.1_" + cfg.GOOS + "_" + cfg.GOARCH + cfg.Ext + name := "m3u8d_cli_v1.4.2_" + cfg.GOOS + "_" + cfg.GOARCH + cfg.Ext cmd := exec.Command("go", "build", "-ldflags", "-s -w", "-o", filepath.Join(wd, "bin", name)) cmd.Dir = filepath.Join(wd, "cmd") cmd.Env = append(os.Environ(), "GOOS="+cfg.GOOS) diff --git a/go.mod b/go.mod index 2066ecd..bbc7a2a 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/orestonce/go2cpp v0.0.0-20220605110533-c77a8dd7fdfd github.com/orestonce/gopool v0.0.0-20220508090328-d7d56d45b171 github.com/spf13/cobra v1.4.0 - github.com/yapingcat/gomedia v0.0.0-20220621113316-0cd64b0770ac + github.com/yapingcat/gomedia v0.0.0-20220621130152-95fa86fac794 golang.org/x/net v0.0.0-20220617184016-355a448f1bc9 ) diff --git a/go.sum b/go.sum index 37c95e4..8b9d377 100644 --- a/go.sum +++ b/go.sum @@ -12,8 +12,8 @@ github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/yapingcat/gomedia v0.0.0-20220621113316-0cd64b0770ac h1:BIZyaWddLxEAJuegSdb+SUlestsy0gUP5AvdaP8ilzc= -github.com/yapingcat/gomedia v0.0.0-20220621113316-0cd64b0770ac/go.mod h1:WSZ59bidJOO40JSJmLqlkBJrjZCtjbKKkygEMfzY/kc= +github.com/yapingcat/gomedia v0.0.0-20220621130152-95fa86fac794 h1:6LKuTqBiq0t7gdwYtWZf2Eq8eOQWcpaSxufybzqj3vo= +github.com/yapingcat/gomedia v0.0.0-20220621130152-95fa86fac794/go.mod h1:WSZ59bidJOO40JSJmLqlkBJrjZCtjbKKkygEMfzY/kc= golang.org/x/net v0.0.0-20220617184016-355a448f1bc9 h1:Yqz/iviulwKwAREEeUd3nbBFn0XuyJqkoft2IlrvOhc= golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/merge.go b/merge.go index b3909ce..eda9f8d 100644 --- a/merge.go +++ b/merge.go @@ -24,7 +24,10 @@ func MergeTsFileListToSingleMp4(req MergeTsFileListToSingleMp4_Req) (err error) } defer mp4file.Close() - muxer := mp4.CreateMp4Muxer(mp4file) + muxer, err := mp4.CreateMp4Muxer(mp4file) + if err != nil { + return err + } vtid := muxer.AddVideoTrack(mp4.MP4_CODEC_H264) atid := muxer.AddAudioTrack(mp4.MP4_CODEC_AAC, 0, 16, 44100) @@ -68,6 +71,10 @@ func MergeTsFileListToSingleMp4(req MergeTsFileListToSingleMp4_Req) (err error) if err != nil { return err } + err = mp4file.Sync() + if err != nil { + return err + } DrawProgressBar(1, 1) - return err + return nil }