ChandimaPrabath commited on
Commit
6c29d73
·
1 Parent(s): 0920ae9
Files changed (3) hide show
  1. app.py +3 -3
  2. templates/film_player.html +15 -29
  3. video.py +1 -1
app.py CHANGED
@@ -19,7 +19,7 @@ CACHE_DIR = os.getenv("CACHE_DIR")
19
  if not os.path.exists(CACHE_DIR):
20
  os.makedirs(CACHE_DIR)
21
 
22
- indexer()
23
 
24
  if not os.path.exists(INDEX_FILE):
25
  raise FileNotFoundError(f"{INDEX_FILE} not found. Please make sure the file exists.")
@@ -219,8 +219,8 @@ def stream_video():
219
 
220
  @app.route('/stream/<stream_id>')
221
  def stream_file(stream_id):
222
- stream_dir = os.path.join(CACHE_DIR, "stream", stream_id)
223
- playlist_path = os.path.join(stream_dir, 'output.m3u8')
224
 
225
  if os.path.exists(playlist_path):
226
  return Response(
 
19
  if not os.path.exists(CACHE_DIR):
20
  os.makedirs(CACHE_DIR)
21
 
22
+ #indexer()
23
 
24
  if not os.path.exists(INDEX_FILE):
25
  raise FileNotFoundError(f"{INDEX_FILE} not found. Please make sure the file exists.")
 
219
 
220
  @app.route('/stream/<stream_id>')
221
  def stream_file(stream_id):
222
+ stream_dir = CACHE_DIR+"/stream/"+stream_id
223
+ playlist_path = stream_dir+'/output.m3u8'
224
 
225
  if os.path.exists(playlist_path):
226
  return Response(
templates/film_player.html CHANGED
@@ -49,40 +49,26 @@
49
  <script>
50
  document.addEventListener("DOMContentLoaded", function() {
51
  const queryParams = new URLSearchParams(window.location.search);
52
- const filmTitle = queryParams.get('title');
53
 
54
- if (!filmTitle) {
55
- document.getElementById('error').innerText = 'No film title provided.';
56
  return;
57
  }
58
 
59
- // Display the film title
60
- document.getElementById('filmTitle').innerText = decodeURIComponent(filmTitle);
 
 
 
 
 
 
61
 
62
- // Fetch film metadata and stream URL
63
- fetch(`/api/film/${encodeURIComponent(filmTitle)}`)
64
- .then(response => response.json())
65
- .then(data => {
66
- if (data.file_path) {
67
- return fetch(`/api/stream?path=${encodeURIComponent(data.file_path)}`);
68
- } else {
69
- throw new Error('File path not found.');
70
- }
71
- })
72
- .then(response => response.json())
73
- .then(data => {
74
- if (data.stream_id) {
75
- // Update video source with the stream URL
76
- const videoSource = document.getElementById('videoSource');
77
- videoSource.src = `/stream/${data.stream_id}`;
78
- document.getElementById('videoPlayer').load();
79
- } else {
80
- throw new Error('Stream ID not found.');
81
- }
82
- })
83
- .catch(error => {
84
- document.getElementById('error').innerText = `Error: ${error.message}`;
85
- });
86
  });
87
  </script>
88
  </body>
 
49
  <script>
50
  document.addEventListener("DOMContentLoaded", function() {
51
  const queryParams = new URLSearchParams(window.location.search);
52
+ const streamId = queryParams.get('stream_id');
53
 
54
+ if (!streamId) {
55
+ document.getElementById('error').innerText = 'No stream ID provided.';
56
  return;
57
  }
58
 
59
+ // Fetch film metadata if needed (optional)
60
+ // fetch(`/api/film/${encodeURIComponent(streamId)}`)
61
+ // .then(response => response.json())
62
+ // .then(data => {
63
+ // if (data.title) {
64
+ // document.getElementById('filmTitle').innerText = data.title;
65
+ // }
66
+ // });
67
 
68
+ // Set video source
69
+ const videoSource = document.getElementById('videoSource');
70
+ videoSource.src = `/stream/${streamId}`;
71
+ document.getElementById('videoPlayer').load();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  });
73
  </script>
74
  </body>
video.py CHANGED
@@ -19,7 +19,7 @@ def ffmpeg_stream(file_url, token, output_dir="tmp/cache/stream"):
19
 
20
  ffmpeg_command = [
21
  'ffmpeg',
22
- '-headers', f'"Authorization: Bearer {token}"',
23
  '-i', file_url,
24
  '-c:v', 'libx264',
25
  '-crf', '23',
 
19
 
20
  ffmpeg_command = [
21
  'ffmpeg',
22
+ '-headers', f'Authorization: Bearer {token}',
23
  '-i', file_url,
24
  '-c:v', 'libx264',
25
  '-crf', '23',