Compare commits
13
Commits
c59fee65fd
...
48cbd56f63
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
48cbd56f63 | ||
|
|
abeb245cdc | ||
|
|
7f38d7918c | ||
|
|
2bc0c77d81 | ||
|
|
7e034d07ca | ||
|
|
cedb672633 | ||
|
|
6772311641 | ||
|
|
8326fd7c03 | ||
|
|
baa344c8cb | ||
|
|
807447e815 | ||
|
|
f00ae278cd | ||
|
|
b488bce210 | ||
|
|
25bdd34c70 |
@@ -0,0 +1,4 @@
|
|||||||
|
.git
|
||||||
|
__pycache__
|
||||||
|
server.log
|
||||||
|
*.pyc
|
||||||
+18
@@ -0,0 +1,18 @@
|
|||||||
|
FROM python:3.13-slim
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends ffmpeg \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY server.py index.html README.md ./
|
||||||
|
|
||||||
|
ENV C41_SOURCE=/data/source \
|
||||||
|
C41_OUTPUT=/data/encoded \
|
||||||
|
C41_HOST=0.0.0.0 \
|
||||||
|
C41_PORT=8765
|
||||||
|
|
||||||
|
EXPOSE 8765
|
||||||
|
VOLUME ["/data/source", "/data/encoded"]
|
||||||
|
|
||||||
|
CMD ["python3", "server.py"]
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
services:
|
||||||
|
c41-player:
|
||||||
|
build: .
|
||||||
|
container_name: c41-player
|
||||||
|
environment:
|
||||||
|
C41_HOST: 0.0.0.0
|
||||||
|
ports:
|
||||||
|
- "8765:8765"
|
||||||
|
volumes:
|
||||||
|
- "/home/human/Videos/Yassine Salon/C41/media:/data/source:ro"
|
||||||
|
- "/home/human/Videos/Yassine Salon/C41/media-mp4:/data/encoded"
|
||||||
|
restart: unless-stopped
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import concurrent.futures
|
import concurrent.futures
|
||||||
import json
|
import json
|
||||||
|
import os
|
||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
import struct
|
import struct
|
||||||
@@ -352,20 +353,21 @@ def main():
|
|||||||
"root",
|
"root",
|
||||||
nargs="?",
|
nargs="?",
|
||||||
type=Path,
|
type=Path,
|
||||||
default=Path("/home/human/Videos/Yassine Salon/C41/media-mp4"),
|
default=Path(os.environ.get("C41_OUTPUT", "/home/human/Videos/Yassine Salon/C41/media-mp4")),
|
||||||
help="folder containing YYYYMMDD recording directories",
|
help="folder containing YYYYMMDD recording directories",
|
||||||
)
|
)
|
||||||
parser.add_argument("--port", type=int, default=8765)
|
parser.add_argument("--port", type=int, default=int(os.environ.get("C41_PORT", "8765")))
|
||||||
|
parser.add_argument("--host", default=os.environ.get("C41_HOST", "127.0.0.1"))
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--source",
|
"--source",
|
||||||
type=Path,
|
type=Path,
|
||||||
default=Path("/home/human/Videos/Yassine Salon/C41/media"),
|
default=Path(os.environ.get("C41_SOURCE", "/home/human/Videos/Yassine Salon/C41/media")),
|
||||||
help="folder containing source AVI files for manual encoding",
|
help="folder containing source AVI files for manual encoding",
|
||||||
)
|
)
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
recordings = scan_recordings(args.root.expanduser().resolve())
|
recordings = scan_recordings(args.root.expanduser().resolve())
|
||||||
server = ThreadingHTTPServer(("127.0.0.1", args.port), PlayerHandler)
|
server = ThreadingHTTPServer((args.host, args.port), PlayerHandler)
|
||||||
server.recordings = recordings
|
server.recordings = recordings
|
||||||
server.source_root = args.source.expanduser().resolve()
|
server.source_root = args.source.expanduser().resolve()
|
||||||
server.output_root = args.root.expanduser().resolve()
|
server.output_root = args.root.expanduser().resolve()
|
||||||
|
|||||||
Reference in New Issue
Block a user