Documentation
¶
Index ¶
- Constants
- Variables
- func Init() error
- type EmbyHandler
- func (handler *EmbyHandler) GetImageCacheRegexp() *regexp.Regexp
- func (handler *EmbyHandler) GetRegexpRouteRules() []RegexpRouteRule
- func (handler *EmbyHandler) GetSubtitleCacheRegexp() *regexp.Regexp
- func (handler *EmbyHandler) ModifyBaseHtmlPlayer(rw *http.Response) error
- func (handler *EmbyHandler) ModifyIndex(rw *http.Response) error
- func (handler *EmbyHandler) ModifyPlaybackInfo(rw *http.Response) error
- func (handler *EmbyHandler) ModifySubtitles(rw *http.Response) error
- func (handler *EmbyHandler) ReverseProxy(rw http.ResponseWriter, req *http.Request)
- func (handler *EmbyHandler) VideosHandler(ctx *gin.Context)
- type FNTVHandler
- func (hanler *FNTVHandler) GetImageCacheRegexp() *regexp.Regexp
- func (hanler *FNTVHandler) GetRegexpRouteRules() []RegexpRouteRule
- func (hanler *FNTVHandler) GetSubtitleCacheRegexp() *regexp.Regexp
- func (hanler *FNTVHandler) ModifyStream(rw *http.Response) error
- func (hanler *FNTVHandler) ReverseProxy(writer http.ResponseWriter, request *http.Request)
- type JellyfinHandler
- func (handler *JellyfinHandler) GetImageCacheRegexp() *regexp.Regexp
- func (handler *JellyfinHandler) GetRegexpRouteRules() []RegexpRouteRule
- func (*JellyfinHandler) GetSubtitleCacheRegexp() *regexp.Regexp
- func (handler *JellyfinHandler) ModifyIndex(rw *http.Response) error
- func (handler *JellyfinHandler) ModifyPlaybackInfo(rw *http.Response) error
- func (handler *JellyfinHandler) ReverseProxy(rw http.ResponseWriter, req *http.Request)
- func (handler *JellyfinHandler) VideosHandler(ctx *gin.Context)
- type MediaServerHandler
- type RegexpRouteRule
- type StrmHandlerFunc
- type TranscodeResourceInfo
Constants ¶
View Source
const ( MaxRedirectAttempts = 10 // 最大重定向次数限制 RedirectTimeout = 10 * time.Second // 最大超时时间 )
Variables ¶
View Source
var ( ErrInvalidLocationHeader = errors.New("重定向 Location 头无效") ErrMaxRedirectsExceeded = fmt.Errorf("超过最大重定向次数限制(%d)", MaxRedirectAttempts) )
View Source
var ErrInvalidMediaServerType = errors.New("错误的媒体服务器类型")
Functions ¶
Types ¶
type EmbyHandler ¶
type EmbyHandler struct {
// contains filtered or unexported fields
}
Emby服务器处理器
func NewEmbyServerHandler ¶
func NewEmbyServerHandler(addr string, apiKey string) (*EmbyHandler, error)
初始化
func (*EmbyHandler) GetImageCacheRegexp ¶
func (handler *EmbyHandler) GetImageCacheRegexp() *regexp.Regexp
func (*EmbyHandler) GetRegexpRouteRules ¶
func (handler *EmbyHandler) GetRegexpRouteRules() []RegexpRouteRule
正则路由表
func (*EmbyHandler) GetSubtitleCacheRegexp ¶
func (handler *EmbyHandler) GetSubtitleCacheRegexp() *regexp.Regexp
func (*EmbyHandler) ModifyBaseHtmlPlayer ¶
func (handler *EmbyHandler) ModifyBaseHtmlPlayer(rw *http.Response) error
修改 basehtmlplayer.js
用于修改播放器 JS,实现跨域播放 Strm 文件(302 重定向)
func (*EmbyHandler) ModifyIndex ¶
func (handler *EmbyHandler) ModifyIndex(rw *http.Response) error
修改首页函数
func (*EmbyHandler) ModifyPlaybackInfo ¶
func (handler *EmbyHandler) ModifyPlaybackInfo(rw *http.Response) error
修改播放信息请求
/Items/:itemId/PlaybackInfo 强制将 HTTPStrm 设置为支持直链播放和转码、AlistStrm 设置为支持直链播放并且禁止转码
func (*EmbyHandler) ModifySubtitles ¶
func (handler *EmbyHandler) ModifySubtitles(rw *http.Response) error
修改字幕
将 SRT 字幕转 ASS
func (*EmbyHandler) ReverseProxy ¶
func (handler *EmbyHandler) ReverseProxy(rw http.ResponseWriter, req *http.Request)
转发请求至上游服务器
func (*EmbyHandler) VideosHandler ¶
func (handler *EmbyHandler) VideosHandler(ctx *gin.Context)
视频流处理器
支持播放本地视频、重定向 HttpStrm、AlistStrm
type FNTVHandler ¶
type FNTVHandler struct {
// contains filtered or unexported fields
}
func NewFNTVHandler ¶
func NewFNTVHandler(addr string) (*FNTVHandler, error)
func (*FNTVHandler) GetImageCacheRegexp ¶
func (hanler *FNTVHandler) GetImageCacheRegexp() *regexp.Regexp
获取图片缓存正则表达式
func (*FNTVHandler) GetRegexpRouteRules ¶
func (hanler *FNTVHandler) GetRegexpRouteRules() []RegexpRouteRule
获取正则路由表
func (*FNTVHandler) GetSubtitleCacheRegexp ¶
func (hanler *FNTVHandler) GetSubtitleCacheRegexp() *regexp.Regexp
获取字幕缓存正则表达式
func (*FNTVHandler) ModifyStream ¶
func (hanler *FNTVHandler) ModifyStream(rw *http.Response) error
func (*FNTVHandler) ReverseProxy ¶
func (hanler *FNTVHandler) ReverseProxy(writer http.ResponseWriter, request *http.Request)
转发请求至上游服务器
type JellyfinHandler ¶
type JellyfinHandler struct {
// contains filtered or unexported fields
}
Jellyfin 服务器处理器
func NewJellyfinHandler ¶
func NewJellyfinHandler(addr string, apiKey string) (*JellyfinHandler, error)
func (*JellyfinHandler) GetImageCacheRegexp ¶
func (handler *JellyfinHandler) GetImageCacheRegexp() *regexp.Regexp
func (*JellyfinHandler) GetRegexpRouteRules ¶
func (handler *JellyfinHandler) GetRegexpRouteRules() []RegexpRouteRule
正则路由表
func (*JellyfinHandler) GetSubtitleCacheRegexp ¶
func (*JellyfinHandler) GetSubtitleCacheRegexp() *regexp.Regexp
func (*JellyfinHandler) ModifyIndex ¶
func (handler *JellyfinHandler) ModifyIndex(rw *http.Response) error
修改首页函数
func (*JellyfinHandler) ModifyPlaybackInfo ¶
func (handler *JellyfinHandler) ModifyPlaybackInfo(rw *http.Response) error
修改播放信息请求
/Items/:itemId 强制将 HTTPStrm 设置为支持直链播放和转码、AlistStrm 设置为支持直链播放并且禁止转码
func (*JellyfinHandler) ReverseProxy ¶
func (handler *JellyfinHandler) ReverseProxy(rw http.ResponseWriter, req *http.Request)
转发请求至上游服务器
func (*JellyfinHandler) VideosHandler ¶
func (handler *JellyfinHandler) VideosHandler(ctx *gin.Context)
视频流处理器
支持播放本地视频、重定向 HttpStrm、AlistStrm
type MediaServerHandler ¶
type MediaServerHandler interface {
ReverseProxy(http.ResponseWriter, *http.Request) // 转发请求至上游服务器
GetRegexpRouteRules() []RegexpRouteRule // 获取正则路由表
GetImageCacheRegexp() *regexp.Regexp // 获取图片缓存正则表达式
GetSubtitleCacheRegexp() *regexp.Regexp // 字幕缓存正则表达式
}
媒体服务器处理接口
type RegexpRouteRule ¶
type RegexpRouteRule struct {
Regexp *regexp.Regexp
Handler gin.HandlerFunc
}
正则表达式路由规则
type StrmHandlerFunc ¶
type TranscodeResourceInfo ¶
type TranscodeResourceInfo struct {
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.