本库尝试使用 go
直接调用 ffmpeg 动态库函数,生成 hls 文件.
- gcc 因为需要调用 ffmpeg 的依赖库,需要通过
cgo
调用。 - ffmpeg(4.0+) 或者 ffmepg 依赖库(4.0+)
package main
import "github.com/snowlyg/go_ffmpeg"
func main() {
hls := go_ffmpeg.Hls{
InFilename: "rtsp://www.mym9.com/101065?from=2019-06-28/01:12:13",
OutFilename: "./hls_files",
}
hls.ToHls()
}
更多使用示例,参考 example 。
-
windows
环境: 到 https://github.com/BtbN/FFmpeg-Builds/releases 下载ffmpeg
依赖库文件。 -
mac
环境:
brew install ffmpeg
ubuntu
环境:
sudo apt install -y libavdevice-dev libavfilter-dev libswscale-dev libavcodec-dev libavformat-dev libswresample-dev libavutil-dev
- 修改 chls.go 文件,将
#cgo CFLAGS: -I
和cgo LDFLAGS: -L
修改为前面依赖库的安装地址。 windows
环境需要将dll
文件复制到程序的执行目录