diff --git a/INSTALLING.md b/INSTALLING.md index cbfbea8a..302f78dc 100644 --- a/INSTALLING.md +++ b/INSTALLING.md @@ -109,8 +109,6 @@ For example, if your library is split into multiples paths you can edit the `vol restart: unless-stopped env_file: - ./.env - environment: - - GOCODER_PREFIX=/video volumes: - - ${LIBRARY_ROOT}:/video:ro + - /my_path/number1:/video/1:ro diff --git a/chart/templates/transcoder/deployment.yaml b/chart/templates/transcoder/deployment.yaml index 0f3219d5..037a28c7 100644 --- a/chart/templates/transcoder/deployment.yaml +++ b/chart/templates/transcoder/deployment.yaml @@ -59,8 +59,6 @@ spec: value: "/cache" - name: GOCODER_METADATA_ROOT value: "/metadata" - - name: GOCODER_PREFIX - value: "/video" - name: GOCODER_SAFE_PATH value: {{ .Values.media.baseMountPath | quote }} - name: POSTGRES_USER diff --git a/docker-compose.build.yml b/docker-compose.build.yml index fb955a74..cd697dbe 100644 --- a/docker-compose.build.yml +++ b/docker-compose.build.yml @@ -7,8 +7,6 @@ x-transcoder: &transcoder-base restart: on-failure env_file: - ./.env - environment: - - GOCODER_PREFIX=/video volumes: - ${LIBRARY_ROOT}:/video:ro - ${CACHE_ROOT}:/cache @@ -120,7 +118,6 @@ services: device_ids: - nvidia.com/gpu=all environment: - - GOCODER_PREFIX=/video - GOCODER_HWACCEL=nvidia profiles: ['nvidia'] @@ -129,7 +126,6 @@ services: devices: - /dev/dri:/dev/dri environment: - - GOCODER_PREFIX=/video - GOCODER_HWACCEL=vaapi - GOCODER_VAAPI_RENDERER=${GOCODER_VAAPI_RENDERER:-/dev/dri/renderD128} profiles: ['vaapi'] @@ -139,7 +135,6 @@ services: devices: - /dev/dri:/dev/dri environment: - - GOCODER_PREFIX=/video - GOCODER_HWACCEL=qsv - GOCODER_VAAPI_RENDERER=${GOCODER_VAAPI_RENDERER:-/dev/dri/renderD128} profiles: ['qsv'] diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index ba12f97e..b587610f 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -12,8 +12,6 @@ x-transcoder: &transcoder-base cpus: 1 env_file: - ./.env - environment: - - GOCODER_PREFIX=/video volumes: - ${LIBRARY_ROOT}:/video:ro - ${CACHE_ROOT}:/cache @@ -147,7 +145,6 @@ services: device_ids: - nvidia.com/gpu=all environment: - - GOCODER_PREFIX=/video - GOCODER_HWACCEL=nvidia profiles: ['nvidia'] transcoder-vaapi: @@ -155,7 +152,6 @@ services: devices: - /dev/dri:/dev/dri environment: - - GOCODER_PREFIX=/video - GOCODER_HWACCEL=vaapi - GOCODER_VAAPI_RENDERER=${GOCODER_VAAPI_RENDERER:-/dev/dri/renderD128} profiles: ['vaapi'] @@ -165,7 +161,6 @@ services: devices: - /dev/dri:/dev/dri environment: - - GOCODER_PREFIX=/video - GOCODER_HWACCEL=qsv - GOCODER_VAAPI_RENDERER=${GOCODER_VAAPI_RENDERER:-/dev/dri/renderD128} profiles: ['qsv'] diff --git a/docker-compose.yml b/docker-compose.yml index 75181b20..8dc7a426 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,8 +7,6 @@ x-transcoder: &transcoder-base restart: unless-stopped env_file: - ./.env - environment: - - GOCODER_PREFIX=/video volumes: - ${LIBRARY_ROOT}:/video:ro - ${CACHE_ROOT}:/cache @@ -105,7 +103,6 @@ services: device_ids: - nvidia.com/gpu=all environment: - - GOCODER_PREFIX=/video - GOCODER_HWACCEL=nvidia profiles: ['nvidia'] @@ -114,7 +111,6 @@ services: devices: - /dev/dri:/dev/dri environment: - - GOCODER_PREFIX=/video - GOCODER_HWACCEL=vaapi - GOCODER_VAAPI_RENDERER=${GOCODER_VAAPI_RENDERER:-/dev/dri/renderD128} profiles: ['vaapi'] @@ -124,7 +120,6 @@ services: devices: - /dev/dri:/dev/dri environment: - - GOCODER_PREFIX=/video - GOCODER_HWACCEL=qsv - GOCODER_VAAPI_RENDERER=${GOCODER_VAAPI_RENDERER:-/dev/dri/renderD128} profiles: ['qsv'] diff --git a/transcoder/.env.example b/transcoder/.env.example index ba297618..0655af0f 100644 --- a/transcoder/.env.example +++ b/transcoder/.env.example @@ -4,8 +4,6 @@ # where to store temporary transcoded files GOCODER_CACHE_ROOT="/cache" -# path prefix needed to reach the http endpoint -GOCODER_PREFIX="" # base absolute path that contains video files (everything in this directory can be served) GOCODER_SAFE_PATH="/video" # hardware acceleration profile (valid values: disabled, vaapi, qsv, nvidia) diff --git a/transcoder/main.go b/transcoder/main.go index e58326f7..a9b115cf 100644 --- a/transcoder/main.go +++ b/transcoder/main.go @@ -383,7 +383,7 @@ func run(e *echo.Echo) (err error) { metadata: metadata, } - g := e.Group(src.Settings.RoutePrefix) + g := e.Group("/video") g.GET("/:path/direct", DirectStream) g.GET("/:path/direct/:identifier", DirectStream) g.GET("/:path/master.m3u8", h.GetMaster) diff --git a/transcoder/src/info.go b/transcoder/src/info.go index e17c1bc3..69bb6aff 100644 --- a/transcoder/src/info.go +++ b/transcoder/src/info.go @@ -285,7 +285,7 @@ func RetriveMediaInfo(path string, sha string) (*MediaInfo, error) { extension := OrNull(SubtitleExtensions[stream.CodecName]) var link string if extension != nil { - link = fmt.Sprintf("%s/%s/subtitle/%d.%s", Settings.RoutePrefix, base64.RawURLEncoding.EncodeToString([]byte(path)), i, *extension) + link = fmt.Sprintf("video/%s/subtitle/%d.%s", base64.RawURLEncoding.EncodeToString([]byte(path)), i, *extension) } lang, _ := language.Parse(stream.Tags.Language) idx := uint32(i) @@ -312,7 +312,7 @@ func RetriveMediaInfo(path string, sha string) (*MediaInfo, error) { }), Fonts: MapStream(mi.Streams, ffprobe.StreamAttachment, func(stream *ffprobe.Stream, i uint32) string { font, _ := stream.TagList.GetString("filename") - return fmt.Sprintf("%s/%s/attachment/%s", Settings.RoutePrefix, base64.RawURLEncoding.EncodeToString([]byte(path)), font) + return fmt.Sprintf("video/%s/attachment/%s", base64.RawURLEncoding.EncodeToString([]byte(path)), font) }), } var codecs []string diff --git a/transcoder/src/metadata.go b/transcoder/src/metadata.go index 4c7f9801..0729a56e 100644 --- a/transcoder/src/metadata.go +++ b/transcoder/src/metadata.go @@ -256,8 +256,7 @@ func (s *MetadataService) getMetadata(path string, sha string) (*MediaInfo, erro } if s.Extension != nil { link := fmt.Sprintf( - "%s/%s/subtitle/%d.%s", - Settings.RoutePrefix, + "video/%s/subtitle/%d.%s", base64.RawURLEncoding.EncodeToString([]byte(ret.Path)), *s.Index, *s.Extension, diff --git a/transcoder/src/settings.go b/transcoder/src/settings.go index e5062ea6..05f40297 100644 --- a/transcoder/src/settings.go +++ b/transcoder/src/settings.go @@ -15,7 +15,6 @@ func GetEnvOr(env string, def string) string { type SettingsT struct { Outpath string - RoutePrefix string SafePath string HwAccel HwAccelT } @@ -31,7 +30,6 @@ type HwAccelT struct { var Settings = SettingsT{ // we manually add a folder to make sure we do not delete user data. Outpath: path.Join(GetEnvOr("GOCODER_CACHE_ROOT", "/cache"), "kyoo_cache"), - RoutePrefix: GetEnvOr("GOCODER_PREFIX", ""), SafePath: GetEnvOr("GOCODER_SAFE_PATH", "/video"), HwAccel: DetectHardwareAccel(), } diff --git a/transcoder/src/subtitles.go b/transcoder/src/subtitles.go index e753be5b..ad6bccc0 100644 --- a/transcoder/src/subtitles.go +++ b/transcoder/src/subtitles.go @@ -31,8 +31,7 @@ outer: for codec, ext := range SubtitleExtensions { if strings.HasSuffix(match, ext) { link := fmt.Sprintf( - "%s/%s/direct/%s", - Settings.RoutePrefix, + "video/%s/direct/%s", base64.RawURLEncoding.EncodeToString([]byte(match)), filepath.Base(match), ) diff --git a/transcoder/src/thumbnails.go b/transcoder/src/thumbnails.go index 05642f45..467d98a7 100644 --- a/transcoder/src/thumbnails.go +++ b/transcoder/src/thumbnails.go @@ -145,10 +145,9 @@ func (s *MetadataService) extractThumbnail(ctx context.Context, path string, sha timestamps := ts ts += interval vtt += fmt.Sprintf( - "%s --> %s\n%s/%s/thumbnails.png#xywh=%d,%d,%d,%d\n\n", + "%s --> %s\nvideo/%s/thumbnails.png#xywh=%d,%d,%d,%d\n\n", tsToVttTime(timestamps), tsToVttTime(ts), - Settings.RoutePrefix, base64.RawURLEncoding.EncodeToString([]byte(path)), x, y,