bilibili_ASS_Danmaku_Downloader.js 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. /*
  2. * @File : bilibili_ASS_Danmaku_Downloader.js
  3. * @Author : jade
  4. * @Date : 2024/3/14 13:19
  5. * @Email : jadehh@1ive.com
  6. * @Software : Samples
  7. * @Desc :
  8. */
  9. function parseXML(json) {
  10. let list = [];
  11. /**
  12. * <d p="{time},{type},{size},{color},{timestamp},{pool},{uid_crc32},{row_id}">
  13. *
  14. * {Text}
  15. * time为弹幕在视频里的时间 -->
  16. * type为弹幕类型 -->
  17. * size为字体大小 -->
  18. * color为十进制的RGB颜色(16进制转10进制) -->
  19. * timestamp为弹幕发送时间戳(unix时间戳) -->
  20. * pool为弹幕池 -->
  21. * uid_crc32为发送者uid的crc32 -->
  22. */
  23. Array.from(json.danmuku).forEach(x => {
  24. let start = Number(x[0]);
  25. let content = x[4];
  26. list.push(`<d p="${start},1,25,16777215,1659282294,0,8b53b65c,1108899274487246080"><![CDATA[${content}]]></d>`)
  27. });
  28. return String.raw`<?xml version="1.0" encoding="UTF-8"?><i><chatserver>chat.bilibili.com</chatserver><chatid>52175602</chatid><mission>0</mission><maxlimit>1000</maxlimit><state>0</state><real_name>0</real_name><source>k-v</source>` + list.join('') + "</i>"
  29. }
  30. export {parseXML}