guoyu/Test/bat/诊断视频时长问题.bat

117 lines
3.0 KiB
Batchfile
Raw Normal View History

@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