go后端利用ffmpeg转hls做简单视频直播的方法
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"go后端利用ffmpeg转hls做简单视频直播的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,
千家信息网最后更新 2026年11月02日go后端利用ffmpeg转hls做简单视频直播的方法
本篇内容介绍了"go后端利用ffmpeg转hls做简单视频直播的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
1. 前言
目前我们先测试一下ffmpeg转hls播放的方式,看下延迟情况及兼容性情况,主要测试Windows、Linux和macOS中使用谷歌浏览器播放的情况。后端结合我们之前的cgo部分,建立一个简单的http服务器,然后提供给前端调用。
2. wsl安装ffmpeg并转换rtsp为hls
sudo apt-get install ffmpeg
可能报错:
"E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/universe/f/flite/libflite1_2.1-release-3_amd64.deb Connection failed [IP: 91.189.88.142 80]"
解决办法,可以选择直接源码编译安装:
wget https://ffmpeg.org/releases/ffmpeg-4.1.tar.bz2tar -xjvf ffmpeg-4.1.tar.bz2cd ffmpeg-4.1sudo apt-get install yasm./configuremake && sudo make installffmpeg -version
ffmpeg转换rtsp为hls:
ffmpeg -i "rtsp://username:password@40.40.40.101/media/video1" -c copy -f hls -hls_time 2.0 -hls_list_size 0 -hls_wrap 15 "./test.m3u8"
3. 前后端示例代码
3.1 后端go代码
我们使用go创建简单的http服务,然后利用ffmpg转换hls提供给前端。
需要鉴权时rtsp地址前加上用户名密码时即可,比如rtsp://username:password@xxx,用户名和密码之间用:隔开,和原本的地址用@隔开。
main.go:
import ( "fmt" "net/http" "os/exec" "bytes" "io/ioutil")func Index(w http.ResponseWriter, r *http.Request) { content, _ := ioutil.ReadFile("./index.html") w.Write(content)}func main () { http.HandleFunc("/index", Index) http.Handle("/", http.FileServer(http.Dir("."))) go func() { http.ListenAndServe(":9000", nil) }() cmd := exec.Command("ffmpeg", "-i", "rtsp://admin:admin@40.40.40.101/media/video1", "-c", "copy", "-f", "hls", "-hls_time", "2.0", "-hls_list_size", "0", "-hls_wrap", "15", "./test.m3u8") var out bytes.Buffer var stderr bytes.Buffer cmd.Stdout = &out cmd.Stderr = &stderr err := cmd.Run() if err != nil { fmt.Println(fmt.Sprint(err) + ": " + stderr.String()) return } fmt.Println("Result: " + out.String())}3.2 前端代码
前端播放m3u8格式视频
4. 结果及评估
运行后端代码后访问localhost:9000即可查看视频,经测试延迟还是比较高的(我测试大致在5s-8s),如果要加上ptz控制的话没有实时感恐怕比较怪异,只适合简单的网络直播之类的,不太在乎一定的延迟。

"go后端利用ffmpeg转hls做简单视频直播的方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
视频
代码
前端
情况
测试
直播
延迟
方法
视频直播
内容
地址
密码
更多
格式
用户
用户名
知识
服务
实用
怪异
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中智农互联网科技
互联网科技公司起名
互联网科技工作委员会毛军
互联网的科技
互联网医疗科技
中正互联网科技招聘
顺网科技2021年互联网排名
海南购全球互联网科技
广州优美互联网科技
杭州壁岐互联网科技有限公司
东莞新华互联网科技学校
互联网公司高科技产品
富国互联网金融科技混合基金
本届互联网大会上的黑科技
普陀区互联网教育科技管理办法
求路客互联网科技电话
现代互联网科技公司
承德科技产业互联网平台
优雇互联网科技有限公司
武汉亿视互联网科技有限公司
百单网互联网科技有限公司
为想互联网科技怎么样
没上市的科技互联网公司
北京互联网科技
万易互联网科技
互联网与未来科技
互联网 科技馆
宝灵互联网科技有限公司
黑云互联网科技有限公司
风投北京互联网科技