jerrrycans commited on
Commit
0be674e
·
verified ·
1 Parent(s): 9bced27

Update bot/server/templates/player.html

Browse files
Files changed (1) hide show
  1. bot/server/templates/player.html +39 -50
bot/server/templates/player.html CHANGED
@@ -92,7 +92,7 @@ height: 100%;
92
 
93
  <body>
94
  <video id="stream-media" controls preload="auto">
95
- <source src="https://example.com/video.mp4" type="video/mp4">
96
  <p class="vjs-no-js">
97
  To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video
98
  </p>
@@ -101,7 +101,7 @@ To view this video please enable JavaScript, and consider upgrading to a web bro
101
  <div id="error-message"></div>
102
 
103
  <script>
104
- var player = new Plyr('#stream-media', {
105
  controls:['play-large', 'rewind', 'play', 'fast-forward', 'progress', 'current-time', 'mute', 'settings', 'pip', 'fullscreen'],
106
  settings:['speed','loop'],
107
  speed:{selected:1,options:[0.25,0.5,0.75,1,1.25,1.5,1.75,2]},
@@ -109,76 +109,65 @@ seek: 10,
109
  keyboard: { focused: true, global: true },
110
  });
111
 
112
- var mediaLink = "https://example.com/video.mp4";
 
 
113
 
114
  if (mediaLink) {
115
- document.querySelector('#stream-media source').setAttribute('src', mediaLink);
116
- player.restart();
117
 
118
- var downloadButton = document.createElement('div');
 
119
  downloadButton.className = 'plyr-download-button';
120
-
121
- downloadButton.onclick = function() {
122
- event.stopPropagation();
123
- var link = document.createElement('a');
124
  link.href = mediaLink;
125
- document.body.appendChild(link);
126
  link.click();
127
- document.body.removeChild(link);
128
  };
129
-
130
  player.elements.container.querySelector('.plyr__video-wrapper').appendChild(downloadButton);
131
 
132
- var shareButton = document.createElement('div');
 
133
  shareButton.className = 'plyr-share-button';
134
-
135
- shareButton.onclick = function() {
136
- event.stopPropagation();
137
- if (navigator.share) {
138
- navigator.share({
139
- title: "Play",
140
- url: mediaLink
141
- });
142
- }
143
  };
144
-
145
  player.elements.container.querySelector('.plyr__video-wrapper').appendChild(shareButton);
146
 
147
- var uploadButton = document.createElement('div');
 
148
  uploadButton.className = 'plyr-upload-button';
149
-
150
- uploadButton.onclick = async function() {
151
- event.stopPropagation();
152
-
153
  try {
154
- const formData = new FormData();
155
- const response = await fetch(mediaLink);
156
- const blob = await response.blob();
157
- formData.append('file', blob);
158
-
159
- const uploadResponse = await fetch('https://jerrrycans-file.hf.space/upload', {
160
- method: 'POST',
161
- body: formData
162
- });
163
-
164
- if (uploadResponse.ok) {
165
- const result = await uploadResponse.json();
166
- const uploadedUrl = `https://jerrrycans-file.hf.space${result.url}`;
167
- alert(`File uploaded successfully! URL:\n${uploadedUrl}`);
168
- } else {
169
- alert('Failed to upload file.');
170
- }
 
171
  } catch (error) {
172
- alert('An error occurred while uploading the file.');
173
  }
174
  };
175
-
176
  player.elements.container.querySelector('.plyr__video-wrapper').appendChild(uploadButton);
177
 
178
  } else {
179
- document.getElementById('error-message').textContent = 'Error: Media URL not provided';
180
  }
181
  </script>
182
 
183
  </body>
184
- </html>
 
92
 
93
  <body>
94
  <video id="stream-media" controls preload="auto">
95
+ <source src="" type="">
96
  <p class="vjs-no-js">
97
  To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video
98
  </p>
 
101
  <div id="error-message"></div>
102
 
103
  <script>
104
+ const player = new Plyr('#stream-media', {
105
  controls:['play-large', 'rewind', 'play', 'fast-forward', 'progress', 'current-time', 'mute', 'settings', 'pip', 'fullscreen'],
106
  settings:['speed','loop'],
107
  speed:{selected:1,options:[0.25,0.5,0.75,1,1.25,1.5,1.75,2]},
 
109
  keyboard: { focused: true, global: true },
110
  });
111
 
112
+ // Get media URL from query parameter
113
+ const urlParams = new URLSearchParams(window.location.search);
114
+ const mediaLink = urlParams.get('mediaLink');
115
 
116
  if (mediaLink) {
117
+ document.querySelector('#stream-media source').src = mediaLink;
118
+ player.source = { type: 'video', sources: [{ src: mediaLink }] };
119
 
120
+ // Download Button
121
+ const downloadButton = document.createElement('div');
122
  downloadButton.className = 'plyr-download-button';
123
+ downloadButton.onclick = () => {
124
+ const link = document.createElement('a');
 
 
125
  link.href = mediaLink;
 
126
  link.click();
 
127
  };
 
128
  player.elements.container.querySelector('.plyr__video-wrapper').appendChild(downloadButton);
129
 
130
+ // Share Button
131
+ const shareButton = document.createElement('div');
132
  shareButton.className = 'plyr-share-button';
133
+ shareButton.onclick = () => {
134
+ navigator.share?.({ title: "Play", url: mediaLink });
 
 
 
 
 
 
 
135
  };
 
136
  player.elements.container.querySelector('.plyr__video-wrapper').appendChild(shareButton);
137
 
138
+ // Upload Button
139
+ const uploadButton = document.createElement('div');
140
  uploadButton.className = 'plyr-upload-button';
141
+ uploadButton.onclick = async () => {
 
 
 
142
  try {
143
+ const videoSrc = document.querySelector('#stream-media source').src;
144
+ const response = await fetch(videoSrc);
145
+ const blob = await response.blob();
146
+ const formData = new FormData();
147
+ formData.append('file', blob, 'video.mp4');
148
+
149
+ const uploadResponse = await fetch('https://jerrrycans-file.hf.space/upload', {
150
+ method: 'POST',
151
+ body: formData,
152
+ });
153
+
154
+ if (uploadResponse.ok) {
155
+ const { url } = await uploadResponse.json();
156
+ const fullUrl = `https://jerrrycans-file.hf.space${url}`;
157
+ alert(`Upload successful!\nURL: ${fullUrl}`);
158
+ } else {
159
+ throw new Error('Upload failed');
160
+ }
161
  } catch (error) {
162
+ alert(`Upload error: ${error.message}`);
163
  }
164
  };
 
165
  player.elements.container.querySelector('.plyr__video-wrapper').appendChild(uploadButton);
166
 
167
  } else {
168
+ document.getElementById('error-message').textContent = 'Error: Missing media URL parameter';
169
  }
170
  </script>
171
 
172
  </body>
173
+ </html>