| | |
| | | |
| | | @Value("${mediamtx.host}") |
| | | String mediamtxHost; |
| | | |
| | | @Value("${mediamtx.ffmpegPath}") |
| | | String ffmpegPath; |
| | | |
| | | /** |
| | | * 添加流媒体 |
| | |
| | | if (isCode.equals("1")) { |
| | | conf.setSource("publisher"); |
| | | //默认软解码 |
| | | String cmd = "ffmpeg -rtsp_transport tcp -i " + sourceUrl + " -vcodec libx264 -preset:v ultrafast -r 25 -keyint_min 25 -g 60 -sc_threshold 0 -threads 6 -b:v 2048k -acodec opus -strict -2 -f rtsp rtsp://localhost:$RTSP_PORT/$MTX_PATH"; |
| | | String cmd = ffmpegPath + "/ffmpeg -rtsp_transport tcp -i " + sourceUrl + " -vcodec libx264 -preset:v ultrafast -r 25 -keyint_min 25 -g 60 -sc_threshold 0 -threads 6 -b:v 2048k -acodec opus -strict -2 -f rtsp rtsp://localhost:$RTSP_PORT/$MTX_PATH"; |
| | | if (mode.equals("0")) {//硬解码 |
| | | cmd = rootPath + "ffmpeg -hwaccel cuvid -c:v hevc_cuvid -rtsp_transport tcp -i " + sourceUrl + " -c:v h264_nvenc -r 25 -g 60 -sc_threshold 0 -threads 6 -b:v 2048k -bf 0 -acodec opus -strict -2 -f rtsp rtsp://localhost:$RTSP_PORT/$MTX_PATH"; |
| | | cmd = ffmpegPath + "/ffmpeg -hwaccel cuvid -c:v hevc_cuvid -rtsp_transport tcp -i " + sourceUrl + " -c:v h264_nvenc -r 25 -g 60 -sc_threshold 0 -threads 6 -b:v 2048k -bf 0 -acodec opus -strict -2 -f rtsp rtsp://localhost:$RTSP_PORT/$MTX_PATH"; |
| | | } |
| | | conf.setRunOnDemand(cmd); |
| | | conf.setRunOnDemandRestart(true); |
| | |
| | | String webrtcUrl = "http://" + mediamtxHost + ":8889/" + name; |
| | | |
| | | Conf conf = new Conf(); |
| | | String rootPath = System.getProperty("user.dir").replaceAll("\\\\", "/") + "/lib/mediamtx/"; |
| | | String rootPath = System.getProperty("user.dir").replaceAll("\\\\", "/") + "/server/mediamtx/"; |
| | | if (isCode.equals("1")) { |
| | | conf.setSource("publisher"); |
| | | //默认软解码 |
| | | String cmd = "ffmpeg -rtsp_transport tcp -i " + sourceUrl + " -vcodec libx264 -preset:v ultrafast -r 25 -keyint_min 25 -g 60 -sc_threshold 0 -threads 6 -b:v 2048k -acodec opus -strict -2 -f rtsp rtsp://localhost:$RTSP_PORT/$MTX_PATH"; |
| | | String cmd = ffmpegPath + "/ffmpeg -rtsp_transport tcp -i " + sourceUrl + " -vcodec libx264 -preset:v ultrafast -r 25 -keyint_min 25 -g 60 -sc_threshold 0 -threads 6 -b:v 2048k -acodec opus -strict -2 -f rtsp rtsp://localhost:$RTSP_PORT/$MTX_PATH"; |
| | | if (mode.equals("0")) {//硬解码 |
| | | cmd = "ffmpeg -hwaccel cuvid -c:v hevc_cuvid -rtsp_transport tcp -i " + sourceUrl + " -c:v h264_nvenc -r 25 -g 60 -sc_threshold 0 -threads 6 -b:v 2048k -bf 0 -acodec opus -strict -2 -f rtsp rtsp://localhost:$RTSP_PORT/$MTX_PATH"; |
| | | cmd = ffmpegPath + "/ffmpeg -hwaccel cuvid -c:v hevc_cuvid -rtsp_transport tcp -i " + sourceUrl + " -c:v h264_nvenc -r 25 -g 60 -sc_threshold 0 -threads 6 -b:v 2048k -bf 0 -acodec opus -strict -2 -f rtsp rtsp://localhost:$RTSP_PORT/$MTX_PATH"; |
| | | } |
| | | conf.setRunOnDemand(cmd); |
| | | conf.setRunOnDemandRestart(true); |
| | |
| | | @Override |
| | | public TableDataInfo getPullWebrtcStreamList(Integer pageNum, Integer pageSize) { |
| | | TableDataInfo tableDataInfo = new TableDataInfo(); |
| | | WebrtcSessions WebrtcSessions = mediaClient.webrtcsessions(pageNum-1, pageSize); |
| | | WebrtcSessions WebrtcSessions = mediaClient.webrtcsessions(pageNum - 1, pageSize); |
| | | List<WebrtcSession> webrtcsessions = WebrtcSessions.getItems(); |
| | | webrtcsessions.stream().forEach( |
| | | webrtcSession -> { |
| | |
| | | @Override |
| | | public TableDataInfo getPullRtmpStreamList(Integer pageNum, Integer pageSize) { |
| | | TableDataInfo tableDataInfo = new TableDataInfo(); |
| | | RtmpSessions rtmpSessions = mediaClient.rtmpsessions(pageNum-1, pageSize); |
| | | RtmpSessions rtmpSessions = mediaClient.rtmpsessions(pageNum - 1, pageSize); |
| | | List<RtmpSession> webrtcsessions = rtmpSessions.getItems(); |
| | | webrtcsessions.stream().forEach( |
| | | webrtcSession -> { |
| | |
| | | @Override |
| | | public TableDataInfo getPullRtspStreamList(Integer pageNum, Integer pageSize) { |
| | | TableDataInfo tableDataInfo = new TableDataInfo(); |
| | | RtspSessions rtspSessions = mediaClient.rtspsessions(pageNum-1, pageSize); |
| | | RtspSessions rtspSessions = mediaClient.rtspsessions(pageNum - 1, pageSize); |
| | | List<RtspSession> webrtcsessions = rtspSessions.getItems(); |
| | | webrtcsessions.stream().forEach( |
| | | webrtcSession -> { |