新增FFmpeg录制方法,但如果意外中断会存储失败

This commit is contained in:
yutou
2021-04-15 18:34:19 +08:00
parent e94033b3fd
commit 5666582641
9 changed files with 222 additions and 67 deletions

View File

@@ -1,10 +1,12 @@
package com.yutou.bilibili.Controllers;
import com.alibaba.fastjson.JSONObject;
import com.yutou.bilibili.BiliBili.Datas.AppData;
import com.yutou.bilibili.QQBot.QQBotManager;
import com.yutou.bilibili.Services.ISystemConfigService;
import com.yutou.bilibili.Tools.Config;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@@ -21,7 +23,7 @@ public class SystemConfigController {
@ResponseBody
public JSONObject getRegUser() {
JSONObject json = new JSONObject();
JSONObject data=new JSONObject();
JSONObject data = new JSONObject();
String reg = configService.getConfig(Config.USER_REG);
String bLive = configService.getConfig(Config.BILI_LIVE_FLAG);
if (reg == null) {
@@ -31,68 +33,103 @@ public class SystemConfigController {
bLive = "0";
}
data.put(Config.USER_REG, reg);
data.put(Config.BILI_LIVE_FLAG,bLive);
json.put("code",0);
json.put("data",data);
data.put(Config.BILI_LIVE_FLAG, bLive);
json.put("code", 0);
json.put("data", data);
return json;
}
@RequestMapping("/system/set/config.do")
@ResponseBody
public JSONObject setConfig(String key,String value){
public JSONObject setConfig(String key, String value) {
configService.setConfig(key, value);
JSONObject json=new JSONObject();
json.put("code",0);
json.put("msg","ok");
JSONObject json = new JSONObject();
json.put("code", 0);
json.put("msg", "ok");
return json;
}
@RequestMapping("/system/public/reg.do")
@ResponseBody
public JSONObject getRegModel(){
public JSONObject getRegModel() {
JSONObject json = new JSONObject();
JSONObject data=new JSONObject();
JSONObject data = new JSONObject();
String reg = configService.getConfig(Config.USER_REG);
boolean model=false;
boolean model = false;
if (reg == null) {
reg = "0";
}
if(reg.equals("1")){
model=true;
if (reg.equals("1")) {
model = true;
}
data.put(Config.USER_REG, model);
json.put("code",0);
json.put("data",data);
json.put("code", 0);
json.put("data", data);
return json;
}
@ResponseBody
@RequestMapping("/system/set/ffmpeg.do")
public JSONObject setFFmpeg(String ffmpeg) throws UnsupportedEncodingException {
ffmpeg= URLDecoder.decode(ffmpeg,"UTF-8");
configService.setConfig(Config.SYSTEM_VIDEO_FFMPEG,ffmpeg);
JSONObject json=new JSONObject();
json.put("code",0);
json.put("msg","ok");
ffmpeg = URLDecoder.decode(ffmpeg, "UTF-8");
configService.setConfig(Config.SYSTEM_VIDEO_FFMPEG, ffmpeg);
AppData.FFMPEG = ffmpeg;
JSONObject json = new JSONObject();
json.put("code", 0);
json.put("msg", "ok");
return json;
}
@ResponseBody
@RequestMapping("/system/get/ffmpeg.do")
public JSONObject getFFmpeg(){
public JSONObject getFFmpeg() {
JSONObject json = new JSONObject();
JSONObject data=new JSONObject();
JSONObject data = new JSONObject();
String reg = configService.getConfig(Config.SYSTEM_VIDEO_FFMPEG);
data.put(Config.SYSTEM_VIDEO_FFMPEG, reg);
json.put("code",0);
json.put("data",data);
json.put("code", 0);
json.put("data", data);
return json;
}
@ResponseBody
@RequestMapping("/system/set/savelive.do")
public JSONObject setSaveLive(String model) throws UnsupportedEncodingException {
JSONObject json = new JSONObject();
if (StringUtils.isEmpty(configService.getConfig(Config.SYSTEM_VIDEO_FFMPEG))) {
json.put("code", 404);
json.put("msg", "请先设置FFmpeg路径");
return json;
}
model = URLDecoder.decode(model, "UTF-8");
configService.setConfig(Config.SYSTEM_VIDEO_SAVE_MODEL, model);
AppData.LIVE_SAVE_FFMPEG = model.equals("ffmpeg");
json.put("code", 0);
json.put("msg", "ok");
return json;
}
@ResponseBody
@RequestMapping("/system/get/savelive.do")
public JSONObject getSaveLiveModel() {
JSONObject json = new JSONObject();
JSONObject data = new JSONObject();
String reg = configService.getConfig(Config.SYSTEM_VIDEO_SAVE_MODEL);
System.out.println(reg);
data.put(Config.SYSTEM_VIDEO_SAVE_MODEL, (!StringUtils.isEmpty(reg) && reg.equals("ffmpeg")));
json.put("code", 0);
json.put("data", data);
return json;
}
@ResponseBody
@RequestMapping("/system/qq/login.do")
public JSONObject loginQQ(){
public JSONObject loginQQ() {
QQBotManager.getInstance().stop();
QQBotManager.getInstance().init();
JSONObject json=new JSONObject();
json.put("code",0);
json.put("msg","ok");
JSONObject json = new JSONObject();
json.put("code", 0);
json.put("msg", "ok");
return json;
}
}