doc去除cdn依赖
This commit is contained in:
parent
c7d1515023
commit
6fcff0567e
@ -1,6 +1,7 @@
|
|||||||
<!-- 侧边栏 -->
|
<!-- 侧边栏 -->
|
||||||
|
|
||||||
* **编译与部署**
|
* **编译与部署**
|
||||||
|
* [测试](_content/introduction/test.md)
|
||||||
* [编译](_content/introduction/compile.md)
|
* [编译](_content/introduction/compile.md)
|
||||||
* [配置](_content/introduction/config.md)
|
* [配置](_content/introduction/config.md)
|
||||||
* [部署](_content/introduction/deployment.md)
|
* [部署](_content/introduction/deployment.md)
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<meta name="description" content="Description">
|
<meta name="description" content="Description">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
|
||||||
<link rel="icon" href="_media/favicon.ico" type="image/x-icon" />
|
<link rel="icon" href="_media/favicon.ico" type="image/x-icon" />
|
||||||
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
|
<link rel="stylesheet" href="./lib/css/vue.css">
|
||||||
<!-- <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/lib/themes/dark.css">-->
|
<!-- <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/lib/themes/dark.css">-->
|
||||||
<style>
|
<style>
|
||||||
.cover{
|
.cover{
|
||||||
@ -47,11 +47,11 @@
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<!-- Docsify v4 -->
|
<!-- Docsify v4 -->
|
||||||
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
|
<script src="./lib/js/docsify@4.js"></script>
|
||||||
<script src="//unpkg.com/docsify-plantuml/dist/docsify-plantuml.min.js"></script>
|
<script src="./lib/js/docsify-plantuml.min.js"></script>
|
||||||
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
|
<script src="./lib/js/search.min.js"></script>
|
||||||
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script>
|
<script src="./lib/js/zoom-image.min.js"></script>
|
||||||
<script src="//cdn.jsdelivr.net/npm/docsify-copy-code/dist/docsify-copy-code.min.js"></script>
|
<script src="./lib/js/docsify-copy-code.min.js"></script>
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<!-- <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/disqus.min.js"></script>-->
|
<!-- <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/disqus.min.js"></script>-->
|
||||||
|
1
doc/lib/css/vue.css
Normal file
1
doc/lib/css/vue.css
Normal file
File diff suppressed because one or more lines are too long
9
doc/lib/js/docsify-copy-code.min.js
vendored
Normal file
9
doc/lib/js/docsify-copy-code.min.js
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
/*!
|
||||||
|
* docsify-copy-code
|
||||||
|
* v2.1.1
|
||||||
|
* https://github.com/jperasmus/docsify-copy-code
|
||||||
|
* (c) 2017-2020 JP Erasmus <jperasmus11@gmail.com>
|
||||||
|
* MIT license
|
||||||
|
*/
|
||||||
|
!function(){"use strict";function s(o){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o})(o)}!function(o,e){void 0===e&&(e={});var t=e.insertAt;if(o&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.type="text/css","top"===t&&n.firstChild?n.insertBefore(c,n.firstChild):n.appendChild(c),c.styleSheet?c.styleSheet.cssText=o:c.appendChild(document.createTextNode(o))}}(".docsify-copy-code-button,.docsify-copy-code-button span{cursor:pointer;transition:all .25s ease}.docsify-copy-code-button{position:absolute;z-index:1;top:0;right:0;overflow:visible;padding:.65em .8em;border:0;border-radius:0;outline:0;font-size:1em;background:grey;background:var(--theme-color,grey);color:#fff;opacity:0}.docsify-copy-code-button span{border-radius:3px;background:inherit;pointer-events:none}.docsify-copy-code-button .error,.docsify-copy-code-button .success{position:absolute;z-index:-100;top:50%;right:0;padding:.5em .65em;font-size:.825em;opacity:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.docsify-copy-code-button.error .error,.docsify-copy-code-button.success .success{right:100%;opacity:1;-webkit-transform:translate(-115%,-50%);transform:translate(-115%,-50%)}.docsify-copy-code-button:focus,pre:hover .docsify-copy-code-button{opacity:1}"),document.querySelector('link[href*="docsify-copy-code"]')&&console.warn("[Deprecation] Link to external docsify-copy-code stylesheet is no longer necessary."),window.DocsifyCopyCodePlugin={init:function(){return function(o,e){o.ready(function(){console.warn("[Deprecation] Manually initializing docsify-copy-code using window.DocsifyCopyCodePlugin.init() is no longer necessary.")})}}},window.$docsify=window.$docsify||{},window.$docsify.plugins=[function(o,r){o.doneEach(function(){var o=Array.apply(null,document.querySelectorAll("pre[data-lang]")),c={buttonText:"Copy to clipboard",errorText:"Error",successText:"Copied"};r.config.copyCode&&Object.keys(c).forEach(function(t){var n=r.config.copyCode[t];"string"==typeof n?c[t]=n:"object"===s(n)&&Object.keys(n).some(function(o){var e=-1<location.href.indexOf(o);return c[t]=e?n[o]:c[t],e})});var e=['<button class="docsify-copy-code-button">','<span class="label">'.concat(c.buttonText,"</span>"),'<span class="error">'.concat(c.errorText,"</span>"),'<span class="success">'.concat(c.successText,"</span>"),"</button>"].join("");o.forEach(function(o){o.insertAdjacentHTML("beforeend",e)})}),o.mounted(function(){document.querySelector(".content").addEventListener("click",function(o){if(o.target.classList.contains("docsify-copy-code-button")){var e="BUTTON"===o.target.tagName?o.target:o.target.parentNode,t=document.createRange(),n=e.parentNode.querySelector("code"),c=window.getSelection();t.selectNode(n),c.removeAllRanges(),c.addRange(t);try{document.execCommand("copy")&&(e.classList.add("success"),setTimeout(function(){e.classList.remove("success")},1e3))}catch(o){console.error("docsify-copy-code: ".concat(o)),e.classList.add("error"),setTimeout(function(){e.classList.remove("error")},1e3)}"function"==typeof(c=window.getSelection()).removeRange?c.removeRange(t):"function"==typeof c.removeAllRanges&&c.removeAllRanges()}})})}].concat(window.$docsify.plugins||[])}();
|
||||||
|
//# sourceMappingURL=docsify-copy-code.min.js.map
|
1
doc/lib/js/docsify-plantuml.min.js
vendored
Normal file
1
doc/lib/js/docsify-plantuml.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
doc/lib/js/docsify@4.js
Normal file
1
doc/lib/js/docsify@4.js
Normal file
File diff suppressed because one or more lines are too long
1
doc/lib/js/search.min.js
vendored
Normal file
1
doc/lib/js/search.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
doc/lib/js/zoom-image.min.js
vendored
Normal file
1
doc/lib/js/zoom-image.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -10,12 +10,14 @@ import com.genersoft.iot.vmp.service.*;
|
|||||||
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
|
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
|
||||||
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
|
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import java.util.List;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
@SuppressWarnings("rawtypes")
|
@SuppressWarnings("rawtypes")
|
||||||
@Tag(name = "第三方服务对接")
|
@Tag(name = "第三方服务对接")
|
||||||
@ -61,16 +63,35 @@ public class RtpController {
|
|||||||
private IRedisCatchStorage redisCatchStorage;
|
private IRedisCatchStorage redisCatchStorage;
|
||||||
|
|
||||||
|
|
||||||
@GetMapping(value = "/send/ready")
|
@GetMapping(value = "/openRtpServer")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
@Operation(summary = "为发送视频流获取信息")
|
@Operation(summary = "开启收流和获取发流信息")
|
||||||
public List<MediaServerItem> getMediaServerList(Boolean onlySender, ) {
|
@Parameter(name = "isSend", description = "是否发送,false时同时只开启收流", required = true)
|
||||||
|
@Parameter(name = "callId", description = "整个过程的唯一标识", required = true)
|
||||||
|
@Parameter(name = "ssrc", description = "来源流的SSRC", required = false)
|
||||||
|
@Parameter(name = "hasAudio", description = "是否", required = false)
|
||||||
|
@Parameter(name = "stream", description = "形成的流的ID", required = true)
|
||||||
|
@Parameter(name = "tcpMode", description = "收流模式, 0为UDP, 1为TCP被动", required = true)
|
||||||
|
public void openRtpServer(Boolean isSend, String ssrc, String callId, Boolean hasAudio, String stream, Integer tcpMode) {
|
||||||
MediaServerItem mediaServerItem = mediaServerService.getMediaServerForMinimumLoad(null);
|
MediaServerItem mediaServerItem = mediaServerService.getMediaServerForMinimumLoad(null);
|
||||||
if (mediaServerItem == null) {
|
if (mediaServerItem == null) {
|
||||||
throw new ControllerException(ErrorCode.ERROR100.getCode(),"没有可用的MediaServer");
|
throw new ControllerException(ErrorCode.ERROR100.getCode(),"没有可用的MediaServer");
|
||||||
}
|
}
|
||||||
mediaServerService.openRTPServer()
|
}
|
||||||
return mediaServerService.getAll();
|
|
||||||
|
@GetMapping(value = "/sendRTP")
|
||||||
|
@ResponseBody
|
||||||
|
@Operation(summary = "发送流")
|
||||||
|
|
||||||
|
@Parameter(name = "ssrc", description = "发送流的SSRC", required = true)
|
||||||
|
@Parameter(name = "ip", description = "目标IP", required = true)
|
||||||
|
@Parameter(name = "port", description = "目标端口", required = true)
|
||||||
|
@Parameter(name = "app", description = "待发送应用名", required = true)
|
||||||
|
@Parameter(name = "stream", description = "待发送流Id", required = true)
|
||||||
|
@Parameter(name = "callId", description = "整个过程的唯一标识", required = true)
|
||||||
|
@Parameter(name = "onlyAudio", description = "是否只有音频", required = true)
|
||||||
|
public void sendRTP(String ssrc, String ip, Integer port, String app, String stream, String callId, Boolean onlyAudio) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user