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; background-color: transparent !important;
} }
.channel-watermark-container { .channel-watermark {
margin: 0 35px; margin: 0 35px;
opacity: 0.7; opacity: 0.7;
transition: opacity .25s cubic-bezier(0,0,.2,1); transition: opacity .25s cubic-bezier(0,0,.2,1);
} }
.channel-watermark-container:hover { .channel-watermark:hover {
opacity: 1 opacity: 1
} }
.channel-watermark {
width: 40px;
height: 40px;
}

View File

@ -766,7 +766,7 @@ if (location.pathname.startsWith('/embed/')) {
// Channel watermark // Channel watermark
if (video_data.watermark && video_data.preferences.show_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({ player.overlay({
overlays: [ overlays: [
@ -776,7 +776,7 @@ if (video_data.watermark && video_data.preferences.show_channel_watermark) {
end: Math.round(parseInt(video_data.watermark.endTimeMs) / 1000), end: Math.round(parseInt(video_data.watermark.endTimeMs) / 1000),
align: 'bottom-right', align: 'bottom-right',
showBackground: false, 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 # Channel watermark
# Annotations is different from legacy annotations # Annotations is different from legacy annotations
if watermark = player_response.dig?("annotations", 0, "playerAnnotationsExpandedRenderer", "featuredChannel") if watermark = player_response.dig?("annotations", 0, "playerAnnotationsExpandedRenderer", "featuredChannel")
watermark_thumbnail = watermark["watermark"]["thumbnails"][0]
watermark_data = { watermark_data = {
"startTimeMs" => watermark["startTimeMs"], "startTimeMs" => watermark["startTimeMs"],
"endTimeMs" => watermark["endTimeMs"], "endTimeMs" => watermark["endTimeMs"],
"thumbnailUrl" => JSON::Any.new(URI.parse(watermark["watermark"]["thumbnails"][0]["url"].as_s).request_target), "thumbnailWidth" => watermark_thumbnail["width"],
"thumbnailHeight" => watermark_thumbnail["height"],
"thumbnailUrl" => JSON::Any.new(URI.parse(watermark_thumbnail["url"].as_s).request_target),
} }
else else
watermark_data = {} of String => JSON::Any watermark_data = {} of String => JSON::Any