| import logging | |
| import shutil | |
| logger = logging.getLogger(__name__) | |
| class VideoAudioExtractorPlugin: | |
| def __init__(self): | |
| self.name = "video" | |
| self.version = "1.0.0" | |
| self.enabled = False | |
| def on_enable(self): | |
| self.enabled = True | |
| logger.info(f"视频音频提取插件 {self.version} 已启用") | |
| def on_disable(self): | |
| self.enabled = False | |
| logger.info(f"视频音频提取插件 {self.version} 已禁用") | |
| def get_status(self) -> dict: | |
| # 检查音频转录模型是否已加载 | |
| model_loaded = False | |
| try: | |
| from plugins.audio.core import get_transcription_service | |
| service = get_transcription_service() | |
| model_loaded = service._pipeline is not None | |
| except Exception: | |
| pass | |
| return { | |
| "name": self.name, | |
| "version": self.version, | |
| "enabled": self.enabled, | |
| "ffmpeg_available": shutil.which("ffmpeg") is not None, | |
| "model_loaded": model_loaded, | |
| } | |
| plugin = VideoAudioExtractorPlugin() | |