Use proper aspect ratio for channel watermarks

This commit is contained in:
syeopite 2023-09-23 14:30:20 -04:00
parent f9e4b6617b
commit f4ba6ea6dc
No known key found for this signature in database
GPG Key ID: A73C186DA3955A1A
3 changed files with 12 additions and 13 deletions

View File

@ -264,21 +264,16 @@ video.video-js {
}
.video-js div.channel-watermark-container {
.video-js div.channel-watermark {
background-color: transparent !important;
}
.channel-watermark-container {
.channel-watermark {
margin: 0 35px;
opacity: 0.7;
transition: opacity .25s cubic-bezier(0,0,.2,1);
}
.channel-watermark-container:hover {
.channel-watermark:hover {
opacity: 1
}
.channel-watermark {
width: 40px;
height: 40px;
}

View File

@ -766,7 +766,7 @@ if (location.pathname.startsWith('/embed/')) {
// Channel watermark
if (video_data.watermark && video_data.preferences.show_channel_watermark) {
const watermark_html = `<a href="/channel/${video_data.ucid}"><img class="channel-watermark" src="${video_data.watermark.thumbnailUrl}"/></a>`;
const watermark_html = `<a href="/channel/${video_data.ucid}"><img src="${video_data.watermark.thumbnailUrl}" height="${video_data.watermark.thumbnailHeight}" width="${video_data.watermark.thumbnailWidth}"/></a>`;
player.overlay({
overlays: [
@ -776,7 +776,7 @@ if (video_data.watermark && video_data.preferences.show_channel_watermark) {
end: Math.round(parseInt(video_data.watermark.endTimeMs) / 1000),
align: 'bottom-right',
showBackground: false,
class: "channel-watermark-container"
class: "channel-watermark"
},
]
});

View File

@ -381,10 +381,14 @@ def parse_video_info(video_id : String, player_response : Hash(String, JSON::Any
# Channel watermark
# Annotations is different from legacy annotations
if watermark = player_response.dig?("annotations", 0, "playerAnnotationsExpandedRenderer", "featuredChannel")
watermark_thumbnail = watermark["watermark"]["thumbnails"][0]
watermark_data = {
"startTimeMs" => watermark["startTimeMs"],
"endTimeMs" => watermark["endTimeMs"],
"thumbnailUrl" => JSON::Any.new(URI.parse(watermark["watermark"]["thumbnails"][0]["url"].as_s).request_target),
"startTimeMs" => watermark["startTimeMs"],
"endTimeMs" => watermark["endTimeMs"],
"thumbnailWidth" => watermark_thumbnail["width"],
"thumbnailHeight" => watermark_thumbnail["height"],
"thumbnailUrl" => JSON::Any.new(URI.parse(watermark_thumbnail["url"].as_s).request_target),
}
else
watermark_data = {} of String => JSON::Any