正在显示
3 个修改的文件
包含
190 行增加
和
31 行删除
| @@ -237,6 +237,11 @@ | @@ -237,6 +237,11 @@ | ||
| 237 | "resolved": "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz", | 237 | "resolved": "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz", |
| 238 | "integrity": "sha1-sNBClG2ylTu50pKQCmy19tASIDE=" | 238 | "integrity": "sha1-sNBClG2ylTu50pKQCmy19tASIDE=" |
| 239 | }, | 239 | }, |
| 240 | + "date-format": { | ||
| 241 | + "version": "3.0.0", | ||
| 242 | + "resolved": "https://registry.npm.taobao.org/date-format/download/date-format-3.0.0.tgz", | ||
| 243 | + "integrity": "sha1-64eANlx9KxURB4+0keZHl4DzrZU=" | ||
| 244 | + }, | ||
| 240 | "debug": { | 245 | "debug": { |
| 241 | "version": "2.6.9", | 246 | "version": "2.6.9", |
| 242 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | 247 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", |
| @@ -311,6 +316,15 @@ | @@ -311,6 +316,15 @@ | ||
| 311 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", | 316 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", |
| 312 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" | 317 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" |
| 313 | }, | 318 | }, |
| 319 | + "esdk-obs-nodejs": { | ||
| 320 | + "version": "3.20.11", | ||
| 321 | + "resolved": "https://registry.npm.taobao.org/esdk-obs-nodejs/download/esdk-obs-nodejs-3.20.11.tgz", | ||
| 322 | + "integrity": "sha1-/bMuzu3qoT+xLgmCcgg8yM6MIsE=", | ||
| 323 | + "requires": { | ||
| 324 | + "log4js": "^6.3.0", | ||
| 325 | + "xml2js": "^0.4.23" | ||
| 326 | + } | ||
| 327 | + }, | ||
| 314 | "etag": { | 328 | "etag": { |
| 315 | "version": "1.8.1", | 329 | "version": "1.8.1", |
| 316 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", | 330 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", |
| @@ -367,6 +381,11 @@ | @@ -367,6 +381,11 @@ | ||
| 367 | "unpipe": "~1.0.0" | 381 | "unpipe": "~1.0.0" |
| 368 | } | 382 | } |
| 369 | }, | 383 | }, |
| 384 | + "flatted": { | ||
| 385 | + "version": "2.0.2", | ||
| 386 | + "resolved": "https://registry.npm.taobao.org/flatted/download/flatted-2.0.2.tgz", | ||
| 387 | + "integrity": "sha1-RXWyHivO50NKqb5mL0t7X5wrUTg=" | ||
| 388 | + }, | ||
| 370 | "follow-redirects": { | 389 | "follow-redirects": { |
| 371 | "version": "1.5.10", | 390 | "version": "1.5.10", |
| 372 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", | 391 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", |
| @@ -395,6 +414,16 @@ | @@ -395,6 +414,16 @@ | ||
| 395 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", | 414 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", |
| 396 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" | 415 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" |
| 397 | }, | 416 | }, |
| 417 | + "fs-extra": { | ||
| 418 | + "version": "8.1.0", | ||
| 419 | + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-8.1.0.tgz", | ||
| 420 | + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", | ||
| 421 | + "requires": { | ||
| 422 | + "graceful-fs": "^4.2.0", | ||
| 423 | + "jsonfile": "^4.0.0", | ||
| 424 | + "universalify": "^0.1.0" | ||
| 425 | + } | ||
| 426 | + }, | ||
| 398 | "fs.realpath": { | 427 | "fs.realpath": { |
| 399 | "version": "1.0.0", | 428 | "version": "1.0.0", |
| 400 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", | 429 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", |
| @@ -418,6 +447,11 @@ | @@ -418,6 +447,11 @@ | ||
| 418 | "path-is-absolute": "^1.0.0" | 447 | "path-is-absolute": "^1.0.0" |
| 419 | } | 448 | } |
| 420 | }, | 449 | }, |
| 450 | + "graceful-fs": { | ||
| 451 | + "version": "4.2.4", | ||
| 452 | + "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.4.tgz", | ||
| 453 | + "integrity": "sha1-Ila94U02MpWMRl68ltxGfKB6Kfs=" | ||
| 454 | + }, | ||
| 421 | "graceful-readlink": { | 455 | "graceful-readlink": { |
| 422 | "version": "1.0.1", | 456 | "version": "1.0.1", |
| 423 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", | 457 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", |
| @@ -542,6 +576,14 @@ | @@ -542,6 +576,14 @@ | ||
| 542 | "with": "~4.0.0" | 576 | "with": "~4.0.0" |
| 543 | } | 577 | } |
| 544 | }, | 578 | }, |
| 579 | + "jsonfile": { | ||
| 580 | + "version": "4.0.0", | ||
| 581 | + "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz", | ||
| 582 | + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", | ||
| 583 | + "requires": { | ||
| 584 | + "graceful-fs": "^4.1.6" | ||
| 585 | + } | ||
| 586 | + }, | ||
| 545 | "jstransformer": { | 587 | "jstransformer": { |
| 546 | "version": "0.0.2", | 588 | "version": "0.0.2", |
| 547 | "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-0.0.2.tgz", | 589 | "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-0.0.2.tgz", |
| @@ -564,6 +606,33 @@ | @@ -564,6 +606,33 @@ | ||
| 564 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", | 606 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", |
| 565 | "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" | 607 | "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" |
| 566 | }, | 608 | }, |
| 609 | + "log4js": { | ||
| 610 | + "version": "6.3.0", | ||
| 611 | + "resolved": "https://registry.npm.taobao.org/log4js/download/log4js-6.3.0.tgz", | ||
| 612 | + "integrity": "sha1-EN+vu0NDUaPjAnegC5h5RG9xW8s=", | ||
| 613 | + "requires": { | ||
| 614 | + "date-format": "^3.0.0", | ||
| 615 | + "debug": "^4.1.1", | ||
| 616 | + "flatted": "^2.0.1", | ||
| 617 | + "rfdc": "^1.1.4", | ||
| 618 | + "streamroller": "^2.2.4" | ||
| 619 | + }, | ||
| 620 | + "dependencies": { | ||
| 621 | + "debug": { | ||
| 622 | + "version": "4.3.1", | ||
| 623 | + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1607566551397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz", | ||
| 624 | + "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=", | ||
| 625 | + "requires": { | ||
| 626 | + "ms": "2.1.2" | ||
| 627 | + } | ||
| 628 | + }, | ||
| 629 | + "ms": { | ||
| 630 | + "version": "2.1.2", | ||
| 631 | + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433856030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", | ||
| 632 | + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" | ||
| 633 | + } | ||
| 634 | + } | ||
| 635 | + }, | ||
| 567 | "longest": { | 636 | "longest": { |
| 568 | "version": "1.0.1", | 637 | "version": "1.0.1", |
| 569 | "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", | 638 | "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", |
| @@ -785,6 +854,11 @@ | @@ -785,6 +854,11 @@ | ||
| 785 | "path-parse": "^1.0.6" | 854 | "path-parse": "^1.0.6" |
| 786 | } | 855 | } |
| 787 | }, | 856 | }, |
| 857 | + "rfdc": { | ||
| 858 | + "version": "1.2.0", | ||
| 859 | + "resolved": "https://registry.npm.taobao.org/rfdc/download/rfdc-1.2.0.tgz", | ||
| 860 | + "integrity": "sha1-npiUJY9I8oS0PDFDxoBwpPNzuUk=" | ||
| 861 | + }, | ||
| 788 | "right-align": { | 862 | "right-align": { |
| 789 | "version": "0.1.3", | 863 | "version": "0.1.3", |
| 790 | "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", | 864 | "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", |
| @@ -803,6 +877,11 @@ | @@ -803,6 +877,11 @@ | ||
| 803 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | 877 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", |
| 804 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | 878 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" |
| 805 | }, | 879 | }, |
| 880 | + "sax": { | ||
| 881 | + "version": "1.2.4", | ||
| 882 | + "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", | ||
| 883 | + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" | ||
| 884 | + }, | ||
| 806 | "send": { | 885 | "send": { |
| 807 | "version": "0.16.2", | 886 | "version": "0.16.2", |
| 808 | "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", | 887 | "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", |
| @@ -862,6 +941,36 @@ | @@ -862,6 +941,36 @@ | ||
| 862 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", | 941 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", |
| 863 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" | 942 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" |
| 864 | }, | 943 | }, |
| 944 | + "streamroller": { | ||
| 945 | + "version": "2.2.4", | ||
| 946 | + "resolved": "https://registry.npm.taobao.org/streamroller/download/streamroller-2.2.4.tgz", | ||
| 947 | + "integrity": "sha1-wZjO1C25QIamGTYIGHzoCl8rDlM=", | ||
| 948 | + "requires": { | ||
| 949 | + "date-format": "^2.1.0", | ||
| 950 | + "debug": "^4.1.1", | ||
| 951 | + "fs-extra": "^8.1.0" | ||
| 952 | + }, | ||
| 953 | + "dependencies": { | ||
| 954 | + "date-format": { | ||
| 955 | + "version": "2.1.0", | ||
| 956 | + "resolved": "https://registry.npm.taobao.org/date-format/download/date-format-2.1.0.tgz", | ||
| 957 | + "integrity": "sha1-MdW16iEc9f12TNOLr50DPffhJc8=" | ||
| 958 | + }, | ||
| 959 | + "debug": { | ||
| 960 | + "version": "4.3.1", | ||
| 961 | + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1607566551397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz", | ||
| 962 | + "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=", | ||
| 963 | + "requires": { | ||
| 964 | + "ms": "2.1.2" | ||
| 965 | + } | ||
| 966 | + }, | ||
| 967 | + "ms": { | ||
| 968 | + "version": "2.1.2", | ||
| 969 | + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433856030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", | ||
| 970 | + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" | ||
| 971 | + } | ||
| 972 | + } | ||
| 973 | + }, | ||
| 865 | "string.prototype.trimleft": { | 974 | "string.prototype.trimleft": { |
| 866 | "version": "2.1.1", | 975 | "version": "2.1.1", |
| 867 | "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", | 976 | "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", |
| @@ -954,6 +1063,11 @@ | @@ -954,6 +1063,11 @@ | ||
| 954 | "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", | 1063 | "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", |
| 955 | "optional": true | 1064 | "optional": true |
| 956 | }, | 1065 | }, |
| 1066 | + "universalify": { | ||
| 1067 | + "version": "0.1.2", | ||
| 1068 | + "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz?cache=0&sync_timestamp=1603179971960&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-0.1.2.tgz", | ||
| 1069 | + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=" | ||
| 1070 | + }, | ||
| 957 | "unpipe": { | 1071 | "unpipe": { |
| 958 | "version": "1.0.0", | 1072 | "version": "1.0.0", |
| 959 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | 1073 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", |
| @@ -1017,6 +1131,20 @@ | @@ -1017,6 +1131,20 @@ | ||
| 1017 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", | 1131 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", |
| 1018 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" | 1132 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" |
| 1019 | }, | 1133 | }, |
| 1134 | + "xml2js": { | ||
| 1135 | + "version": "0.4.23", | ||
| 1136 | + "resolved": "https://registry.npm.taobao.org/xml2js/download/xml2js-0.4.23.tgz?cache=0&sync_timestamp=1576776888003&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxml2js%2Fdownload%2Fxml2js-0.4.23.tgz", | ||
| 1137 | + "integrity": "sha1-oMaVFnUkIesqx1juTUzPWIQ+rGY=", | ||
| 1138 | + "requires": { | ||
| 1139 | + "sax": ">=0.6.0", | ||
| 1140 | + "xmlbuilder": "~11.0.0" | ||
| 1141 | + } | ||
| 1142 | + }, | ||
| 1143 | + "xmlbuilder": { | ||
| 1144 | + "version": "11.0.1", | ||
| 1145 | + "resolved": "https://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-11.0.1.tgz", | ||
| 1146 | + "integrity": "sha1-vpuuHIoEbnazESdyY0fQrXACvrM=" | ||
| 1147 | + }, | ||
| 1020 | "yargs": { | 1148 | "yargs": { |
| 1021 | "version": "3.10.0", | 1149 | "version": "3.10.0", |
| 1022 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", | 1150 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", |
| @@ -11,6 +11,7 @@ | @@ -11,6 +11,7 @@ | ||
| 11 | "child_process": "^1.0.2", | 11 | "child_process": "^1.0.2", |
| 12 | "cookie-parser": "~1.4.4", | 12 | "cookie-parser": "~1.4.4", |
| 13 | "debug": "~2.6.9", | 13 | "debug": "~2.6.9", |
| 14 | + "esdk-obs-nodejs": "^3.20.11", | ||
| 14 | "express": "~4.16.1", | 15 | "express": "~4.16.1", |
| 15 | "http-errors": "~1.6.3", | 16 | "http-errors": "~1.6.3", |
| 16 | "jade": "~1.11.0", | 17 | "jade": "~1.11.0", |
| @@ -3,6 +3,7 @@ var router = express.Router(); | @@ -3,6 +3,7 @@ var router = express.Router(); | ||
| 3 | const { spawn, exec } = require('child_process'); | 3 | const { spawn, exec } = require('child_process'); |
| 4 | const fs = require("fs"); | 4 | const fs = require("fs"); |
| 5 | var path = require('path') | 5 | var path = require('path') |
| 6 | +var ObsClient = require('esdk-obs-nodejs'); | ||
| 6 | 7 | ||
| 7 | const method = require("../config/method") | 8 | const method = require("../config/method") |
| 8 | const config = require("../config/config") | 9 | const config = require("../config/config") |
| @@ -117,7 +118,7 @@ class MediaCreat { | @@ -117,7 +118,7 @@ class MediaCreat { | ||
| 117 | // export DISPLAY=:7 | 118 | // export DISPLAY=:7 |
| 118 | // let url = `${path.resolve(__dirname, PROJECTWINCATALOG+"/web_capture_c")} -o=${ymdDir}/${id}.mp4 -u="${BACKMEDIACONFIG.url}?classId=${id}&recordMp4=${BACKMEDIACONFIG.recordMp4}&userId=${BACKMEDIACONFIG.userId}&userName=${BACKMEDIACONFIG.userName}&userRole=${BACKMEDIACONFIG.userRole}&portalIP=${BACKMEDIACONFIG.portalIP}&portalPort=${BACKMEDIACONFIG.portalPort}&channels=${BACKMEDIACONFIG.channels}&playRecord=${BACKMEDIACONFIG.playRecord}" -d=${BACKMEDIACONFIG.d} -s=${BACKMEDIACONFIG.s} -fa=${BACKMEDIACONFIG.fa} -k=${BACKMEDIACONFIG.k} -w=${BACKMEDIACONFIG.w} -h=${BACKMEDIACONFIG.h}` | 119 | // let url = `${path.resolve(__dirname, PROJECTWINCATALOG+"/web_capture_c")} -o=${ymdDir}/${id}.mp4 -u="${BACKMEDIACONFIG.url}?classId=${id}&recordMp4=${BACKMEDIACONFIG.recordMp4}&userId=${BACKMEDIACONFIG.userId}&userName=${BACKMEDIACONFIG.userName}&userRole=${BACKMEDIACONFIG.userRole}&portalIP=${BACKMEDIACONFIG.portalIP}&portalPort=${BACKMEDIACONFIG.portalPort}&channels=${BACKMEDIACONFIG.channels}&playRecord=${BACKMEDIACONFIG.playRecord}" -d=${BACKMEDIACONFIG.d} -s=${BACKMEDIACONFIG.s} -fa=${BACKMEDIACONFIG.fa} -k=${BACKMEDIACONFIG.k} -w=${BACKMEDIACONFIG.w} -h=${BACKMEDIACONFIG.h}` |
| 119 | // console.log("url", url) | 120 | // console.log("url", url) |
| 120 | - let url = `${PROJECTWINCATALOG}/web_capture_c -o=${ymdDir}/${id}.mp4 -u="${BACKMEDIACONFIG.url}?classId=${id}&recordMp4=${BACKMEDIACONFIG.recordMp4}&userId=${BACKMEDIACONFIG.userId}&userName=${BACKMEDIACONFIG.userName}&userRole=${BACKMEDIACONFIG.userRole}&portalIP=${BACKMEDIACONFIG.portalIP}&portalPort=${BACKMEDIACONFIG.portalPort}&channels=${BACKMEDIACONFIG.channels}&playRecord=${BACKMEDIACONFIG.playRecord}&language=zh-cn" -d=${BACKMEDIACONFIG.d} -s=${BACKMEDIACONFIG.s} -fa=${BACKMEDIACONFIG.fa} -k=${BACKMEDIACONFIG.k} -w=${BACKMEDIACONFIG.w} -h=${BACKMEDIACONFIG.h}` | 121 | + let url = `${PROJECTWINCATALOG}/web_capture_c -o=${ymdDir}/${id}.mp4 -u="${BACKMEDIACONFIG.url}?classId=${id}&recordMp4=${BACKMEDIACONFIG.recordMp4}&userId=${BACKMEDIACONFIG.userId}&userName=${BACKMEDIACONFIG.userName}&userRole=${BACKMEDIACONFIG.userRole}&portalIP=${BACKMEDIACONFIG.portalIP}&portalPort=${BACKMEDIACONFIG.portalPort}&channels=${BACKMEDIACONFIG.channels}&playRecord=${BACKMEDIACONFIG.playRecord}&language=zh-cn" -d=${BACKMEDIACONFIG.d} -s=${BACKMEDIACONFIG.s} -fa=${BACKMEDIACONFIG.fa} -k=${BACKMEDIACONFIG.k} -w=${BACKMEDIACONFIG.w} -h=${BACKMEDIACONFIG.h} -vb=999999999999` |
| 121 | exec(url, { maxBuffer: 1073741824 }, (err, stdout, stderr) => { | 122 | exec(url, { maxBuffer: 1073741824 }, (err, stdout, stderr) => { |
| 122 | if (err != null) { | 123 | if (err != null) { |
| 123 | this.wrieLog(" 错误" + id + ":" + err) | 124 | this.wrieLog(" 错误" + id + ":" + err) |
| @@ -251,44 +252,73 @@ router.post('/recording', async function (req, res, next) { | @@ -251,44 +252,73 @@ router.post('/recording', async function (req, res, next) { | ||
| 251 | 252 | ||
| 252 | // 判断该视频文件是否存在 | 253 | // 判断该视频文件是否存在 |
| 253 | router.post('/fileExists', async function (req, res, next) { | 254 | router.post('/fileExists', async function (req, res, next) { |
| 254 | - let fileConfig = new MediaCreat().getConfigFileJson() | ||
| 255 | - const { PROJECTCATALOG } = JSON.parse(fileConfig) | ||
| 256 | const body = req.body | 255 | const body = req.body |
| 257 | - if(!body.siteId) { | ||
| 258 | - res.send({ code: 2,message:"机构编码无效" }); | 256 | + if (!body.siteId) { |
| 257 | + res.send({code: 2, message: "机构编码无效"}); | ||
| 259 | return | 258 | return |
| 260 | } | 259 | } |
| 261 | - if(!body.classId) { | ||
| 262 | - res.send({ code: 3,message:"课堂号无效" }); | 260 | + if (!body.classId) { |
| 261 | + res.send({code: 3, message: "课堂号无效"}); | ||
| 263 | return | 262 | return |
| 264 | } | 263 | } |
| 265 | - let timeDir = PROJECTCATALOG + "/media/" + body.siteId | ||
| 266 | 264 | ||
| 267 | - if (!fs.existsSync(timeDir)) { | ||
| 268 | - res.send({ code: 4,message:"目录未生成" }); | ||
| 269 | - return | ||
| 270 | - } | ||
| 271 | - const timeFiles = fs.readdirSync(timeDir) | ||
| 272 | - let classIdStr = `${body.classId}.mp4` | ||
| 273 | - let isFile = false | ||
| 274 | - let fileTime = "" | ||
| 275 | - for(let i=0;i<timeFiles.length;i++){ | ||
| 276 | - let classDir = `${timeDir}/${timeFiles[i]}` | ||
| 277 | - const classFiles = fs.readdirSync(classDir) | ||
| 278 | - if(classFiles.indexOf(classIdStr) > -1){ | ||
| 279 | - fileTime = timeFiles[i] | ||
| 280 | - isFile = true | ||
| 281 | - break | ||
| 282 | - } | ||
| 283 | - } | ||
| 284 | - if(isFile){ | ||
| 285 | - let classUrl = `https://xdymp4.xuedianyun.com/oss/${body.siteId}/${fileTime}/${body.classId}.mp4` | ||
| 286 | - res.send({ code: 0,message:"文件已生成",classUrl }); | ||
| 287 | - }else { | 265 | + // if(!body.classStartTime) { |
| 266 | + // res.send({ code: 4,message:"时间不存在" }); | ||
| 267 | + // return | ||
| 268 | + // } | ||
| 269 | + | ||
| 270 | + // 创建ObsClient实例 | ||
| 271 | + var obsClient = new ObsClient({ | ||
| 272 | + access_key_id: 'FY27OD11ZJVC385AOTW9', | ||
| 273 | + secret_access_key: 'ZqnfRjaseCtuRbE79GvqkPiYUdT83ZbB0oU7fBo3', | ||
| 274 | + server: 'obs.cn-north-4.myhuaweicloud.com' | ||
| 275 | + }); | ||
| 276 | + | ||
| 277 | + let isVideo = false | ||
| 278 | + let url = "" | ||
| 279 | + let Prefix = "" | ||
| 280 | + if (body.classStartTime) { | ||
| 281 | + Prefix = `oss/${body.siteId}/${body.classStartTime}/${body.classId}.mp4` | ||
| 282 | + obsClient.listObjects({ | ||
| 283 | + Bucket: 'xdymp4', | ||
| 284 | + Prefix: Prefix, | ||
| 285 | + // MaxKeys:1 | ||
| 286 | + }, (err, result) => { | ||
| 287 | + if (err) { | ||
| 288 | + console.error('Error-->' + err); | ||
| 289 | + } else { | ||
| 290 | + if (result.CommonMsg.Status == 200) { | ||
| 291 | + let content = result.InterfaceResult.Contents | ||
| 292 | + if (content && content.length) { | ||
| 293 | + if (content[0].Key) { | ||
| 294 | + isVideo = true | ||
| 295 | + url = content[0].Key | ||
| 296 | + } | ||
| 297 | + } | ||
| 298 | + // for(let i=0;i<result.InterfaceResult.Contents.length;i++){ | ||
| 299 | + // let item = result.InterfaceResult.Contents[i] | ||
| 300 | + // if(item.Key && item.Key.indexOf(body.classId) > -1){ | ||
| 301 | + // isVideo = true | ||
| 302 | + // url = item.Key | ||
| 303 | + // break | ||
| 304 | + // } | ||
| 305 | + // } | ||
| 306 | + } | ||
| 307 | + } | ||
| 308 | + if (!isVideo) { | ||
| 309 | + let classUrl = `https://pclive.xuedianyun.com/pcBase/pclive2/release/index.html?portalIP=saas.xuedianyun.com&portalPort=80&classId=${body.classId}&channels=2&playRecord=1#/` | ||
| 310 | + res.send({code: 1, message: "文件未生成", classUrl}); | ||
| 311 | + } else { | ||
| 312 | + let classUrl = `https://xdymp4.xuedianyun.com/${url}` | ||
| 313 | + res.send({code: 0, message: "文件已生成", classUrl}); | ||
| 314 | + } | ||
| 315 | + // 关闭obsClient | ||
| 316 | + obsClient.close(); | ||
| 317 | + }); | ||
| 318 | + }else{ | ||
| 288 | let classUrl = `https://pclive.xuedianyun.com/pcBase/pclive2/release/index.html?portalIP=saas.xuedianyun.com&portalPort=80&classId=${body.classId}&channels=2&playRecord=1#/` | 319 | let classUrl = `https://pclive.xuedianyun.com/pcBase/pclive2/release/index.html?portalIP=saas.xuedianyun.com&portalPort=80&classId=${body.classId}&channels=2&playRecord=1#/` |
| 289 | - res.send({ code: 1,message:"文件未生成",classUrl }); | 320 | + res.send({code: 1, message: "文件未生成", classUrl}); |
| 290 | } | 321 | } |
| 291 | - | ||
| 292 | }) | 322 | }) |
| 293 | 323 | ||
| 294 | module.exports = router; | 324 | module.exports = router; |
-
请 注册 或 登录 后发表评论