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) }