Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation
This project
Loading...
Sign in
谢明辉
/
fanxing3
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit b9b5d5af
authored
Oct 28, 2021
by
xmh
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
分析流点播逻辑修改
平台需要配置 srs 的 ip,rtmp 端口,以及 http访问端口(这里要走nginx转发) 路径由平台进行拼接
1 parent
e942ff0e
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
66 additions
and
6 deletions
fanxing-commons/src/main/java/com/viontech/fanxing/commons/config/VionConfig.java
fanxing-task/src/main/java/com/viontech/fanxing/task/controller/VAServerController.java
fanxing-task/src/main/java/com/viontech/fanxing/task/controller/web/TaskController.java
fanxing-task/src/main/java/com/viontech/fanxing/task/service/VAServerService.java
fanxing-task/src/main/resources/application.yml
fanxing-commons/src/main/java/com/viontech/fanxing/commons/config/VionConfig.java
View file @
b9b5d5a
...
...
@@ -2,6 +2,7 @@ package com.viontech.fanxing.commons.config;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.cloud.context.config.annotation.RefreshScope
;
import
org.springframework.context.annotation.Configuration
;
...
...
@@ -19,6 +20,7 @@ import java.util.List;
@Getter
@Setter
@ConfigurationProperties
(
prefix
=
"vion"
)
@Slf4j
public
class
VionConfig
{
private
Image
image
;
...
...
@@ -31,7 +33,8 @@ public class VionConfig {
private
List
<
String
>
supportedVideoFormats
;
/** 需要跳过 token 验证的 url 的正则表达式列表 */
private
List
<
String
>
skipAuth
;
/** 平台srs的配置 */
private
Srs
srs
;
public
@Getter
@Setter
...
...
@@ -53,4 +56,26 @@ public class VionConfig {
private
String
port
;
}
public
@Getter
@Setter
static
class
Srs
{
private
String
ip
;
private
String
rtmpPort
=
"1935"
;
private
String
httpPort
=
"8080"
;
public
String
getRtmpUrl
(
String
taskUnid
)
{
String
url
=
"rtmp://"
+
ip
+
":"
+
rtmpPort
+
"/live/"
+
taskUnid
;
log
.
debug
(
url
);
return
url
;
}
public
String
getHttpUrl
(
String
taskUnid
)
{
String
url
=
"http://36.112.68.214:30008/live/"
+
taskUnid
+
".flv"
;
// String url = "http://" + ip + ":" + httpPort + "/" + taskUnid + ".flv";
log
.
debug
(
url
);
return
url
;
}
}
}
fanxing-task/src/main/java/com/viontech/fanxing/task/controller/VAServerController.java
View file @
b9b5d5a
...
...
@@ -76,8 +76,8 @@ public class VAServerController {
@PostMapping
(
"/startAnalyzeStream"
)
public
Object
startAnalyzeStream
(
@RequestBody
JSONObject
object
)
{
String
taskUnid
=
object
.
getString
(
"taskUnid"
);
String
url
=
object
.
getString
(
"url"
);
return
vaServerService
.
startAnalyzeStream
(
taskUnid
,
url
);
String
s
=
vaServerService
.
startAnalyzeStream
(
taskUnid
);
return
JsonMessageUtil
.
getSuccessJsonMsg
(
"success"
,
s
);
}
/**
...
...
fanxing-task/src/main/java/com/viontech/fanxing/task/controller/web/TaskController.java
View file @
b9b5d5a
...
...
@@ -242,6 +242,6 @@ public class TaskController extends TaskBaseController {
}
build
.
put
(
"success"
,
taskId
);
}
return
JsonMessageUtil
.
getSuccessJsonMsg
(
build
);
return
JsonMessageUtil
.
getSuccessJsonMsg
(
"success"
,
build
);
}
}
\ No newline at end of file
fanxing-task/src/main/java/com/viontech/fanxing/task/service/VAServerService.java
View file @
b9b5d5a
package
com
.
viontech
.
fanxing
.
task
.
service
;
import
com.alibaba.fastjson.JSONObject
;
import
com.viontech.fanxing.commons.config.VionConfig
;
import
com.viontech.fanxing.commons.constant.RedisKeys
;
import
com.viontech.fanxing.commons.exception.FanXingException
;
import
com.viontech.fanxing.commons.model.Task
;
...
...
@@ -35,6 +36,8 @@ public class VAServerService {
private
TaskDataService
taskDataService
;
@Resource
private
VAServerHttpService
vaServerHttpService
;
@Resource
private
VionConfig
vionConfig
;
/**
* 设备注册
...
...
@@ -142,6 +145,9 @@ public class VAServerService {
public
Object
snapshot
(
String
taskUnid
)
{
VaServerInfo
vaServerInfo
=
taskDataService
.
taskRunOn
(
taskUnid
);
if
(
vaServerInfo
!=
null
)
{
if
(
vaServerInfo
.
getStatus
()
==
0
)
{
throw
new
FanXingException
(
"设备离线"
);
}
return
vaServerHttpService
.
snapshot
(
taskUnid
,
vaServerInfo
);
}
else
{
throw
new
FanXingException
(
"任务不在运行状态"
,
taskUnid
);
...
...
@@ -154,6 +160,9 @@ public class VAServerService {
public
Object
getAnalyzeStream
(
String
taskUnid
)
{
VaServerInfo
vaServerInfo
=
taskDataService
.
taskRunOn
(
taskUnid
);
if
(
vaServerInfo
!=
null
)
{
if
(
vaServerInfo
.
getStatus
()
==
0
)
{
throw
new
FanXingException
(
"设备离线"
);
}
return
vaServerHttpService
.
getAnalyzeStream
(
taskUnid
,
vaServerInfo
);
}
else
{
throw
new
FanXingException
(
"任务不在运行状态"
,
taskUnid
);
...
...
@@ -163,10 +172,20 @@ public class VAServerService {
/**
* 输出分析流
*/
public
Object
startAnalyzeStream
(
String
taskUnid
,
String
url
)
{
public
String
startAnalyzeStream
(
String
taskUnid
)
{
TaskData
taskData
=
taskDataService
.
getRepository
().
getTaskDataByUnid
(
taskUnid
);
if
(
taskData
==
null
)
{
throw
new
FanXingException
(
"找不到对应的任务"
);
}
VaServerInfo
vaServerInfo
=
taskDataService
.
taskRunOn
(
taskUnid
);
if
(
vaServerInfo
!=
null
)
{
return
vaServerHttpService
.
startAnalyzeStream
(
taskUnid
,
vaServerInfo
,
url
);
if
(
vaServerInfo
.
getStatus
()
==
0
)
{
throw
new
FanXingException
(
"设备离线"
);
}
String
rtmpUrl
=
vionConfig
.
getSrs
().
getRtmpUrl
(
taskUnid
);
String
httpUrl
=
vionConfig
.
getSrs
().
getHttpUrl
(
taskUnid
);
vaServerHttpService
.
startAnalyzeStream
(
taskUnid
,
vaServerInfo
,
rtmpUrl
);
return
httpUrl
;
}
else
{
throw
new
FanXingException
(
"任务不在运行状态"
,
taskUnid
);
}
...
...
@@ -186,6 +205,9 @@ public class VAServerService {
public
JSONObject
getStatus
(
String
devId
)
{
VaServerInfo
vaServerInfo
=
vaServerRedisRepository
.
getVAServerInfoById
(
devId
);
if
(
vaServerInfo
!=
null
)
{
if
(
vaServerInfo
.
getStatus
()
==
0
)
{
throw
new
FanXingException
(
"设备离线"
);
}
return
vaServerHttpService
.
status
(
vaServerInfo
);
}
else
{
throw
new
FanXingException
(
"无法获取到对应的设备"
,
devId
);
...
...
@@ -198,6 +220,9 @@ public class VAServerService {
public
Object
switchScene
(
String
taskUnid
,
String
sceneId
)
{
VaServerInfo
vaServerInfo
=
taskDataService
.
taskRunOn
(
taskUnid
);
if
(
vaServerInfo
!=
null
)
{
if
(
vaServerInfo
.
getStatus
()
==
0
)
{
throw
new
FanXingException
(
"设备离线"
);
}
return
vaServerHttpService
.
switchScene
(
taskUnid
,
vaServerInfo
,
sceneId
);
}
else
{
throw
new
FanXingException
(
"任务不在运行状态"
,
taskUnid
);
...
...
@@ -222,6 +247,9 @@ public class VAServerService {
public
Object
getRotationStatus
(
String
taskUnid
)
{
VaServerInfo
vaServerInfo
=
taskDataService
.
taskRunOn
(
taskUnid
);
if
(
vaServerInfo
!=
null
)
{
if
(
vaServerInfo
.
getStatus
()
==
0
)
{
throw
new
FanXingException
(
"设备离线"
);
}
return
vaServerHttpService
.
getRotationStatus
(
taskUnid
,
vaServerInfo
);
}
else
{
throw
new
FanXingException
(
"任务不在运行状态"
,
taskUnid
);
...
...
@@ -231,6 +259,9 @@ public class VAServerService {
public
JSONObject
getCurrentScene
(
String
taskUnid
)
{
VaServerInfo
vaServerInfo
=
taskDataService
.
taskRunOn
(
taskUnid
);
if
(
vaServerInfo
!=
null
)
{
if
(
vaServerInfo
.
getStatus
()
==
0
)
{
throw
new
FanXingException
(
"设备离线"
);
}
return
vaServerHttpService
.
getCurrentScene
(
taskUnid
,
vaServerInfo
);
}
else
{
throw
new
FanXingException
(
"任务不在运行状态"
,
taskUnid
);
...
...
fanxing-task/src/main/resources/application.yml
View file @
b9b5d5a
...
...
@@ -54,6 +54,10 @@ logging:
vion
:
redisson
:
path
:
F:\myIDEAworkspace\jt\fanxing3\fanxing-commons\src\main\resources\redisson.yml
srs
:
ip
:
192.168.9.233
rtmp-port
:
1935
http-port
:
8080
gateway
:
ip
:
192.168.9.233
port
:
30000
\ No newline at end of file
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment