guoyu/Test/java/FFmpegStatusController.java

65 lines
2.1 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.ddnai.web.controller.system;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ddnai.common.core.controller.BaseController;
import com.ddnai.common.core.domain.AjaxResult;
import com.ddnai.common.utils.file.VideoDurationUtils;
import java.util.HashMap;
import java.util.Map;
/**
* FFmpeg状态检查控制器
* 用于诊断视频时长提取功能
*
* @author ddnai
*/
@RestController
@RequestMapping("/system/ffmpeg")
public class FFmpegStatusController extends BaseController
{
/**
* 检查FFmpeg是否可用
*/
@GetMapping("/status")
public AjaxResult checkFFmpegStatus()
{
Map<String, Object> result = new HashMap<>();
try
{
// 检查FFmpeg是否可用
boolean isAvailable = VideoDurationUtils.isFFmpegAvailable();
result.put("available", isAvailable);
if (isAvailable)
{
result.put("message", "✓ FFmpeg已安装且可用");
result.put("status", "success");
}
else
{
result.put("message", "✗ FFmpeg不可用或未安装");
result.put("status", "error");
result.put("solution", new String[]{
"1. 下载FFmpeg: https://ffmpeg.org/download.html",
"2. 解压到系统目录(如 C:\\ffmpeg",
"3. 添加到系统PATH环境变量",
"4. 重启应用服务器",
"或者:在后台管理系统中手动设置视频时长"
});
}
return AjaxResult.success(result);
}
catch (Exception e)
{
result.put("available", false);
result.put("message", "检查FFmpeg状态时发生错误: " + e.getMessage());
result.put("status", "error");
return AjaxResult.error("检查FFmpeg状态失败", result);
}
}
}