|
@@ -702,6 +702,48 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
|
|
|
return filterRecordList(channel, startTm, endTm, filePath, recordUrl + "profile/");
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * HTTP流转RTSP流
|
|
|
+ */
|
|
|
+ public void streamConversion(String code) {
|
|
|
+ log.info("ffmpeg -re -i /opt/streams/file/"+code+".mp4 -c:v copy -c:a copy -f rtsp rtsp://124.70.58.209:8554/live/"+code+"s");
|
|
|
+// cmdCameraUtil.cmd("find /opt/streams/record/flv/*/*/ -mmin +5 -name *.flv -exec rm -rf {} \\;");
|
|
|
+
|
|
|
+ try {
|
|
|
+ Process proc = Runtime.getRuntime().exec("/bin/bash", null, null);
|
|
|
+ BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
|
|
|
+ PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(proc.getOutputStream())), true);
|
|
|
+ String commit = "ffmpeg -re -i /opt/streams/file/"+code+"s.mp4 -c:v copy -c:a copy -f rtsp rtsp://124.70.58.209:8554/live/"+code+"s";
|
|
|
+ List<String> commands = new ArrayList<>();
|
|
|
+
|
|
|
+ // 删除
|
|
|
+ commands.add(commit);
|
|
|
+ log.info("HTTP流转RTSP流:{}", commands);
|
|
|
+ for (String line : commands) {
|
|
|
+ out.println(line);
|
|
|
+ }
|
|
|
+ out.println("exit");// 这个命令必须执行,否则in流不结束。
|
|
|
+ String rspLine = "";
|
|
|
+ while ((rspLine = in.readLine()) != null) {
|
|
|
+ System.out.println(rspLine);
|
|
|
+
|
|
|
+ }
|
|
|
+ int i = proc.waitFor();
|
|
|
+ log.info("执行结果:{}", i);
|
|
|
+
|
|
|
+ in.close();
|
|
|
+ out.close();
|
|
|
+ proc.destroy();
|
|
|
+ } catch (IOException e) {
|
|
|
+ log.error(e.getMessage());
|
|
|
+ } catch (InterruptedException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
public static List<Map<String, Object>> filterRecordList(String channel,
|
|
|
Date startTm,
|
|
|
Date endTm,
|