Files
lesson-highlights/run.bat
T
hmo faec8549a6 Refactor: rewrite GUI, add run.bat, update docs
- New GUI (gui.py) calls same core functions as CLI
- Add run.bat for parameterized CLI usage
- Simplify run_lesson1.bat to just call run.bat
- Update README and ARCHITECTURE docs
- Add LICENSE
2026-05-03 03:17:48 +08:00

92 lines
2.3 KiB
Batchfile

@echo off
setlocal EnableDelayedExpansion
:: ============================================
:: Lesson Highlights Generator - CLI Runner
:: ============================================
:: 用法:
:: run.bat "video.mp4" "presentation.pptx" "output_dir"
:: run.bat <- 显示帮助
:: ============================================
set "PROJECT_DIR=%~dp0"
set "SRC_DIR=%PROJECT_DIR%src"
set "VENV_DIR=%PROJECT_DIR%venv"
set "PYTHON_SRC=D:\ProgramData\anaconda3\envs\py312_cuda\python.exe"
set "LOG_FILE=%PROJECT_DIR%temp\cli_run_log.txt"
:: 参数检查
if "%~1"=="" (
echo 用法:
echo run.bat "视频路径" "PPT路径" "输出目录"
echo.
echo 示例:
echo run.bat "D:\Videos\lesson.mp4" "D:\PPT\lesson.pptx" "D:\Output"
exit /b 1
)
set "VIDEO=%~f1"
set "PPT=%~f2"
set "OUTPUT=%~f3"
:: 验证文件存在
if not exist "%VIDEO%" (
echo 错误: 视频文件不存在: %VIDEO%
exit /b 1
)
if not exist "%PPT%" (
echo 错误: PPT文件不存在: %PPT%
exit /b 1
)
:: 创建输出目录
if not exist "%OUTPUT%" mkdir "%OUTPUT%"
:: 加载 config.ini 中的 API 配置
set "API_KEY="
set "API_HOST="
for /f "usebackq tokens=1,2 delims== " %%a in ("%PROJECT_DIR%config.ini") do (
if "%%a"=="api_key" set "API_KEY=%%b"
if "%%a"=="api_host" set "API_HOST=%%b"
)
:: 没有配置则使用默认值
if not defined API_KEY (
echo 警告: config.ini 中未找到 api_key,使用默认值
set "API_KEY=b0359bed-09f2-49e2-a53c-32ba057412e3"
set "API_HOST=https://ark.cn-beijing.volces.com/api/coding/v3"
)
:: 设置 FFmpeg PATH
set "FFMPEG_BIN=%PROJECT_DIR%ffmpeg\ffmpeg-8.1-full_build\bin"
set "PATH=%FFMPEG_BIN%;%PATH%"
echo ============================================
echo Lesson Highlights Generator - CLI
echo ============================================
echo 视频: %VIDEO%
echo PPT: %PPT%
echo 输出: %OUTPUT%
echo ============================================
echo.
:: 清理日志
del /f /q "%LOG_FILE%" 2>nul
:: 运行 CLI
"%VENV_DIR%\Scripts\python.exe" "%SRC_DIR%\cli.py" ^
--video "%VIDEO%" ^
--ppt "%PPT%" ^
--output "%OUTPUT%" ^
--api-key "%API_KEY%" ^
--api-host "%API_HOST%" ^
--verbose
echo.
echo Exit: %errorlevel%
if errorlevel 1 (
echo 运行失败,详见日志: %LOG_FILE%
) else (
echo 完成!
)