Spaces:
Paused
Paused
File size: 4,190 Bytes
80bf15d 6071696 80bf15d 027903a 80bf15d 7d19b1b 80bf15d 96f3bb9 80bf15d 7d19b1b 80bf15d 7d19b1b a0d5e3e 7d19b1b a0d5e3e b1df556 80bf15d 96f3bb9 80bf15d afceed2 80bf15d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 |
#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
# todo:
金笛箫箫
MS4wLjABAAAAguL867lJ2ZsFKCepjVt7EOoGhWxPU4U3qQ-KiQtbOh7KZXV_lGJjchp5r8PoeyiU
88862603087
docker build -t video_platform:v20250819_2052 .
docker stop video_platform_7871 && docker rm video_platform_7871
docker run -itd \
--name video_platform_7871 \
--restart=always \
--network host \
-e server_port=7870 \
video_platform:v20250819_2052 /bin/bash
docker run -itd \
--name video_platform_7871 \
--restart=always \
--network host \
-e server_port=7871 \
-v /Users/honey/PycharmProjects/video_platform:/data/tianxing/PycharmProjects/video_platform \
-v /Users/honey/Downloads/xianyu/customers:/data/tianxing/PycharmProjects/video_platform/temp/xianyu/customers \
python:3.12 /bin/bash
nohup python3 main.py --server_port 7871 &
"""
import argparse
import asyncio
import logging
from pathlib import Path
import platform
import time
import threading
import gradio as gr
import log
from project_settings import environment, project_path, log_directory, time_zone_info
log.setup_size_rotating(log_directory=log_directory, tz_info=time_zone_info)
from toolbox.os.command import Command
from toolbox.porter.manager import PorterManager
from tabs.fs_tab import get_fs_tab
from tabs.shell_tab import get_shell_tab
from tabs.video_download import get_video_download_tab
from tabs.youtube_player_tab import get_youtube_player_tab
logger = logging.getLogger("main")
def get_args():
parser = argparse.ArgumentParser()
parser.add_argument(
"--porter_tasks_file_dir",
default=(project_path / "data/porter_tasks").as_posix(),
type=str
)
parser.add_argument(
"--live_recorder_tasks_file",
default=(project_path / "data/live_recorder_tasks.json").as_posix(),
type=str
)
parser.add_argument(
"--video_download_tasks_file",
default=(project_path / "data/video_download_tasks.json").as_posix(),
type=str
)
parser.add_argument(
"--youtube_video_upload_tasks_file",
default=(project_path / "data/youtube_video_upload_tasks.json").as_posix(),
type=str
)
parser.add_argument(
"--bilibili_video_upload_tasks_file",
default=(project_path / "data/bilibili_video_upload_tasks.json").as_posix(),
type=str
)
parser.add_argument(
"--live_records_dir",
default=(project_path / "data/live_records").as_posix(),
type=str
)
parser.add_argument(
"--server_port",
default=environment.get("server_port", 7860),
type=int
)
args = parser.parse_args()
return args
def shell(cmd: str):
return Command.popen(cmd)
def async_thread_wrapper(coro_task):
logger.info("background_task start")
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop.run_until_complete(coro_task)
return
def main():
args = get_args()
porter_tasks_file_dir = Path(args.porter_tasks_file_dir)
# porter manager
task_manager = PorterManager()
for porter_task_file in porter_tasks_file_dir.glob("porter_task_*.json"):
key = porter_task_file.stem
value = environment.get(key=key, default=False, dtype=bool)
logger.info(f"{key}: {value}")
if value is True:
task_manager.add_tasks_by_task_file(tasks_file=porter_task_file.as_posix())
task_thread = threading.Thread(
target=async_thread_wrapper,
args=(task_manager.run(),),
daemon=True
)
task_thread.start()
time.sleep(5)
# ui
with gr.Blocks() as blocks:
gr.Markdown(value="live recording.")
with gr.Tabs():
_ = get_fs_tab()
_ = get_shell_tab()
_ = get_video_download_tab()
_ = get_youtube_player_tab()
# http://127.0.0.1:7870/
# http://10.75.27.247:7870/
blocks.queue().launch(
# share=True,
share=False if platform.system() in ("Windows", "Darwin") else False,
server_name="127.0.0.1" if platform.system() in ("Windows", "Darwin") else "0.0.0.0",
server_port=args.server_port
)
return
if __name__ == "__main__":
main()
|