Files
web_hghl_server/app/service/videoser/vtt.go
T
2026-10-26 16:28:14 +08:00

41 lines
1.0 KiB
Go

package videoser
import (
"bytes"
"io"
"videoweb/app/appg"
"videoweb/app/service/configser"
"videoweb/pub/common/ipaddr"
"videoweb/pub/common/m3u8"
"github.com/gin-gonic/gin"
)
// GetVTT 获取雪碧图 vtt,缩略图路径替换为图片 cdn,兼容 /laosiji 路径资源。
func GetVTT(ctx *gin.Context) {
fn := func(c *gin.Context) (contentLength int64, contentType string, reader io.Reader, extraHeaders map[string]string, err error) {
vttName := c.Param("key")
var req m3u8.Req
if err = c.BindQuery(&req); err != nil {
return
}
req.Name = vttName
imgCdn := configser.GetAppImageCdn(ipaddr.ResolveClientIP(c))
originDomain := appg.Conf.OrigDomain
lsjImageYuan := appg.Conf.LsjMediaConf.ImageYuan
buff, err := m3u8.TransformVtt(req.Name, imgCdn, originDomain, lsjImageYuan)
if err != nil {
return
}
contentType = "text/vtt; charset=utf-8"
reader = bytes.NewReader(buff)
contentLength = int64(len(buff))
extraHeaders = map[string]string{}
return
}
handlerFile(ctx, fn)
}