123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- const time = require('./time.js');
- function hexStrToBitStr(str){
-
- 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
- }
- }
- console.log(parseInt(hexStrToBitStr('00 10'),2));
- let lineStr = "| 黑屏设备包头解析 | 不黑屏设备解析 |"
- console.log(lineStr);
- console.log(parseRtpHeader('80 e0 00 02 00 00 46 50 01 e1 5e 79'));
- console.log(parseRtpHeader('80 60 00 02 3b 09 a5 d0 01 df 01'));
|