mirror of
https://github.com/photoprism/photoprism.git
synced 2025-12-12 08:44:04 +01:00
Thumb: Update supported sizes for videos and full screen viewer #1474
Signed-off-by: Michael Mayer <michael@photoprism.app>
This commit is contained in:
@@ -78,7 +78,7 @@ class Viewer {
|
||||
download: true,
|
||||
},
|
||||
{
|
||||
id: "fit_2048",
|
||||
id: "fit_1920",
|
||||
template: "Medium (size)",
|
||||
label: "Medium",
|
||||
url: "{{raw_image_url}}",
|
||||
|
||||
@@ -241,9 +241,7 @@ const clientConfig = {
|
||||
{ size: "fit_720", usage: "SD TV, Mobile", w: 720, h: 720 },
|
||||
{ size: "fit_1280", usage: "HD TV, SXGA", w: 1280, h: 1024 },
|
||||
{ size: "fit_1920", usage: "Full HD", w: 1920, h: 1200 },
|
||||
{ size: "fit_2048", usage: "DCI 2K, Tablets", w: 2048, h: 2048 },
|
||||
{ size: "fit_2560", usage: "Quad HD, Notebooks", w: 2560, h: 1600 },
|
||||
{ size: "fit_3840", usage: "4K Ultra HD", w: 3840, h: 2400 },
|
||||
{ size: "fit_4096", usage: "DCI 4K, Retina 4K", w: 4096, h: 4096 },
|
||||
{ size: "fit_7680", usage: "8K Ultra HD 2", w: 7680, h: 4320 },
|
||||
],
|
||||
|
||||
@@ -21,7 +21,7 @@ func TestShowThumbSizesCommand(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
assert.Contains(t, output, "fit_2048")
|
||||
assert.Contains(t, output, "fit_1920")
|
||||
assert.Contains(t, output, "Mosaic View")
|
||||
assert.Contains(t, output, "Color Detection")
|
||||
}
|
||||
|
||||
@@ -46,10 +46,10 @@ func TestConfig_FFmpegBitrate(t *testing.T) {
|
||||
|
||||
func TestConfig_FFmpegSize(t *testing.T) {
|
||||
c := NewConfig(CliTestContext())
|
||||
assert.Equal(t, 3840, c.FFmpegSize())
|
||||
assert.Equal(t, 4096, c.FFmpegSize())
|
||||
|
||||
c.options.FFmpegSize = 0
|
||||
assert.Equal(t, 3840, c.FFmpegSize())
|
||||
assert.Equal(t, 4096, c.FFmpegSize())
|
||||
|
||||
c.options.FFmpegSize = -1
|
||||
assert.Equal(t, 7680, c.FFmpegSize())
|
||||
|
||||
@@ -661,7 +661,7 @@ var Flags = CliFlags{
|
||||
Flag: cli.IntFlag{
|
||||
Name: "ffmpeg-size, vs",
|
||||
Usage: "maximum video size in `PIXELS` (720-7680)",
|
||||
Value: thumb.Sizes[thumb.Fit3840].Width,
|
||||
Value: thumb.Sizes[thumb.Fit4096].Width,
|
||||
EnvVar: EnvVar("FFMPEG_SIZE"),
|
||||
}}, {
|
||||
Flag: cli.IntFlag{
|
||||
|
||||
@@ -20,7 +20,7 @@ var thumbFileNames = []string{
|
||||
"%s_720x720_fit.jpg",
|
||||
"%s_1280x1024_fit.jpg",
|
||||
"%s_1920x1200_fit.jpg",
|
||||
"%s_2048x2048_fit.jpg",
|
||||
"%s_2560x1600_fit.jpg",
|
||||
"%s_4096x4096_fit.jpg",
|
||||
"%s_7680x4320_fit.jpg",
|
||||
}
|
||||
@@ -30,7 +30,7 @@ var thumbFileSizes = []thumb.Size{
|
||||
thumb.Sizes[thumb.Fit720],
|
||||
thumb.Sizes[thumb.Fit1280],
|
||||
thumb.Sizes[thumb.Fit1920],
|
||||
thumb.Sizes[thumb.Fit2048],
|
||||
thumb.Sizes[thumb.Fit2560],
|
||||
thumb.Sizes[thumb.Fit4096],
|
||||
thumb.Sizes[thumb.Fit7680],
|
||||
}
|
||||
|
||||
@@ -40,9 +40,7 @@ func (m Photo) ViewerResult(contentUri, apiUri, previewToken, downloadToken stri
|
||||
Fit720: thumb.New(m.FileWidth, m.FileHeight, m.FileHash, thumb.Sizes[thumb.Fit720], contentUri, previewToken),
|
||||
Fit1280: thumb.New(m.FileWidth, m.FileHeight, m.FileHash, thumb.Sizes[thumb.Fit1280], contentUri, previewToken),
|
||||
Fit1920: thumb.New(m.FileWidth, m.FileHeight, m.FileHash, thumb.Sizes[thumb.Fit1920], contentUri, previewToken),
|
||||
Fit2048: thumb.New(m.FileWidth, m.FileHeight, m.FileHash, thumb.Sizes[thumb.Fit2048], contentUri, previewToken),
|
||||
Fit2560: thumb.New(m.FileWidth, m.FileHeight, m.FileHash, thumb.Sizes[thumb.Fit2560], contentUri, previewToken),
|
||||
Fit3840: thumb.New(m.FileWidth, m.FileHeight, m.FileHash, thumb.Sizes[thumb.Fit3840], contentUri, previewToken),
|
||||
Fit4096: thumb.New(m.FileWidth, m.FileHeight, m.FileHash, thumb.Sizes[thumb.Fit4096], contentUri, previewToken),
|
||||
Fit7680: thumb.New(m.FileWidth, m.FileHeight, m.FileHash, thumb.Sizes[thumb.Fit7680], contentUri, previewToken),
|
||||
},
|
||||
@@ -81,9 +79,7 @@ func (photo GeoResult) ViewerResult(contentUri, apiUri, previewToken, downloadTo
|
||||
Fit720: thumb.New(photo.FileWidth, photo.FileHeight, photo.FileHash, thumb.Sizes[thumb.Fit720], contentUri, previewToken),
|
||||
Fit1280: thumb.New(photo.FileWidth, photo.FileHeight, photo.FileHash, thumb.Sizes[thumb.Fit1280], contentUri, previewToken),
|
||||
Fit1920: thumb.New(photo.FileWidth, photo.FileHeight, photo.FileHash, thumb.Sizes[thumb.Fit1920], contentUri, previewToken),
|
||||
Fit2048: thumb.New(photo.FileWidth, photo.FileHeight, photo.FileHash, thumb.Sizes[thumb.Fit2048], contentUri, previewToken),
|
||||
Fit2560: thumb.New(photo.FileWidth, photo.FileHeight, photo.FileHash, thumb.Sizes[thumb.Fit2560], contentUri, previewToken),
|
||||
Fit3840: thumb.New(photo.FileWidth, photo.FileHeight, photo.FileHash, thumb.Sizes[thumb.Fit3840], contentUri, previewToken),
|
||||
Fit4096: thumb.New(photo.FileWidth, photo.FileHeight, photo.FileHash, thumb.Sizes[thumb.Fit4096], contentUri, previewToken),
|
||||
Fit7680: thumb.New(photo.FileWidth, photo.FileHeight, photo.FileHash, thumb.Sizes[thumb.Fit7680], contentUri, previewToken),
|
||||
},
|
||||
|
||||
@@ -7,9 +7,7 @@ import "image"
|
||||
var FitSizes = SizeList{
|
||||
Sizes[Fit7680],
|
||||
Sizes[Fit4096],
|
||||
Sizes[Fit3840],
|
||||
Sizes[Fit2560],
|
||||
Sizes[Fit2048],
|
||||
Sizes[Fit1920],
|
||||
Sizes[Fit1280],
|
||||
Sizes[Fit720],
|
||||
|
||||
@@ -12,10 +12,11 @@ func TestFit(t *testing.T) {
|
||||
assert.Equal(t, Sizes[Fit720], Fit(54, 453))
|
||||
assert.Equal(t, Sizes[Fit1280], Fit(1000, 1000))
|
||||
assert.Equal(t, Sizes[Fit1280], Fit(1250, 1000))
|
||||
assert.Equal(t, Sizes[Fit2048], Fit(1300, 1300))
|
||||
assert.Equal(t, Sizes[Fit2048], Fit(1600, 1600))
|
||||
assert.Equal(t, Sizes[Fit1920], Fit(1300, 1200))
|
||||
assert.Equal(t, Sizes[Fit2560], Fit(1300, 1300))
|
||||
assert.Equal(t, Sizes[Fit2560], Fit(1600, 1600))
|
||||
assert.Equal(t, Sizes[Fit4096], Fit(1000, 3000))
|
||||
assert.Equal(t, Sizes[Fit3840], Fit(2300, 2000))
|
||||
assert.Equal(t, Sizes[Fit4096], Fit(2300, 2000))
|
||||
assert.Equal(t, Sizes[Fit7680], Fit(5000, 5000))
|
||||
}
|
||||
|
||||
|
||||
@@ -5,9 +5,7 @@ type Public struct {
|
||||
Fit720 Thumb `json:"fit_720"`
|
||||
Fit1280 Thumb `json:"fit_1280"`
|
||||
Fit1920 Thumb `json:"fit_1920"`
|
||||
Fit2048 Thumb `json:"fit_2048"`
|
||||
Fit2560 Thumb `json:"fit_2560"`
|
||||
Fit3840 Thumb `json:"fit_3840"`
|
||||
Fit4096 Thumb `json:"fit_4096"`
|
||||
Fit7680 Thumb `json:"fit_7680"`
|
||||
}
|
||||
|
||||
@@ -39,7 +39,6 @@ func TestNew(t *testing.T) {
|
||||
assert.Equal(t, 720, result.H)
|
||||
assert.Equal(t, "/content/t/d2b4a5d18276f96f1b5a1bf17fd82d6fab3807f2/preview-token/fit_1280", result.Src)
|
||||
})
|
||||
|
||||
t.Run("Fit3840", func(t *testing.T) {
|
||||
result := New(1920, 1080, fileHash, Sizes[Fit3840], contentUri, previewToken)
|
||||
|
||||
@@ -47,4 +46,11 @@ func TestNew(t *testing.T) {
|
||||
assert.Equal(t, 1080, result.H)
|
||||
assert.Equal(t, "/content/t/d2b4a5d18276f96f1b5a1bf17fd82d6fab3807f2/preview-token/fit_3840", result.Src)
|
||||
})
|
||||
t.Run("Fit4096", func(t *testing.T) {
|
||||
result := New(1920, 1080, fileHash, Sizes[Fit4096], contentUri, previewToken)
|
||||
|
||||
assert.Equal(t, 1920, result.W)
|
||||
assert.Equal(t, 1080, result.H)
|
||||
assert.Equal(t, "/content/t/d2b4a5d18276f96f1b5a1bf17fd82d6fab3807f2/preview-token/fit_4096", result.Src)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ func VideoSize(limit int) Size {
|
||||
return Sizes[Fit7680]
|
||||
} else if limit == 0 {
|
||||
// Return default size.
|
||||
return Sizes[Fit3840]
|
||||
return Sizes[Fit4096]
|
||||
} else if limit <= 720 {
|
||||
// Return minimum size.
|
||||
return Sizes[Fit720]
|
||||
|
||||
@@ -15,8 +15,8 @@ func TestVideoSize(t *testing.T) {
|
||||
assert.Equal(t, Sizes[Fit1920], VideoSize(2000))
|
||||
assert.Equal(t, Sizes[Fit2048], VideoSize(2048))
|
||||
assert.Equal(t, Sizes[Fit2560], VideoSize(3000))
|
||||
assert.Equal(t, Sizes[Fit3840], VideoSize(0))
|
||||
assert.Equal(t, Sizes[Fit3840], VideoSize(4000))
|
||||
assert.Equal(t, Sizes[Fit4096], VideoSize(0))
|
||||
assert.Equal(t, Sizes[Fit7680], VideoSize(8000))
|
||||
assert.Equal(t, Sizes[Fit7680], VideoSize(-1))
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ func (w *Share) Start() (err error) {
|
||||
if s, ok := thumb.Sizes[thumb.Name(a.ShareSize)]; ok {
|
||||
size = s
|
||||
} else {
|
||||
size = thumb.Sizes[thumb.Fit2048]
|
||||
size = thumb.SizeFit1920
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user