kindring 1 year ago
parent
commit
9470fb0d20

+ 25 - 0
js/rtp 解析/loadTxt.js

@@ -0,0 +1,25 @@
+const fs = require("fs");
+
+/**
+ * 读取文件
+ * @param filePath
+ * @param option_encode
+ * @returns {Promise<unknown>}
+ */
+function loadFileLines(filePath,option_encode = 'utf-8') {
+    return new Promise((resolve, reject) => {
+        fs.readFile(filePath, option_encode, (err, data) => {
+            if (err) {
+                reject(err)
+                return
+            }
+            let lines = data.split(/\r?\n/);
+            resolve(lines);
+        })
+    })
+}
+
+
+module.exports = {
+    loadFileLines
+}

+ 0 - 0
linux/多版本软件安装.md → js/rtp 解析/rtpCheck.js


+ 0 - 0
js/rtp 解析/rtpPack1.txt


+ 0 - 0
js/rtp 解析/rtpPack2.txt


+ 40 - 0
js/rtp 解析/rtpParse.js

@@ -0,0 +1,40 @@
+const time = require('./time.js');
+function hexStrToBitStr(str){
+    // 移除0x 以及空格
+    str = str.replace(/0x/g,'').replace(/\s/g,'');
+    // 转换为二进制
+    return parseInt(str,16).toString(2);
+}
+
+function parseRtpHeader(hexStr){
+    let bitStr = hexStrToBitStr(hexStr);
+    let version = parseInt(bitStr.substr(0,2),2);
+    let padding = bitStr.substr(2,1);
+    let extension = bitStr.substr(3,1);
+    let csrcCount = bitStr.substr(4,4);
+    let marker = bitStr.substr(8,1);
+    let payloadType = parseInt(bitStr.substr(9,7),2);
+    let sequenceNumber = parseInt(bitStr.substr(16,16),2);
+    let timestamp = parseInt(bitStr.substr(32,32),2);
+    // 格式化时间戳
+    let _time = time.timestr(timestamp )
+    let ssrc = bitStr.substr(64,32);
+    let csrc = bitStr.substr(96,32);
+    return {
+        version,
+        padding,
+        extension,
+        csrcCount,
+        marker,
+        payloadType,
+        sequenceNumber,
+        timestamp,
+        ssrc,
+        csrc,
+        time: _time
+    }
+}
+
+module.exports = {
+    parseRtpHeader
+}

+ 0 - 0
js/进制转换/time.js → js/time.js


+ 0 - 0
js/数独计算器.js


+ 0 - 0
渐构/拆书/cPrimerPlus → 渐构/拆书/cPrimerPlus.md