Go语言Gin框架实现在线视频点播

2022年7月4日 369点热度 0人点赞 0条评论
图片

戳蓝色字“编程者联盟”关注我们哟!



需求:

1、通过HTML<video>标签可以播放指定的视频

2、前后端分离,接口只返回视频播放地址

3、使用Golang语言的gin框架实现

实现思路:

1、Gin框架做接口端,返回视频文件(本质上就是下载视频文件接口)

2、<video>标签中的src地址填写视频下载地址,通过Chrome在线播放

准备材料:

1、golang gin框架

2、一个mp4视频文件(go.mp4)

项目目录:

图片

Go代码:

package main
/*
gin框架实现文件下载功能
*/

import (
"fmt"
"github.com/gin-gonic/gin"
"path"
)

//主函数
func main() {
r := gin.Default()

//Get路由,动态路由
r.GET("/getvideo/:name", DowFile)

//监听端口
err:=r.Run(":80")
if err!=nil{
fmt.Println("error")
}
}

//文件下载功能实现
func DowFile(c *gin.Context) {
//通过动态路由方式获取文件名,以实现下载不同文件的功能
name:=c.Param("name")
//拼接路径,如果没有这一步,则默认在当前路径下寻找
filename:=path.Join("./",name)
//响应一个文件
c.File(filename)
return
}

/*
注:
1、运行以上代码,直接通过浏览器访问:http://localhost/getvideo/go.mp4
可以看一个视频播放窗口,直接点播放即可以播放。需要说明的是,整个实现思路就是
使用gin框架的文件下载功能,实现在视频的在线播放,将url嵌入h5等价于h5直接打开本地视频文件。
2、url中的pgs.mp4就是服务端本地的文件,把文件格式改成exe或csv等,通过浏览器访问则可以
实现文件下载功能。因为chrome可以直接播放mp4,所以请求以上url则会打开一个播放窗口。
*/

HTML<video>标签代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>在线视频播放示例</title>
</head>
<body>

<video width="420" height="340" controls>
<source src="http://localhost/getvideo/go.mp4" type="video/ogg">
</video>

</body>
</html>

实现效果:

图片

长按识别二维码,了解更多

图片

回顾往期内容

可点击下方“阅读原文”了解更多



13010Go语言Gin框架实现在线视频点播

root

这个人很懒,什么都没留下

文章评论