Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
I
ils-common-video
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
提交
议题看板
打开侧边栏
OpsTeam
ils-common-video
Commits
4942a681
提交
4942a681
authored
9月 20, 2021
作者:
lc.zhou
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ils-video-recorder:解决重试次数过多报错
上级
a3794e9a
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
11 行增加
和
7 行删除
+11
-7
recorder.py
ils_common_video/isc_video/recorder.py
+11
-7
没有找到文件。
ils_common_video/isc_video/recorder.py
浏览文件 @
4942a681
...
...
@@ -13,7 +13,7 @@ from intelab_python_sdk.ffmpeg.ffmpeg_concat import concat
from
intelab_python_sdk.ffmpeg.ffmpeg_prune
import
prune
as
ffmpeg_prune
from
ils_common_video.db
import
rabbitmq_connect
,
redis_connect
,
influxdb
from
ils_common_video.const
import
PROCESSING_CAMERA_KEY
,
CAMERA_CALLBACK_KEY
from
ils_common_video.const
import
PROCESSING_CAMERA_KEY
,
CAMERA_CALLBACK_KEY
from
ils_common_video.utils.api_helper
import
IntelabApiHelper
,
PlaybackUrlException
from
ils_common_video.utils.isc_client
import
HikVisionClient
from
ils_common_video.utils
import
aliyun_oss
...
...
@@ -27,8 +27,9 @@ tz = pytz.timezone('Asia/Shanghai')
video_path
=
'/tmp/videos/isc-record'
os
.
makedirs
(
video_path
,
exist_ok
=
True
)
hk_config
=
dynaconf
.
settings
.
get
(
'ISC'
)
# hik_client = HikVisionClient(str(hk_config.get('KEY')), hk_config.get('SECRET'),
# hk_config.get('HOST'), hk_config.get('PORT'))
# api_helper = IntelabApiHelper()
...
...
@@ -221,13 +222,17 @@ class ProcessMessage:
now
=
datetime
.
now
()
url
=
next_retry_time
=
None
remark
=
event
.
get
(
'remark'
,
''
)
remark
=
event
.
get
(
'remark'
,
''
)
status
=
2
file_name
=
record_result
[
'file_name'
]
.
split
(
'/'
)[
-
1
]
if
not
event
.
get
(
'retry_info'
):
event
[
'retry_info'
]
=
'[]'
event
[
'retry_info'
]
=
json
.
loads
(
event
[
'retry_info'
]
.
replace
(
'
\n
'
,
' '
))
try
:
event
[
'retry_info'
]
=
json
.
loads
(
event
[
'retry_info'
]
.
replace
(
'
\n
'
,
' '
))
except
:
log
.
error
(
'json error camera is :
%
s,
%
s'
,
event
[
'camera_code'
],
event
[
'retry_info'
])
event
[
'retry_info'
]
=
[]
retry_count
=
len
(
event
[
'retry_info'
])
if
os
.
path
.
isfile
(
record_result
[
'file_name'
]):
...
...
@@ -240,13 +245,13 @@ class ProcessMessage:
if
record_result
.
get
(
'except'
)
and
record_result
.
get
(
'offline'
):
# 当前摄像头离线只增加下次重试时间
log
.
info
(
'
%
s: camera offline.'
,
event
[
'camera_code'
])
next_retry_time
=
now
+
timedelta
(
minutes
=
3
0
)
next_retry_time
=
now
+
timedelta
(
minutes
=
12
0
)
remark
=
(
remark
or
'start'
)
+
'+offline'
elif
record_result
.
get
(
'is_completed'
):
log
.
info
(
'
%
s:
%
s is completed.'
,
event
[
'camera_code'
],
record_result
[
'file_name'
])
status
=
5
# 录制完成的视频状态为5(还未被filter分析)
else
:
next_retry_time
=
now
+
timedelta
(
minutes
=
10
)
next_retry_time
=
now
+
timedelta
(
minutes
=
1
2
0
)
retry_count
+=
1
if
(
next_retry_time
-
event
[
'start_time'
])
>
timedelta
(
days
=
3
):
# 重试最长时间为3天
...
...
@@ -412,7 +417,6 @@ class ProcessMessage:
if
not
is_completed
:
log
.
info
(
'摄像头
%
s在
%
s,
%
s录制未完成'
,
body
[
'camera_code'
],
start_time
,
end_time
)
part_files
=
sorted
(
list
(
part_files_set
))
if
len
(
part_files
)
>
1
:
log
.
info
(
'摄像头
%
s存在多个视频文件
%
s,将进行合并'
,
body
[
'camera_code'
],
part_files
)
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论