faec8549a6
- 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
92 lines
2.3 KiB
Batchfile
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 完成!
|
|
)
|