orestonce / m3u8d

m3u8视频下载工具, 提供windows/macos图形界面, 下载后自动将ts文件合并、转换格式为mp4
MIT License
690 stars 86 forks source link

使用 gomedia 疑问 #2

Closed dryyun closed 1 year ago

dryyun commented 1 year ago

使用 gomedia 代替 ffmepg 进行 ts files 转换 mp4 的原因是什么? 有什么好处?性能更快,速度更快? 基于什么考虑?

orestonce commented 1 year ago

引入ffmpeg很麻烦, 原因列表:

  1. ffmpeg开源协议是 GPL的,具有传染性, 这个项目的主要逻辑就不能使用 MIT 开源了
  2. 如果使用cgo调用的形式引入ffmpeg
    • 最终二进制体积特别大
    • 编译mac/linux/路由器 版本的时候必然要依赖对应的跨平台编译器, 编译难度提升
  3. 如果使用内嵌 静态编译的ffmpeg二进制, 使用的时候释放到 临时目录再调用命令行
    • 最终二进制体积会更大, 可以看以前的v1.1版本 , 每个最终二进制都比现在大25MB左右
    • 没找到mipsle路由器版本的静态编译的ffmpeg
  4. 如果直接调用ffmpeg命令, 必定依赖于用户必须首先安装ffmpeg到操作系统, 难用

    • 这样引入MIT协议的gomedia解决ts转换成mp4好处就很明显了
  5. 跨平台编译容易
  6. 我的项目也可以使用MIT协议进行开源
  7. 最终二进制体积特别小, linux/mac 版本的命令行版本才 5-7MB, windows由于有静态编译进来的qt界面, 现在体积有26MB
  8. 用户无需预先安装ffmpeg, 降低用户的使用难度
orestonce commented 1 year ago