whycxzp
2025-03-18 be654227077149fe3fca4412bd3edd32afa43d47
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
//package com.whyc.listener;
//
//import com.whyc.constant.YamlProperties;
//import com.whyc.dto.Response;
//import com.whyc.service.VideoService;
//import org.springframework.beans.factory.annotation.Autowired;
//
//import javax.servlet.ServletContext;
//import javax.servlet.ServletContextEvent;
//import javax.servlet.ServletContextListener;
//import javax.servlet.annotation.WebListener;
//import java.util.List;
//
//import static java.lang.Thread.sleep;
//
///**
// * 应用启动时初始化
// * 应用关闭时销毁
// */
//@WebListener
//public class ApplicationListener implements ServletContextListener {
//
//    @Autowired
//    private VideoService videoService;
//
//    /**
//     * 1.初始化,开启视频流并启动录像存储
//     * @param servletContextEvent
//     */
//    @Override
//    public void contextInitialized(ServletContextEvent servletContextEvent) {
//        ServletContext application = servletContextEvent.getServletContext();
//        //考虑意外情况:突然程序死机或者电脑断电重启,需要延时启动录像,因为视频推流服务还未完成.
//        try {
//            //延时20s
//            sleep(20000);
//        } catch (InterruptedException e) {
//            throw new RuntimeException(e);
//        }
//
//
//        //1.录像存储
//        //获取所有的流id
//        List<String> videoStreamIds = YamlProperties.videoStreamIds;
//        //开启录像存储
//        videoStreamIds.forEach(streamId -> {
//            //添加流
//            Response<String> response = videoService.addStreamProxy(streamId);
//
//            //判断是否在录像,不在的话,开启录像
//
//            Response response2 = videoService.startRecord(streamId);
//            if(!(response2.getCode() ==1 && ((boolean) response2.getData()))){
//                System.out.println("流id为:"+streamId+"的信息:"+response2.getMsg());
//            }else{
//                System.out.println("流id为:"+streamId+"的信息:"+response2.getData());
//            }
//        });
//
//    }
//
//    @Override
//    public void contextDestroyed(ServletContextEvent servletContextEvent) {
//        //关闭所有流
//        //videoService.closeStreams();
//    }
//}