|
12 | 12 |
|
13 | 13 | from mediaflow_proxy.configs import settings |
14 | 14 | from mediaflow_proxy.middleware import UIAccessControlMiddleware |
15 | | -from mediaflow_proxy.routes import ( |
16 | | - proxy_router, |
17 | | - extractor_router, |
18 | | - speedtest_router, |
19 | | - playlist_builder_router, |
20 | | - xtream_root_router, |
21 | | - acestream_router, |
22 | | - telegram_router, |
23 | | -) |
| 15 | +from mediaflow_proxy.routes.proxy import proxy_router |
| 16 | +from mediaflow_proxy.routes.extractor import extractor_router |
| 17 | +from mediaflow_proxy.routes.speedtest import speedtest_router |
| 18 | +from mediaflow_proxy.routes.playlist_builder import playlist_builder_router |
| 19 | +from mediaflow_proxy.routes.xtream import xtream_root_router |
24 | 20 | from mediaflow_proxy.schemas import GenerateUrlRequest, GenerateMultiUrlRequest, MultiUrlRequestItem |
25 | 21 | from mediaflow_proxy.utils.crypto_utils import EncryptionHandler, EncryptionMiddleware |
26 | 22 | from mediaflow_proxy.utils import redis_utils |
27 | 23 | from mediaflow_proxy.utils.http_utils import encode_mediaflow_proxy_url |
28 | 24 | from mediaflow_proxy.utils.base64_utils import encode_url_to_base64, decode_base64_url, is_base64_url |
29 | | -from mediaflow_proxy.utils.acestream import acestream_manager |
30 | | -from mediaflow_proxy.remuxer.video_transcoder import get_hw_capability, HWAccelType |
31 | | -from mediaflow_proxy.utils.telegram import telegram_manager |
32 | 25 |
|
33 | 26 | logging.basicConfig(level=settings.log_level, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s") |
34 | 27 | logger = logging.getLogger(__name__) |
@@ -61,30 +54,22 @@ async def lifespan(app: FastAPI): |
61 | 54 | # use redis-cli KEYS "mfp:*" | xargs redis-cli DEL |
62 | 55 | logger.info("Cache clearing note: Redis entries will expire via TTL") |
63 | 56 |
|
64 | | - # Log transcoding capability |
65 | | - hw = get_hw_capability() |
66 | | - if hw.accel_type != HWAccelType.NONE and settings.transcode_prefer_gpu: |
67 | | - logger.info( |
68 | | - "Transcode ready: GPU %s (encoder=%s) | PyAV pipeline", |
69 | | - hw.accel_type.value, |
70 | | - hw.h264_encoder, |
71 | | - ) |
72 | | - else: |
73 | | - logger.info( |
74 | | - "Transcode ready: CPU (%s) | PyAV pipeline", |
75 | | - hw.h264_encoder, |
76 | | - ) |
77 | | - |
78 | 57 | yield |
79 | 58 |
|
80 | 59 | # Shutdown |
81 | 60 | logger.info("Shutting down...") |
82 | 61 | # Close acestream sessions |
83 | | - await acestream_manager.close() |
84 | | - logger.info("Acestream manager closed") |
| 62 | + if settings.enable_acestream: |
| 63 | + from mediaflow_proxy.utils.acestream import acestream_manager |
| 64 | + |
| 65 | + await acestream_manager.close() |
| 66 | + logger.info("Acestream manager closed") |
85 | 67 | # Close telegram session |
86 | | - await telegram_manager.close() |
87 | | - logger.info("Telegram manager closed") |
| 68 | + if settings.enable_telegram: |
| 69 | + from mediaflow_proxy.utils.telegram import telegram_manager |
| 70 | + |
| 71 | + await telegram_manager.close() |
| 72 | + logger.info("Telegram manager closed") |
88 | 73 | # Close Redis connections |
89 | 74 | await redis_utils.close_redis() |
90 | 75 | logger.info("Redis connections closed") |
@@ -318,8 +303,14 @@ async def check_base64_url(url: str): |
318 | 303 |
|
319 | 304 |
|
320 | 305 | app.include_router(proxy_router, prefix="/proxy", tags=["proxy"], dependencies=[Depends(verify_api_key)]) |
321 | | -app.include_router(acestream_router, prefix="/proxy", tags=["acestream"], dependencies=[Depends(verify_api_key)]) |
322 | | -app.include_router(telegram_router, prefix="/proxy", tags=["telegram"], dependencies=[Depends(verify_api_key)]) |
| 306 | +if settings.enable_acestream: |
| 307 | + from mediaflow_proxy.routes.acestream import acestream_router |
| 308 | + |
| 309 | + app.include_router(acestream_router, prefix="/proxy", tags=["acestream"], dependencies=[Depends(verify_api_key)]) |
| 310 | +if settings.enable_telegram: |
| 311 | + from mediaflow_proxy.routes.telegram import telegram_router |
| 312 | + |
| 313 | + app.include_router(telegram_router, prefix="/proxy", tags=["telegram"], dependencies=[Depends(verify_api_key)]) |
323 | 314 | app.include_router(extractor_router, prefix="/extractor", tags=["extractors"], dependencies=[Depends(verify_api_key)]) |
324 | 315 | app.include_router(speedtest_router, prefix="/speedtest", tags=["speedtest"], dependencies=[Depends(verify_api_key)]) |
325 | 316 | app.include_router(playlist_builder_router, prefix="/playlist", tags=["playlist"]) |
|
0 commit comments