| | |
| | | <template> |
| | | <div style="width:100%; height: 100%;"> |
| | | <camera-player :cameraID="query.cameraId" :rtspUrl="query.rtspUrl" :isGb="query.gb28181 === '1'"></camera-player> |
| | | <camera-player |
| | | :cameraID="query.cameraId" |
| | | :rtspUrl="query.rtspUrl" |
| | | :isGb="query.gb28181 === '1'" |
| | | v-if="!enableWasm" |
| | | ></camera-player> |
| | | <wasm-player :cameraID="query.cameraId" :rtspUrl="query.rtspUrl" :isGb="query.gb28181 === '1'" v-else></wasm-player> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | // http://192.168.20.191:7003/view/cameraPlayer/index.html?cameraId=e7e6157a-5929-4e78-b390-e365141169c8&rtspUrl=rtsp://admin:a1234567@192.168.5.51:554/h264/ch1/main/av_stream |
| | | |
| | | import CameraPlayer from "../components/player" |
| | | import WasmPlayer from "@/components/wasmPlayer" |
| | | |
| | | export default { |
| | | name: "BasicCameraPlayer", |
| | | components: { |
| | | CameraPlayer |
| | | CameraPlayer, |
| | | WasmPlayer |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | cameraId: "", |
| | | rtspUrl: "", |
| | | gb28181: "0" |
| | | } |
| | | }, |
| | | enableWasm: false |
| | | } |
| | | }, |
| | | mounted() { |
| | |
| | | if (key == "rtspUrl") { |
| | | obj[key] = this.rtspParse(value) |
| | | } |
| | | |
| | | if (key == "enableWasm" && value == "1") { |
| | | this.enableWasm = true |
| | | } |
| | | }) |
| | | } |
| | | this.query = Object.assign({}, this.query, obj) |
| | |
| | | }, |
| | | // 对传入的rtsp密码进行urlEncode处理 |
| | | rtspParse(input) { |
| | | // 无效的rtsp地址 |
| | | if (!input.length || input.indexOf("rtsp://") != 0) { |
| | | return |
| | | } |
| | | |
| | | let userinfoSplitPos = input.indexOf(":", 7) |
| | | let userinfoEndPos = input.lastIndexOf("@") |
| | | |
| | | // 未包含登录信息的rtsp地址, 直接返回原url |
| | | if (userinfoSplitPos == -1 || userinfoEndPos == -1 || userinfoEndPos < userinfoSplitPos) { |
| | | return |
| | | return input |
| | | } |
| | | |
| | | let usrPassword = input.slice(userinfoSplitPos + 1, userinfoEndPos) |