mirror of
https://github.com/YusufB5/ASCILINE.git
synced 2026-06-17 22:35:13 +02:00
Improve error handling and translate messages to English
This commit is contained in:
parent
95a3029679
commit
e7002173c2
3 changed files with 26 additions and 8 deletions
9
app.js
9
app.js
|
|
@ -85,6 +85,15 @@ function startStream() {
|
|||
if (state !== 'PLAYING') return;
|
||||
|
||||
if (typeof event.data === 'string') {
|
||||
if (event.data.startsWith('Error:')) {
|
||||
statusEl.textContent = event.data;
|
||||
statusEl.style.color = '#ff0000';
|
||||
state = 'IDLE';
|
||||
if (ws) ws.close();
|
||||
setTimeout(() => resetToIdle(), 3000);
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.data.startsWith('INIT:')) {
|
||||
const p = event.data.split(':');
|
||||
targetFps = parseFloat(p[1]);
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ class VideoDecoder:
|
|||
def __init__(self, path: str, cols: int, rows: int) -> None:
|
||||
self._cap = cv2.VideoCapture(path)
|
||||
if not self._cap.isOpened():
|
||||
raise FileNotFoundError(f"Video açılamadı: {path!r}")
|
||||
raise FileNotFoundError(f"Could not open video file: {path!r}")
|
||||
|
||||
self.fps : float = self._cap.get(cv2.CAP_PROP_FPS) or 24.0
|
||||
self.frame_count : int = int(self._cap.get(cv2.CAP_PROP_FRAME_COUNT))
|
||||
|
|
@ -294,9 +294,13 @@ if __name__ == "__main__":
|
|||
|
||||
custom_palette = args.palette.split() if args.palette else None
|
||||
|
||||
renderer = TerminalRenderer(
|
||||
path = args.video,
|
||||
palette = custom_palette,
|
||||
quantize_bits = args.quality,
|
||||
)
|
||||
renderer.play()
|
||||
try:
|
||||
renderer = TerminalRenderer(
|
||||
path = args.video,
|
||||
palette = custom_palette,
|
||||
quantize_bits = args.quality,
|
||||
)
|
||||
renderer.play()
|
||||
except FileNotFoundError as e:
|
||||
print(f"\n[Error] {e}")
|
||||
sys.exit(1)
|
||||
|
|
|
|||
|
|
@ -125,7 +125,12 @@ if __name__ == "__main__":
|
|||
app.state.cols = args.cols
|
||||
app.state.rows = args.rows
|
||||
|
||||
print(f"[{args.video}] ready to stream. Mode: {args.mode}, Res: {args.cols}x{args.rows}")
|
||||
if not os.path.exists(args.video):
|
||||
print(f"\n[WARNING] Video file '{args.video}' not found!")
|
||||
print("The server will start, but streaming will fail until the file is provided.\n")
|
||||
else:
|
||||
print(f"[{args.video}] ready to stream. Mode: {args.mode}, Res: {args.cols}x{args.rows}")
|
||||
|
||||
print(f"Starting server... Please go to http://localhost:{args.port} in your browser.")
|
||||
|
||||
uvicorn.run(app, host="0.0.0.0", port=args.port, ws_ping_interval=None, ws_ping_timeout=None)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue