Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
I
ils-common-video
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
提交
议题看板
打开侧边栏
OpsTeam
ils-common-video
Commits
df902592
提交
df902592
authored
4月 23, 2021
作者:
zw.wang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: 测试脚本
上级
2d442cd9
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
14 行增加
和
36 行删除
+14
-36
test_playback.py
tests/test_playback.py
+13
-35
test_preview.py
tests/test_preview.py
+1
-1
没有找到文件。
tests/test_playback.py
浏览文件 @
df902592
...
@@ -3,6 +3,7 @@ import shutil
...
@@ -3,6 +3,7 @@ import shutil
import
pytz
import
pytz
from
datetime
import
datetime
,
timedelta
from
datetime
import
datetime
,
timedelta
from
intelab_python_sdk.logger
import
log_init
,
log
from
intelab_python_sdk.logger
import
log_init
,
log
from
intelab_python_sdk.ffmpeg.ffmpeg_concat
import
concat
from
dynaconf
import
settings
from
dynaconf
import
settings
from
hikvision_isc_client.client
import
HikVisionClient
from
hikvision_isc_client.client
import
HikVisionClient
...
@@ -19,46 +20,19 @@ config = settings.get('ISC')
...
@@ -19,46 +20,19 @@ config = settings.get('ISC')
client
=
HikVisionClient
(
config
.
get
(
'KEY'
),
config
.
get
(
'SECRET'
),
client
=
HikVisionClient
(
config
.
get
(
'KEY'
),
config
.
get
(
'SECRET'
),
config
.
get
(
'HOST'
),
config
.
get
(
'PORT'
))
config
.
get
(
'HOST'
),
config
.
get
(
'PORT'
))
event_start_time
=
datetime
(
2021
,
4
,
16
,
13
,
30
)
event_end_time
=
datetime
(
2021
,
4
,
16
,
14
,
10
)
# playback_urls = client.get_cameras_playback_urls(
# 'c440c77c2a344799bd92948dc67ba805',
# HikVisionClient.iso_format(event_start_time),
# HikVisionClient.iso_format(event_end_time),
# )
# print(playback_urls)
# print(client.get_camera_preview_url('c440c77c2a344799bd92948dc67ba805', protocol='hls'))
for
camera
in
client
.
get_cameras
():
print
(
camera
)
url
=
client
.
get_camera_preview_url
(
camera
[
'cameraIndexCode'
],
protocol
=
'rtmp'
)
print
(
'摄像头{}的直播地址为{}'
.
format
(
camera
[
'cameraIndexCode'
],
url
.
get
(
'url'
)))
#
# playback_urls = client.get_cameras_playback_urls(
# camera['cameraIndexCode'],
# '2021-04-15T16:30:00.000+08:00', '2021-04-14T17:30:00.000+08:00'
# # HikVisionClient.iso_format(event_start_time),
# # HikVisionClient.iso_format(event_end_time),
# )
# print(playback_urls)
def
main
():
def
main
():
start_time
=
datetime
(
2021
,
4
,
23
,
16
,
10
)
end_time
=
datetime
(
2021
,
4
,
23
,
16
,
15
)
playback_urls
=
client
.
get_cameras_playback_urls
(
playback_urls
=
client
.
get_cameras_playback_urls
(
'
282f614f6a4b403f8a0083126ee9b6c
1'
,
'
f8a3c4d9b8ae42118b4db9fcf789503
1'
,
HikVisionClient
.
iso_format
(
event_
start_time
),
HikVisionClient
.
iso_format
(
start_time
),
HikVisionClient
.
iso_format
(
e
vent_end_time
)
HikVisionClient
.
iso_format
(
e
nd_time
),
)
)
for
playback_stream
in
playback_urls
:
for
playback_stream
in
playback_urls
:
log
.
info
(
playback_stream
)
log
.
info
(
playback_stream
)
start_time
=
playback_stream
[
'start_time'
]
print
(
start_time
,
event_start_time
.
astimezone
(
tz
))
if
start_time
<
event_start_time
.
astimezone
(
tz
):
start_time
=
event_start_time
.
astimezone
(
tz
)
end_time
=
playback_stream
[
'end_time'
]
part_num
=
1
part_num
=
1
part_files_set
=
set
()
while
True
:
while
True
:
complete_duration
=
(
end_time
-
start_time
)
.
total_seconds
()
complete_duration
=
(
end_time
-
start_time
)
.
total_seconds
()
...
@@ -75,10 +49,14 @@ def main():
...
@@ -75,10 +49,14 @@ def main():
new_start_time
.
strftime
(
'
%
Y
%
m
%
dT
%
H
%
M
%
S'
),
new_start_time
.
strftime
(
'
%
Y
%
m
%
dT
%
H
%
M
%
S'
),
part_num
)
part_num
)
shutil
.
move
(
file_info
[
'file_name'
],
part_file_name
)
shutil
.
move
(
file_info
[
'file_name'
],
part_file_name
)
part_files_set
.
add
(
part_file_name
)
start_time
=
new_start_time
start_time
=
new_start_time
part_num
+=
1
part_num
+=
1
else
:
else
:
part_files_set
.
add
(
file_info
[
'file_name'
])
break
break
if
len
(
part_files_set
)
>
1
:
concat
(
sorted
(
list
(
part_files_set
)),
file_info
)
def
stream_record
(
stream
,
start_time
,
end_time
):
def
stream_record
(
stream
,
start_time
,
end_time
):
...
@@ -96,5 +74,5 @@ def stream_record(stream, start_time, end_time):
...
@@ -96,5 +74,5 @@ def stream_record(stream, start_time, end_time):
return
get_video_duration
(
file_name
)
return
get_video_duration
(
file_name
)
#
if __name__ == '__main__':
if
__name__
==
'__main__'
:
#
main()
main
()
tests/test_preview.py
浏览文件 @
df902592
...
@@ -12,6 +12,6 @@ client = HikVisionClient(config.get('KEY'), config.get('SECRET'),
...
@@ -12,6 +12,6 @@ client = HikVisionClient(config.get('KEY'), config.get('SECRET'),
#
#
for
camera
in
client
.
get_cameras
():
for
camera
in
client
.
get_cameras
():
print
(
camera
)
print
(
camera
)
url
=
client
.
get_camera_preview_url
(
camera
[
'cameraIndexCode'
],
protocol
=
'
hls
'
,
stream_type
=
1
)
url
=
client
.
get_camera_preview_url
(
camera
[
'cameraIndexCode'
],
protocol
=
'
rtsp
'
,
stream_type
=
1
)
print
(
'摄像头{}的直播地址为{}'
.
format
(
camera
[
'cameraIndexCode'
],
url
.
get
(
'url'
)))
print
(
'摄像头{}的直播地址为{}'
.
format
(
camera
[
'cameraIndexCode'
],
url
.
get
(
'url'
)))
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论