修复goroutine泄露问题;添加控制推送rtmp开关;优化数据流,播放更流畅

This commit is contained in:
hkmadao
2024-11-22 00:46:18 +08:00
parent 3b41e6cc4d
commit d760b5d003
30 changed files with 591 additions and 186 deletions

View File

@@ -1,17 +1,17 @@
{
"files": {
"main.js": "/rtsp2rtmp/static/js/main.82132c58.chunk.js",
"main.js.map": "/rtsp2rtmp/static/js/main.82132c58.chunk.js.map",
"runtime-main.js": "/rtsp2rtmp/static/js/runtime-main.14fbbcda.js",
"runtime-main.js.map": "/rtsp2rtmp/static/js/runtime-main.14fbbcda.js.map",
"static/js/2.f4ce3ada.chunk.js": "/rtsp2rtmp/static/js/2.f4ce3ada.chunk.js",
"static/js/2.f4ce3ada.chunk.js.map": "/rtsp2rtmp/static/js/2.f4ce3ada.chunk.js.map",
"main.js": "/rtsp2rtmp/static/js/main.12e4388c.chunk.js",
"main.js.map": "/rtsp2rtmp/static/js/main.12e4388c.chunk.js.map",
"runtime-main.js": "/rtsp2rtmp/static/js/runtime-main.5a0d2bcd.js",
"runtime-main.js.map": "/rtsp2rtmp/static/js/runtime-main.5a0d2bcd.js.map",
"static/js/2.af27c0ee.chunk.js": "/rtsp2rtmp/static/js/2.af27c0ee.chunk.js",
"static/js/2.af27c0ee.chunk.js.map": "/rtsp2rtmp/static/js/2.af27c0ee.chunk.js.map",
"index.html": "/rtsp2rtmp/index.html",
"static/js/2.f4ce3ada.chunk.js.LICENSE.txt": "/rtsp2rtmp/static/js/2.f4ce3ada.chunk.js.LICENSE.txt"
"static/js/2.af27c0ee.chunk.js.LICENSE.txt": "/rtsp2rtmp/static/js/2.af27c0ee.chunk.js.LICENSE.txt"
},
"entrypoints": [
"static/js/runtime-main.14fbbcda.js",
"static/js/2.f4ce3ada.chunk.js",
"static/js/main.82132c58.chunk.js"
"static/js/runtime-main.5a0d2bcd.js",
"static/js/2.af27c0ee.chunk.js",
"static/js/main.12e4388c.chunk.js"
]
}

View File

@@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/rtsp2rtmp/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/rtsp2rtmp/logo192.png"/><link rel="manifest" href="/rtsp2rtmp/manifest.json"/><title>React App</title></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="app"></div><script>!function(e){function r(r){for(var n,p,l=r[0],f=r[1],i=r[2],c=0,s=[];c<l.length;c++)p=l[c],Object.prototype.hasOwnProperty.call(o,p)&&o[p]&&s.push(o[p][0]),o[p]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(a&&a(r);s.length;)s.shift()();return u.push.apply(u,i||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var f=t[l];0!==o[f]&&(n=!1)}n&&(u.splice(r--,1),e=p(p.s=t[0]))}return e}var n={},o={1:0},u=[];function p(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,p),t.l=!0,t.exports}p.m=e,p.c=n,p.d=function(e,r,t){p.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},p.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},p.t=function(e,r){if(1&r&&(e=p(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(p.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)p.d(t,n,function(r){return e[r]}.bind(null,n));return t},p.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return p.d(r,"a",r),r},p.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},p.p="/rtsp2rtmp/";var l=this.webpackJsonprtsp2rtmpweb=this.webpackJsonprtsp2rtmpweb||[],f=l.push.bind(l);l.push=r,l=l.slice();for(var i=0;i<l.length;i++)r(l[i]);var a=f;t()}([])</script><script src="/rtsp2rtmp/static/js/2.f4ce3ada.chunk.js"></script><script src="/rtsp2rtmp/static/js/main.82132c58.chunk.js"></script></body></html>
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/rtsp2rtmp/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/rtsp2rtmp/logo192.png"/><link rel="manifest" href="/rtsp2rtmp/manifest.json"/><title>React App</title></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="app"></div><script>!function(e){function r(r){for(var n,p,l=r[0],f=r[1],i=r[2],c=0,s=[];c<l.length;c++)p=l[c],Object.prototype.hasOwnProperty.call(o,p)&&o[p]&&s.push(o[p][0]),o[p]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(a&&a(r);s.length;)s.shift()();return u.push.apply(u,i||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var f=t[l];0!==o[f]&&(n=!1)}n&&(u.splice(r--,1),e=p(p.s=t[0]))}return e}var n={},o={1:0},u=[];function p(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,p),t.l=!0,t.exports}p.m=e,p.c=n,p.d=function(e,r,t){p.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},p.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},p.t=function(e,r){if(1&r&&(e=p(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(p.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)p.d(t,n,function(r){return e[r]}.bind(null,n));return t},p.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return p.d(r,"a",r),r},p.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},p.p="/rtsp2rtmp/";var l=this.webpackJsonprtsp2rtmpweb=this.webpackJsonprtsp2rtmpweb||[],f=l.push.bind(l);l.push=r,l=l.slice();for(var i=0;i<l.length;i++)r(l[i]);var a=f;t()}([])</script><script src="/rtsp2rtmp/static/js/2.af27c0ee.chunk.js"></script><script src="/rtsp2rtmp/static/js/main.12e4388c.chunk.js"></script></body></html>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,353 @@
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
/*!
* @overview es6-promise - a tiny implementation of Promises/A+.
* @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
* @license Licensed under MIT license
* See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
* @version v4.2.8+1e68dce6
*/
/*! ../config.js */
/*! ../core/media-info.js */
/*! ../core/media-segment-info.js */
/*! ../core/mse-controller.js */
/*! ../core/mse-events.js */
/*! ../core/transmuxer.js */
/*! ../core/transmuxing-events.js */
/*! ../demux/demux-errors.js */
/*! ../demux/flv-demuxer.js */
/*! ../io/io-controller.js */
/*! ../io/loader.js */
/*! ../remux/mp4-remuxer.js */
/*! ../utils/browser.js */
/*! ../utils/exception.js */
/*! ../utils/logger.js */
/*! ../utils/logging-control.js */
/*! ../utils/polyfill.js */
/*! ../utils/utf8-conv.js */
/*! ./aac-silent.js */
/*! ./amf-parser.js */
/*! ./core/features.js */
/*! ./demux-errors.js */
/*! ./exp-golomb.js */
/*! ./fetch-stream-loader.js */
/*! ./flv.js */
/*! ./io/loader.js */
/*! ./loader.js */
/*! ./logger.js */
/*! ./media-info.js */
/*! ./media-segment-info.js */
/*! ./mp4-generator.js */
/*! ./mse-events.js */
/*! ./param-seek-handler.js */
/*! ./player-errors.js */
/*! ./player-events.js */
/*! ./player/flv-player.js */
/*! ./player/native-player.js */
/*! ./player/player-errors.js */
/*! ./player/player-events.js */
/*! ./range-seek-handler.js */
/*! ./speed-sampler.js */
/*! ./sps-parser.js */
/*! ./transmuxing-controller.js */
/*! ./transmuxing-events.js */
/*! ./transmuxing-worker */
/*! ./utils/exception.js */
/*! ./utils/logging-control.js */
/*! ./utils/polyfill.js */
/*! ./websocket-loader.js */
/*! ./xhr-moz-chunked-loader.js */
/*! ./xhr-range-loader.js */
/*! es6-promise */
/*! events */
/*! webworkify-webpack */
/*!********************!*\
!*** ./src/flv.js ***!
\********************/
/*!**********************!*\
!*** ./src/index.js ***!
\**********************/
/*!***********************!*\
!*** ./src/config.js ***!
\***********************/
/*!**************************!*\
!*** ./src/io/loader.js ***!
\**************************/
/*!*****************************!*\
!*** ./src/utils/logger.js ***!
\*****************************/
/*!******************************!*\
!*** ./src/core/features.js ***!
\******************************/
/*!******************************!*\
!*** ./src/utils/browser.js ***!
\******************************/
/*!*******************************!*\
!*** ./src/utils/polyfill.js ***!
\*******************************/
/*!********************************!*\
!*** ./src/core/media-info.js ***!
\********************************/
/*!********************************!*\
!*** ./src/core/mse-events.js ***!
\********************************/
/*!********************************!*\
!*** ./src/core/transmuxer.js ***!
\********************************/
/*!********************************!*\
!*** ./src/utils/exception.js ***!
\********************************/
/*!********************************!*\
!*** ./src/utils/utf8-conv.js ***!
\********************************/
/*!*********************************!*\
!*** ./src/demux/amf-parser.js ***!
\*********************************/
/*!*********************************!*\
!*** ./src/demux/exp-golomb.js ***!
\*********************************/
/*!*********************************!*\
!*** ./src/demux/sps-parser.js ***!
\*********************************/
/*!*********************************!*\
!*** ./src/io/io-controller.js ***!
\*********************************/
/*!*********************************!*\
!*** ./src/io/speed-sampler.js ***!
\*********************************/
/*!*********************************!*\
!*** ./src/remux/aac-silent.js ***!
\*********************************/
/*!**********************************!*\
!*** ./src/demux/flv-demuxer.js ***!
\**********************************/
/*!**********************************!*\
!*** ./src/player/flv-player.js ***!
\**********************************/
/*!**********************************!*\
!*** ./src/remux/mp4-remuxer.js ***!
\**********************************/
/*!***********************************!*\
!*** ./src/demux/demux-errors.js ***!
\***********************************/
/*!************************************!*\
!*** ./src/core/mse-controller.js ***!
\************************************/
/*!************************************!*\
!*** ./src/io/websocket-loader.js ***!
\************************************/
/*!************************************!*\
!*** ./src/io/xhr-range-loader.js ***!
\************************************/
/*!************************************!*\
!*** ./src/remux/mp4-generator.js ***!
\************************************/
/*!*************************************!*\
!*** ./src/player/native-player.js ***!
\*************************************/
/*!*************************************!*\
!*** ./src/player/player-errors.js ***!
\*************************************/
/*!*************************************!*\
!*** ./src/player/player-events.js ***!
\*************************************/
/*!**************************************!*\
!*** ./src/io/param-seek-handler.js ***!
\**************************************/
/*!**************************************!*\
!*** ./src/io/range-seek-handler.js ***!
\**************************************/
/*!**************************************!*\
!*** ./src/utils/logging-control.js ***!
\**************************************/
/*!***************************************!*\
!*** ./node_modules/events/events.js ***!
\***************************************/
/*!***************************************!*\
!*** ./src/io/fetch-stream-loader.js ***!
\***************************************/
/*!****************************************!*\
!*** ./src/core/media-segment-info.js ***!
\****************************************/
/*!****************************************!*\
!*** ./src/core/transmuxing-events.js ***!
\****************************************/
/*!****************************************!*\
!*** ./src/core/transmuxing-worker.js ***!
\****************************************/
/*!******************************************!*\
!*** ./src/io/xhr-moz-chunked-loader.js ***!
\******************************************/
/*!********************************************!*\
!*** ./src/core/transmuxing-controller.js ***!
\********************************************/
/*!**************************************************!*\
!*** ./node_modules/webworkify-webpack/index.js ***!
\**************************************************/
/*!******************************************************!*\
!*** ./node_modules/es6-promise/dist/es6-promise.js ***!
\******************************************************/
/**
* A better abstraction over CSS.
*
* @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present
* @website https://github.com/cssinjs/jss
* @license MIT
*/
/** @license React v0.20.2
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v16.13.1
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
//! moment.js

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,68 +0,0 @@
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
/*!
* @overview es6-promise - a tiny implementation of Promises/A+.
* @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
* @license Licensed under MIT license
* See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
* @version v4.2.8+1e68dce6
*/
/**
* A better abstraction over CSS.
*
* @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present
* @website https://github.com/cssinjs/jss
* @license MIT
*/
/** @license React v0.20.2
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v16.13.1
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
//! moment.js

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +1,2 @@
!function(e){function r(r){for(var n,p,l=r[0],f=r[1],i=r[2],c=0,s=[];c<l.length;c++)p=l[c],Object.prototype.hasOwnProperty.call(o,p)&&o[p]&&s.push(o[p][0]),o[p]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(a&&a(r);s.length;)s.shift()();return u.push.apply(u,i||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var f=t[l];0!==o[f]&&(n=!1)}n&&(u.splice(r--,1),e=p(p.s=t[0]))}return e}var n={},o={1:0},u=[];function p(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,p),t.l=!0,t.exports}p.m=e,p.c=n,p.d=function(e,r,t){p.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},p.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},p.t=function(e,r){if(1&r&&(e=p(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(p.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)p.d(t,n,function(r){return e[r]}.bind(null,n));return t},p.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return p.d(r,"a",r),r},p.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},p.p="/rtsp2rtmp/";var l=this.webpackJsonprtsp2rtmpweb=this.webpackJsonprtsp2rtmpweb||[],f=l.push.bind(l);l.push=r,l=l.slice();for(var i=0;i<l.length;i++)r(l[i]);var a=f;t()}([]);
//# sourceMappingURL=runtime-main.14fbbcda.js.map
//# sourceMappingURL=runtime-main.5a0d2bcd.js.map

File diff suppressed because one or more lines are too long