Improve video playback and address video player issues reported by users

Updates video player to prioritize HLS streaming and adds iframe and MP4 fallbacks.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: aa92e7e2-ec62-4c92-b21b-02ef78a664c2
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/aa92e7e2-ec62-4c92-b21b-02ef78a664c2/VbkE0SA
This commit is contained in:
sebastjanartic
2025-08-04 20:28:42 +00:00
parent d6408b7df6
commit ecb86b1873
3 changed files with 18 additions and 28 deletions
+7 -4
View File
@@ -52,19 +52,22 @@ export class BunnyService {
}
private bunnyVideoToVideo(bunnyVideo: BunnyVideo): Video {
// For private videos, use iframe embed or proxy approach
// Generate thumbnail URL from CDN (thumbnails are usually public)
const thumbnailUrl = `https://${this.hostname}/${bunnyVideo.guid}/thumbnail.jpg`;
// For private videos, we'll use an iframe embed URL which handles authentication
const videoUrl = `https://iframe.mediadelivery.net/embed/${this.libraryId}/${bunnyVideo.guid}`;
// Try HLS stream first, then fallback to iframe
const hlsUrl = `https://${this.hostname}/${bunnyVideo.guid}/playlist.m3u8`;
const mp4Url = `https://${this.hostname}/${bunnyVideo.guid}/play_${bunnyVideo.guid}.mp4`;
const iframeUrl = `https://iframe.mediadelivery.net/embed/${this.libraryId}/${bunnyVideo.guid}`;
return {
id: bunnyVideo.guid,
title: bunnyVideo.title || 'Untitled Video',
description: null, // Bunny API doesn't return description in list view
thumbnailUrl,
videoUrl,
videoUrl: hlsUrl, // Try HLS first
videoUrlMp4: mp4Url, // MP4 fallback
videoUrlIframe: iframeUrl, // iframe fallback
duration: Math.floor(bunnyVideo.length || 0),
views: bunnyVideo.views || 0,
category: bunnyVideo.category || null,