@echo off chcp 65001 >nul echo ======================================== echo 视频时长问题诊断工具 echo ======================================== echo. echo [1/4] 检查FFmpeg是否已安装... echo. ffmpeg -version >nul 2>&1 if %errorLevel% equ 0 ( echo ✓ FFmpeg已安装 ffmpeg -version | findstr "version" ) else ( echo ✗ FFmpeg未安装! echo. echo ⚠️ 这是问题的根源! echo. echo 后端代码需要FFmpeg来自动提取视频时长。 echo 如果FFmpeg未安装,视频时长会保存为0。 echo. echo 【解决方法】 echo 1. 下载FFmpeg: https://ffmpeg.org/download.html echo 2. 解压到 C:\ffmpeg echo 3. 添加 C:\ffmpeg\bin 到系统PATH环境变量 echo 4. 重启命令行窗口验证: ffmpeg -version echo. echo 【或者手动设置时长】 echo 如果不想安装FFmpeg,可以: echo 1. 在后台管理系统中手动编辑课件,填写时长 echo 2. 使用SQL脚本批量更新: 修复课件时长.sql echo. pause exit /b 1 ) echo. echo [2/4] 检查视频文件是否存在... echo. set "PROFILE_PATH=D:\wwwroot\study_web\web\profile" set "VIDEO_PATH=%PROFILE_PATH%\upload\2025\12\05" if exist "%PROFILE_PATH%" ( echo ✓ profile目录存在: %PROFILE_PATH% ) else ( echo ✗ profile目录不存在: %PROFILE_PATH% echo 请检查application.yml中的ruoyi.profile配置 pause exit /b 1 ) if exist "%VIDEO_PATH%" ( echo ✓ 视频目录存在: %VIDEO_PATH% echo. echo 目录中的视频文件: dir /b "%VIDEO_PATH%\*.mp4" 2>nul if %errorLevel% neq 0 ( echo (未找到.mp4文件) ) ) else ( echo ✗ 视频目录不存在: %VIDEO_PATH% ) echo. echo [3/4] 测试FFmpeg读取视频信息... echo. :: 查找第一个mp4文件进行测试 for /f "delims=" %%f in ('dir /b "%VIDEO_PATH%\*.mp4" 2^>nul') do ( set "TEST_VIDEO=%VIDEO_PATH%\%%f" goto :found_video ) echo ○ 未找到测试视频文件 goto :skip_test :found_video echo 测试视频: %TEST_VIDEO% echo. echo FFmpeg输出: echo ---------------------------------------- ffmpeg -i "%TEST_VIDEO%" -hide_banner 2>&1 | findstr "Duration" echo ---------------------------------------- echo. :skip_test echo [4/4] 后端日志检查提示... echo. echo 请检查后端日志,查找以下关键字: echo - "自动提取视频时长成功" echo - "无法自动提取视频时长" echo - "FFmpeg不可用" echo - "视频文件不存在" echo. echo 后端日志位置: Study-Vue-redis\ry-study-admin\logs\ echo. echo ======================================== echo 诊断完成 echo ======================================== echo. echo 【总结】 echo. echo 如果FFmpeg已安装但时长仍为0: echo 1. 重新上传视频课件(会自动提取时长) echo 2. 或编辑现有课件(会自动提取时长) echo 3. 或使用SQL手动设置时长 echo. echo 如果FFmpeg未安装: echo 1. 安装FFmpeg(推荐) echo 2. 或手动设置所有视频时长 echo. pause