Implement code changes to enhance functionality and improve performance
This commit is contained in:
parent
2fb5d6b413
commit
08dab37208
|
|
@ -120,13 +120,17 @@ def stream_video(video_id: int, db: Session = Depends(get_db)):
|
||||||
"""
|
"""
|
||||||
Stream a video file by its ID
|
Stream a video file by its ID
|
||||||
"""
|
"""
|
||||||
|
print(f"Attempting to stream video with ID: {video_id}") # Log
|
||||||
video = db.query(Video).filter(Video.id == video_id).first()
|
video = db.query(Video).filter(Video.id == video_id).first()
|
||||||
if not video:
|
if not video:
|
||||||
|
print(f"Video with ID {video_id} not found in database.") # Log
|
||||||
raise HTTPException(status_code=404, detail="Video not found")
|
raise HTTPException(status_code=404, detail="Video not found")
|
||||||
|
|
||||||
if not os.path.exists(video.path):
|
if not os.path.exists(video.path):
|
||||||
|
print(f"Video file not found on server: {video.path}") # Log
|
||||||
raise HTTPException(status_code=404, detail="Video file not found on server")
|
raise HTTPException(status_code=404, detail="Video file not found on server")
|
||||||
|
|
||||||
|
print(f"Streaming video from path: {video.path}") # Log
|
||||||
return FileResponse(video.path, media_type="video/mp4")
|
return FileResponse(video.path, media_type="video/mp4")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
|
||||||
|
|
@ -1,90 +1,49 @@
|
||||||
INFO: Started server process [20979]
|
INFO: Started server process [25188]
|
||||||
INFO: Waiting for application startup.
|
INFO: Waiting for application startup.
|
||||||
INFO: Application startup complete.
|
INFO: Application startup complete.
|
||||||
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
|
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
|
||||||
INFO: 192.168.2.244:65488 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:52112 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:65488 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:52112 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:65489 - "GET /videos/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:52113 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:65488 - "GET /videos/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:52112 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49178 - "POST /video-paths/?path=%2Fmnt%2Fdata1%2FPorn%2Ftwitter HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:52112 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49178 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:52161 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49178 - "POST /scan-videos/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:52162 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49178 - "GET /videos/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:52161 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49365 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:52162 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49366 - "GET /videos/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:52162 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49377 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:52442 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49378 - "GET /videos/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:52443 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49377 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:52444 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49378 - "GET /videos/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:52445 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49456 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:52445 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49457 - "GET /videos/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53093 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49456 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53094 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49457 - "GET /videos/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53093 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49594 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53095 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49594 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53095 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49595 - "GET /videos/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53244 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49594 - "GET /videos/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53245 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49618 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53244 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49618 - "GET /videos/?search= HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53245 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49618 - "GET /videos/?search= HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53245 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49638 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53564 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49639 - "GET /videos/?search= HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53565 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49638 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53564 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49640 - "GET /videos/?search= HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53566 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49640 - "GET /videos/?search= HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53566 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49645 - "GET /videos/?search=shi HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53834 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49645 - "GET /videos/?search=shit HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53835 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49768 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53834 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49769 - "GET /videos/?search= HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53835 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49768 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:53842 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49769 - "GET /videos/?search= HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:54212 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:49769 - "GET /videos/?search= HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:54213 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:50248 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:54212 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:50249 - "GET /videos/?search= HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:54213 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:50248 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:54217 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:50250 - "GET /videos/?search= HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:54512 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:50250 - "GET /videos/?search= HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:54513 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:50614 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:54512 - "GET /video-paths/ HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:50614 - "GET /video-paths/ HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:54513 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:50615 - "GET /videos/?search= HTTP/1.1" 200 OK
|
INFO: 192.168.2.244:54513 - "GET /videos/?search= HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.2.244:50614 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50614 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50807 - "GET /videos/?search=mini HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50807 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50845 - "GET /video-paths/ HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50844 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50846 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50849 - "OPTIONS /videos/2 HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50849 - "PUT /videos/2 HTTP/1.1" 404 Not Found
|
|
||||||
INFO: 192.168.2.244:50860 - "GET /video-paths/ HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50861 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50860 - "GET /video-paths/ HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50862 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50862 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50936 - "GET /video-paths/ HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50937 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50936 - "GET /video-paths/ HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50937 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50937 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50940 - "OPTIONS /videos/1 HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:50940 - "PUT /videos/1 HTTP/1.1" 404 Not Found
|
|
||||||
INFO: 192.168.2.244:51004 - "GET /video-paths/ HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51005 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51004 - "GET /video-paths/ HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51005 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51005 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51010 - "POST /scan-videos/ HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51010 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51020 - "GET /video-paths/ HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51021 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51020 - "GET /video-paths/ HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51022 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51022 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51081 - "GET /video-paths/ HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51082 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51082 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51391 - "GET /video-paths/ HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51391 - "GET /video-paths/ HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51392 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51391 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.2.244:51391 - "GET /videos/?search= HTTP/1.1" 200 OK
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import React, { useState, useEffect } from 'react';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import { Sidebar, Menu, MenuItem, SubMenu } from 'react-pro-sidebar';
|
import { Sidebar, Menu, MenuItem, SubMenu } from 'react-pro-sidebar';
|
||||||
import { FaBars, FaHome, FaFolder, FaVideo, FaPlus, FaList, FaTrash } from 'react-icons/fa';
|
import { FaBars, FaHome, FaFolder, FaVideo, FaPlus, FaList, FaTrash } from 'react-icons/fa';
|
||||||
import ReactPlayer from 'react-player';
|
import VideoPlayer from 'react-player';
|
||||||
import './App.css';
|
import './App.css';
|
||||||
|
|
||||||
const API_BASE_URL = 'http://192.168.2.220:8000';
|
const API_BASE_URL = 'http://192.168.2.220:8000';
|
||||||
|
|
@ -94,11 +94,13 @@ function App() {
|
||||||
};
|
};
|
||||||
|
|
||||||
const openVideoPlayer = (video) => {
|
const openVideoPlayer = (video) => {
|
||||||
|
console.log('Attempting to open video player for:', video);
|
||||||
setSelectedVideo(video);
|
setSelectedVideo(video);
|
||||||
setShowPlayerModal(true);
|
setShowPlayerModal(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
const closeVideoPlayer = () => {
|
const closeVideoPlayer = () => {
|
||||||
|
console.log('Closing video player modal.');
|
||||||
setShowPlayerModal(false);
|
setShowPlayerModal(false);
|
||||||
// Delay setting selectedVideo to null to allow for unmount animation if any
|
// Delay setting selectedVideo to null to allow for unmount animation if any
|
||||||
setTimeout(() => setSelectedVideo(null), 300);
|
setTimeout(() => setSelectedVideo(null), 300);
|
||||||
|
|
@ -201,13 +203,14 @@ function App() {
|
||||||
<h3>{selectedVideo.title}</h3>
|
<h3>{selectedVideo.title}</h3>
|
||||||
<div className="player-wrapper">
|
<div className="player-wrapper">
|
||||||
{selectedVideo && (
|
{selectedVideo && (
|
||||||
<ReactPlayer
|
<VideoPlayer
|
||||||
url={`${API_BASE_URL}/videos/${selectedVideo.id}/stream`}
|
url={`${API_BASE_URL}/videos/${selectedVideo.id}/stream`}
|
||||||
className="react-player"
|
className="react-player"
|
||||||
width="100%"
|
width="100%"
|
||||||
height="100%"
|
height="100%"
|
||||||
controls={true}
|
controls={true}
|
||||||
playing={true}
|
playing={true}
|
||||||
|
// Removed onReady and onError props
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -219,4 +222,4 @@ function App() {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default App;
|
export default App;
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 233 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 146 KiB |
Loading…
Reference in New Issue