Skip to content

通过位运算从 aweme_id(64位无符号整数)中还原发布时间(秒级),并对低32位进行多维度分析,辅助时间序列研究、分片/QPS推断与风控分析。本工具已使用73条真实数据(抖音53条 / TikTok 20条)进行算法验证。

License

Notifications You must be signed in to change notification settings

Evil0ctal/Douyin-TikTok-Video-ID-Decoder

Repository files navigation

抖音 / TikTok 视频 ID 解密工具(Snowflake 风格)

English | 中文

中文自述文档 · 2025版 · 基于73条真实数据验证

Python License Author Online Demo

通过位运算从 aweme_id(64位无符号整数)中还原发布时间(秒级),并对低32位进行多维度分析,辅助时间序列研究、分片/QPS推断与风控分析。本工具已使用73条真实数据(抖音53条 / TikTok 20条)进行算法验证。


🌐 在线解析器

无需安装,即刻使用: https://evil0ctal.github.io/Douyin-TikTok-Video-ID-Decoder/

✨ 特性

  • 🚀 完全免费:无需注册,开箱即用
  • 🌍 中英双语:自动检测浏览器语言,支持手动切换
  • 📱 响应式设计:完美支持桌面和移动设备
  • 🎨 深色模式:自动适配系统主题
  • 批量解析:支持同时解析多个视频ID
  • 🔐 隐私安全:所有解析在浏览器本地完成,无数据上传

📸 界面预览

中文界面:

中文界面

🎯 使用方法

  1. 访问 在线解析器
  2. 在输入框中粘贴一个或多个视频ID(每行一个)
  3. 点击"解析"按钮查看结果
  4. 结果包含:UTC时间、本地时间、时间戳、分片ID、序列号等信息

快捷键: Ctrl + Enter 快速解析


1) TL;DR 结论

  • 位段结构

    • 高 32 位 = Unix 时间戳(秒)
    • 低 32 位 = 唯一性位(疑似“分片/机器 + 序列号”,平台未公开具体位宽)
  • 准确性(以 ≤5 秒为“接近匹配”)

    • 验证样本:共 73 条(抖音 53 / TikTok 20)

    • 完全匹配:0%

    • ≤5 秒误差:26.0%

    • 绝对误差均值14.3 秒(最大 49 秒,最小 2 秒)

    • 误差方向整体为 负偏移(解码时间略早于实际):

      • 抖音平均误差:-12.98 秒(范围 -49 ~ -2)
      • TikTok 平均误差:-17.80 秒(范围 -31 ~ -7)
  • 解读

    • 高 32 位确实承载秒级时间信息,但与平台返回的 create_time 存在稳定的小幅偏差(多为 -7 ~ -30 秒),推测来自上报/落库时机、服务端聚合延迟、取整/采样、不同源字段含义等。
    • 工程上建议:按平台做秒级校准(见 §5),能显著提升与你数据源 create_time 的贴合度。

2) 核心功能

🔍 基础解码

  • 提取Unix时间戳(秒级)
  • 输出UTC和本地时区时间
  • 展示低32位的多种表示(十进制/十六进制/二进制)

🧬 低32位多维分析

方案 位划分 说明
方案1 10+10+12 标准Snowflake划分(数据中心+机器+序列号)
方案2 8+8+16 修改版(更大序列号空间)
方案3 16+16 推荐方案(便于分片/序列聚类分析)
方案4 8+8+8+8 字节级别分析

📊 统计分析功能

  • ✅ 序列号重复检测(识别同批次上传)
  • ✅ 分片ID分布统计
  • ✅ 时间分布分析(时间跨度、最早/最晚)
  • ✅ 低字节模式识别
  • ✅ 平台对比(Douyin vs TikTok)

✨ 高级功能

  • 🎯 算法准确性验证:使用真实数据自动验证解码算法
  • 📈 可视化展示:ASCII图形化展示64位结构
  • 🔧 反向构造:生成类Snowflake ID用于测试

3) 本次验证的关键发现

  • 系统性负偏移

    • 抖音:平均 -12.98s
    • TikTok:平均 -17.80s
    • 两端一致呈负偏,说明“ID 中的时间”通常 早于 你样本中的 create_time 字段。
  • 误差分布:多数在 -7 ~ -30s,极端可到 -49s

  • 低位重复与模式

    • 例:序列号 0x0d23(3363)在两条抖音样本中重复;TikTok 样本中 0x4d1e(19742)重复。
    • Byte0 在 TikTok 出现 0x1e 高频;在抖音出现 0x23 高频(样本量小,仅供线索)。
    • 这些信号**支持“低位包含序列/分片”**的工程假设,但具体位宽仍需更大样本实证。

4) 该怎么解读“误差”

为什么不是 100% 精准到秒?

  • 字段语义差异:平台回给你的 create_time 可能是**“内容可见/上线”时间,或聚合/落库完成时间,而 ID 的时间可能更接近“生成/分配”**时刻。
  • 链路与缓存:多级服务(上传、审核、转码、风控、分发、索引)之间存在异步重试
  • 取整/采样:内部若有秒级对齐/取整,也会导致 +/− 若干秒。
  • 时区无关:你输出的 UTC/LA 时间是从秒戳计算的,与误差方向一致;不是时区显示问题。

结论:ID 的高 32 位足以用于“时间排序、范围过滤、近似定位”。 若要与平台 create_time 严格对齐用于“精确告警/回溯”,建议做平台级微调(下一节)。


5) 实战建议:秒级校准(Calibration)

为了与 create_time 更贴合,按平台使用固定校准值(可配):

  • 建议初值:

    • offset_seconds_douyin = +13
    • offset_seconds_tiktok = +18
  • 使用方式:解码后 timestamp_sec += offset_seconds_* 再用于对比/展示。

  • 期望效果:

    • 将“负偏移”拉回 0 ~ +5 秒区间;
    • 实测中,能显著提升“≤5 秒误差”的匹配率(实际效果取决于你的样本来源)。
  • 运营化:

    • 把校准值做成配置项(ENV 或 CLI 参数),支持 A/B 调整;
    • 定期用最近样本重新评估均值,自动微调(如以最近 10k 样本的偏移均值作为校准)。

注:请保留“原始解码秒戳”和“校准后秒戳”两个字段,便于后续审计与回溯。


6) 低 32 位的研究路线(给工程同学)

  • 同秒采样:抓取尽可能多的同秒 aweme_id,观察低位按不同方案的递增与回绕
  • 拟合序列位宽:用回绕点估计“序列号位数”(如出现 0→N→0 的规律);
  • 分片聚类:剩余高位可视作“分片/机器”,按分片聚类统计各自 QPS、地理/IDC 分布;
  • 跨平台对比:比较 Douyin 与 TikTok 的低位分布是否同构,以减少误判。

当前样本量有限,16+16 方案更便于快速聚类与可视化,但并不宣称真实位宽。


7) 快速开始

📦 环境要求

Python 3.9+
依赖: 无外部依赖(仅标准库)

🚀 基本使用

方式1: 运行完整演示

python decode_aweme_id.py

自动执行以下流程:

  1. 算法验证(使用aweme_ids_output.json)
  2. 📋 基础解码演示
  3. 🔬 低32位深度分析
  4. 📊 统计分析与模式识别
  5. 🎨 位结构可视化
  6. 🔧 反向构造示例

方式2: 仅运行验证

python test_validation.py

方式3: 在代码中使用

from decode_aweme_id import decode_aweme_id, validate_decode_algorithm

# 解码单个ID
result = decode_aweme_id("7350810998023949599")
print(result['datetime_utc'])  # 输出UTC时间

# 运行完整验证
validate_decode_algorithm()

📄 数据格式

输入文件aweme_ids_output.json

{
  "total_count": 73,
  "douyin_count": 53,
  "tiktok_count": 20,
  "videos": [
    {
      "aweme_id": "7350810998023949599",
      "create_time": 1711494099,
      "create_datetime": "2024-03-26 19:34:59",
      "source": "Douyin"
    }
  ]
}

📤 输出内容

运行脚本后将输出:

模块 说明
算法验证 准确率统计、误差分析、平台对比
基础解码 时间戳、UTC/本地时间、低32位表示
低位分析 4种方案的详细拆分结果
统计分析 序列号重复、分片分布、时间跨度
可视化 64位二进制结构ASCII图
构造测试 反向生成ID并验证

部分输出内容:

[Douyin] 7153549929326120227
  实际时间 / Actual time: 2022-10-12 02:07:20 (ts: 1665565640)
  解码时间 / Decoded time: 2022-10-12T09:07:14+00:00 (ts: 1665565634)
  ✗ 误差 / Error (-6秒 / seconds)

[Douyin] 7266740902494833931
  实际时间 / Actual time: 2023-08-13 02:46:09 (ts: 1691919969)
  解码时间 / Decoded time: 2023-08-13T09:46:01+00:00 (ts: 1691919961)
  ✗ 误差 / Error (-8秒 / seconds)

[Douyin] 7553588363032005946
  实际时间 / Actual time: 2025-09-24 02:40:46 (ts: 1758706846)
  解码时间 / Decoded time: 2025-09-24T09:40:40+00:00 (ts: 1758706840)
  ✗ 误差 / Error (-6秒 / seconds)

[Douyin] 7542102211314076986
  实际时间 / Actual time: 2025-08-24 03:48:38 (ts: 1756032518)
  解码时间 / Decoded time: 2025-08-24T10:48:32+00:00 (ts: 1756032512)
  ✗ 误差 / Error (-6秒 / seconds)

[Douyin] 7506081353857207609
  实际时间 / Actual time: 2025-05-19 02:09:18 (ts: 1747645758)
  解码时间 / Decoded time: 2025-05-19T09:09:12+00:00 (ts: 1747645752)
  ✗ 误差 / Error (-6秒 / seconds)

[Douyin] 7502379797902216484
  实际时间 / Actual time: 2025-05-09 02:45:28 (ts: 1746783928)
  解码时间 / Decoded time: 2025-05-09T09:45:17+00:00 (ts: 1746783917)
  ✗ 误差 / Error (-11秒 / seconds)

[Douyin] 7502000723766430988
  实际时间 / Actual time: 2025-05-08 02:14:29 (ts: 1746695669)
  解码时间 / Decoded time: 2025-05-08T09:14:17+00:00 (ts: 1746695657)
  ✗ 误差 / Error (-12秒 / seconds)

[Douyin] 7490506246395563300
  实际时间 / Actual time: 2025-04-07 02:50:12 (ts: 1744019412)
  解码时间 / Decoded time: 2025-04-07T09:49:50+00:00 (ts: 1744019390)
  ✗ 误差 / Error (-22秒 / seconds)

[Douyin] 7488278337312263460
  实际时间 / Actual time: 2025-04-01 02:44:35 (ts: 1743500675)
  解码时间 / Decoded time: 2025-04-01T09:44:25+00:00 (ts: 1743500665)
  ✗ 误差 / Error (-10秒 / seconds)

[Douyin] 7484211357902966079
  实际时间 / Actual time: 2025-03-21 03:42:43 (ts: 1742553763)
  解码时间 / Decoded time: 2025-03-21T10:42:27+00:00 (ts: 1742553747)
  ✗ 误差 / Error (-16秒 / seconds)

[Douyin] 7477512161175080255
  实际时间 / Actual time: 2025-03-03 01:26:23 (ts: 1740993983)
  解码时间 / Decoded time: 2025-03-03T09:26:09+00:00 (ts: 1740993969)
  ✗ 误差 / Error (-14秒 / seconds)

[Douyin] 7476417322140437796
  实际时间 / Actual time: 2025-02-28 02:37:56 (ts: 1740739076)
  解码时间 / Decoded time: 2025-02-28T10:37:37+00:00 (ts: 1740739057)
  ✗ 误差 / Error (-19秒 / seconds)

[Douyin] 7475679294484729124
  实际时间 / Actual time: 2025-02-26 02:54:05 (ts: 1740567245)
  解码时间 / Decoded time: 2025-02-26T10:53:41+00:00 (ts: 1740567221)
  ✗ 误差 / Error (-24秒 / seconds)

[Douyin] 7473824079032749323
  实际时间 / Actual time: 2025-02-21 02:54:41 (ts: 1740135281)
  解码时间 / Decoded time: 2025-02-21T10:54:30+00:00 (ts: 1740135270)
  ✗ 误差 / Error (-11秒 / seconds)

[Douyin] 7473079802631589177
  实际时间 / Actual time: 2025-02-19 02:46:29 (ts: 1739961989)
  解码时间 / Decoded time: 2025-02-19T10:46:20+00:00 (ts: 1739961980)
  ✗ 误差 / Error (-9秒 / seconds)

[Douyin] 7471222653760654611
  实际时间 / Actual time: 2025-02-14 02:39:59 (ts: 1739529599)
  解码时间 / Decoded time: 2025-02-14T10:39:39+00:00 (ts: 1739529579)
  ✗ 误差 / Error (-20秒 / seconds)

[Douyin] 7468236778898459943
  实际时间 / Actual time: 2025-02-06 01:33:20 (ts: 1738834400)
  解码时间 / Decoded time: 2025-02-06T09:32:56+00:00 (ts: 1738834376)
  ✗ 误差 / Error (-24秒 / seconds)

[Douyin] 7467859527912770870
  实际时间 / Actual time: 2025-02-05 01:09:35 (ts: 1738746575)
  解码时间 / Decoded time: 2025-02-05T09:09:00+00:00 (ts: 1738746540)
  ✗ 误差 / Error (-35秒 / seconds)

[Douyin] 7464176276731890983
  实际时间 / Actual time: 2025-01-26 02:56:29 (ts: 1737888989)
  解码时间 / Decoded time: 2025-01-26T10:56:06+00:00 (ts: 1737888966)
  ✗ 误差 / Error (-23秒 / seconds)

[Douyin] 7461944739479194899
  实际时间 / Actual time: 2025-01-20 02:37:09 (ts: 1737369429)
  解码时间 / Decoded time: 2025-01-20T10:36:36+00:00 (ts: 1737369396)
  ✗ 误差 / Error (-33秒 / seconds)

[Douyin] 7455641451033005324
  实际时间 / Actual time: 2025-01-03 02:57:08 (ts: 1735901828)
  解码时间 / Decoded time: 2025-01-03T10:56:37+00:00 (ts: 1735901797)
  ✗ 误差 / Error (-31秒 / seconds)

[Douyin] 7454518969194630412
  实际时间 / Actual time: 2024-12-31 02:21:20 (ts: 1735640480)
  解码时间 / Decoded time: 2024-12-31T10:20:49+00:00 (ts: 1735640449)
  ✗ 误差 / Error (-31秒 / seconds)

[Douyin] 7454129794217790774
  实际时间 / Actual time: 2024-12-30 01:11:25 (ts: 1735549885)
  解码时间 / Decoded time: 2024-12-30T09:10:37+00:00 (ts: 1735549837)
  ✗ 误差 / Error (-48秒 / seconds)

[Douyin] 7453025153564298559
  实际时间 / Actual time: 2024-12-27 01:44:16 (ts: 1735292656)
  解码时间 / Decoded time: 2024-12-27T09:44:03+00:00 (ts: 1735292643)
  ✗ 误差 / Error (-13秒 / seconds)

[Douyin] 7451536968590150923
  实际时间 / Actual time: 2024-12-23 01:29:57 (ts: 1734946197)
  解码时间 / Decoded time: 2024-12-23T09:29:08+00:00 (ts: 1734946148)
  ✗ 误差 / Error (-49秒 / seconds)

[Douyin] 7449329569653460282
  实际时间 / Actual time: 2024-12-17 02:43:28 (ts: 1734432208)
  解码时间 / Decoded time: 2024-12-17T10:43:18+00:00 (ts: 1734432198)
  ✗ 误差 / Error (-10秒 / seconds)

[Douyin] 7444133391118683442
  实际时间 / Actual time: 2024-12-03 02:39:50 (ts: 1733222390)
  解码时间 / Decoded time: 2024-12-03T10:39:28+00:00 (ts: 1733222368)
  ✗ 误差 / Error (-22秒 / seconds)

[Douyin] 7443366116870720777
  实际时间 / Actual time: 2024-12-01 01:02:24 (ts: 1733043744)
  解码时间 / Decoded time: 2024-12-01T09:02:03+00:00 (ts: 1733043723)
  ✗ 误差 / Error (-21秒 / seconds)

[Douyin] 7441195561165851914
  实际时间 / Actual time: 2024-11-25 04:39:22 (ts: 1732538362)
  解码时间 / Decoded time: 2024-11-25T12:39:12+00:00 (ts: 1732538352)
  ✗ 误差 / Error (-10秒 / seconds)

[Douyin] 7432607934867180809
  实际时间 / Actual time: 2024-11-02 02:15:06 (ts: 1730538906)
  解码时间 / Decoded time: 2024-11-02T09:14:49+00:00 (ts: 1730538889)
  ✗ 误差 / Error (-17秒 / seconds)

[Douyin] 7426764196366339354
  实际时间 / Actual time: 2024-10-17 08:18:21 (ts: 1729178301)
  解码时间 / Decoded time: 2024-10-17T15:18:08+00:00 (ts: 1729178288)
  ✗ 误差 / Error (-13秒 / seconds)

[Douyin] 7424444791112338697
  实际时间 / Actual time: 2024-10-11 02:17:53 (ts: 1728638273)
  解码时间 / Decoded time: 2024-10-11T09:17:39+00:00 (ts: 1728638259)
  ✗ 误差 / Error (-14秒 / seconds)

[Douyin] 7395877358483328307
  实际时间 / Actual time: 2024-07-26 02:41:34 (ts: 1721986894)
  解码时间 / Decoded time: 2024-07-26T09:41:25+00:00 (ts: 1721986885)
  ✗ 误差 / Error (-9秒 / seconds)

[Douyin] 7391056989352168714
  实际时间 / Actual time: 2024-07-13 02:56:12 (ts: 1720864572)
  解码时间 / Decoded time: 2024-07-13T09:55:56+00:00 (ts: 1720864556)
  ✗ 误差 / Error (-16秒 / seconds)

[TikTok] 7559684939684400414
  实际时间 / Actual time: 2025-10-10 12:58:53 (ts: 1760126333)
  解码时间 / Decoded time: 2025-10-10T19:58:30+00:00 (ts: 1760126310)
  ✗ 误差 / Error (-23秒 / seconds)

[TikTok] 7559661864628538654
  实际时间 / Actual time: 2025-10-10 11:29:21 (ts: 1760120961)
  解码时间 / Decoded time: 2025-10-10T18:28:57+00:00 (ts: 1760120937)
  ✗ 误差 / Error (-24秒 / seconds)

[TikTok] 7559607368695188766
  实际时间 / Actual time: 2025-10-10 07:57:50 (ts: 1760108270)
  解码时间 / Decoded time: 2025-10-10T14:57:29+00:00 (ts: 1760108249)
  ✗ 误差 / Error (-21秒 / seconds)

[TikTok] 7559309513321352478
  实际时间 / Actual time: 2025-10-09 12:41:46 (ts: 1760038906)
  解码时间 / Decoded time: 2025-10-09T19:41:39+00:00 (ts: 1760038899)
  ✗ 误差 / Error (-7秒 / seconds)

[TikTok] 7558891371189325087
  实际时间 / Actual time: 2025-10-08 09:39:16 (ts: 1759941556)
  解码时间 / Decoded time: 2025-10-08T16:39:03+00:00 (ts: 1759941543)
  ✗ 误差 / Error (-13秒 / seconds)

[TikTok] 7558545854957751582
  实际时间 / Actual time: 2025-10-07 11:18:30 (ts: 1759861110)
  解码时间 / Decoded time: 2025-10-07T18:18:16+00:00 (ts: 1759861096)
  ✗ 误差 / Error (-14秒 / seconds)

[TikTok] 7558516087483010334
  实际时间 / Actual time: 2025-10-07 09:22:54 (ts: 1759854174)
  解码时间 / Decoded time: 2025-10-07T16:22:45+00:00 (ts: 1759854165)
  ✗ 误差 / Error (-9秒 / seconds)

[TikTok] 7558500140869225758
  实际时间 / Actual time: 2025-10-07 08:21:08 (ts: 1759850468)
  解码时间 / Decoded time: 2025-10-07T15:20:52+00:00 (ts: 1759850452)
  ✗ 误差 / Error (-16秒 / seconds)

[TikTok] 7558142881173671199
  实际时间 / Actual time: 2025-10-06 09:15:02 (ts: 1759767302)
  解码时间 / Decoded time: 2025-10-06T16:14:31+00:00 (ts: 1759767271)
  ✗ 误差 / Error (-31秒 / seconds)

[TikTok] 7557835825778560287
  实际时间 / Actual time: 2025-10-05 13:23:19 (ts: 1759695799)
  解码时间 / Decoded time: 2025-10-05T20:22:59+00:00 (ts: 1759695779)
  ✗ 误差 / Error (-20秒 / seconds)

[TikTok] 7556652844523310367
  实际时间 / Actual time: 2025-10-02 08:52:53 (ts: 1759420373)
  解码时间 / Decoded time: 2025-10-02T15:52:25+00:00 (ts: 1759420345)
  ✗ 误差 / Error (-28秒 / seconds)

[TikTok] 7556308975713537311
  实际时间 / Actual time: 2025-10-01 10:38:28 (ts: 1759340308)
  解码时间 / Decoded time: 2025-10-01T17:38:02+00:00 (ts: 1759340282)
  ✗ 误差 / Error (-26秒 / seconds)

[TikTok] 7556036906631318815
  实际时间 / Actual time: 2025-09-30 17:02:28 (ts: 1759276948)
  解码时间 / Decoded time: 2025-10-01T00:02:16+00:00 (ts: 1759276936)
  ✗ 误差 / Error (-12秒 / seconds)

[TikTok] 7556029213594144031
  实际时间 / Actual time: 2025-09-30 16:32:40 (ts: 1759275160)
  解码时间 / Decoded time: 2025-09-30T23:32:25+00:00 (ts: 1759275145)
  ✗ 误差 / Error (-15秒 / seconds)

[TikTok] 7556009541616389407
  实际时间 / Actual time: 2025-09-30 15:16:29 (ts: 1759270589)
  解码时间 / Decoded time: 2025-09-30T22:16:05+00:00 (ts: 1759270565)
  ✗ 误差 / Error (-24秒 / seconds)

[TikTok] 7555940417905134878
  实际时间 / Actual time: 2025-09-30 10:48:20 (ts: 1759254500)
  解码时间 / Decoded time: 2025-09-30T17:47:50+00:00 (ts: 1759254470)
  ✗ 误差 / Error (-30秒 / seconds)

[TikTok] 7555600450024721694
  实际时间 / Actual time: 2025-09-29 12:48:47 (ts: 1759175327)
  解码时间 / Decoded time: 2025-09-29T19:48:35+00:00 (ts: 1759175315)
  ✗ 误差 / Error (-12秒 / seconds)

[TikTok] 7555526907157040414
  实际时间 / Actual time: 2025-09-29 08:03:22 (ts: 1759158202)
  解码时间 / Decoded time: 2025-09-29T15:03:12+00:00 (ts: 1759158192)
  ✗ 误差 / Error (-10秒 / seconds)

[TikTok] 7554123030205713694
  实际时间 / Actual time: 2025-09-25 13:15:39 (ts: 1758831339)
  解码时间 / Decoded time: 2025-09-25T20:15:27+00:00 (ts: 1758831327)
  ✗ 误差 / Error (-12秒 / seconds)

[TikTok] 7554044414469917982
  实际时间 / Actual time: 2025-09-25 08:10:32 (ts: 1758813032)
  解码时间 / Decoded time: 2025-09-25T15:10:23+00:00 (ts: 1758813023)
  ✗ 误差 / Error (-9秒 / seconds)

================================================================================
=== 验证结果统计 / Validation Results Statistics ===
================================================================================

📊 总体准确性 / Overall Accuracy:
  验证总数 / Total validated:     73
  完全匹配 / Exact match:     0 (0.0%)
  接近匹配 / Close match:     19 (26.0%)
  较大误差 / Large error:     54

📈 误差分析 (绝对值) / Error Analysis (Absolute Value):
  平均误差 / Average error:     14.30 秒 / seconds
  最大误差 / Maximum error:     49 秒 / seconds
  最小误差 / Minimum error:     2 秒 / seconds

🇨🇳 抖音平台 / Douyin Platform:
  数量 / Count:         53
  平均误差 / Average error:     -12.98 秒 / seconds
  误差范围 / Error range:     -49 ~ -2 秒 / seconds

🌐 TikTok平台 / TikTok Platform:
  数量 / Count:         20
  平均误差 / Average error:     -17.80 秒 / seconds
  误差范围 / Error range:     -31 ~ -7 秒 / seconds

8) 项目结构

./
├── decode_aweme_id.py          # 🔧 核心脚本(解码/分析/验证)
├── test_validation.py          # ✅ 快速验证脚本
├── aweme_ids_output.json       # 📊 真实样本数据(73条)
├── index.html                  # 🌐 在线解析器(GitHub Pages)
├── screenshots/                # 📸 界面截图
│   ├── Index.png              #    中文界面预览
│   └── Index-EN.png           #    英文界面预览
├── README.md                   # 📖 中文文档
├── README-EN.md                # 📖 English Documentation
└── config.example.toml         # ⚙️  可选配置(校准参数)

可选配置文件

config.example.toml

[calibration]
# 秒级校准参数(基于误差分析)
douyin_offset_seconds = 13
tiktok_offset_seconds = 18

[analysis]
# 分析参数
close_match_threshold = 5  # 接近匹配阈值(秒)

9) 实际应用场景

🎯 数据分析

  • 时间序列研究:无需查询数据库即可按时间范围过滤视频
  • 发布规律分析:识别高峰时段、发布频率
  • 内容时效性:快速判断内容新旧程度

🔍 系统监控

  • 分布式追踪:通过分片ID定位服务器/IDC
  • 性能分析:通过序列号估算QPS、负载均衡效果
  • 异常检测:识别批量上传、爬虫行为

🛡️ 风控与安全

  • 批次识别:相同序列号可能表示批量操作
  • 时间校验:验证ID与业务时间的合理性
  • 去重优化:基于ID结构的高效去重策略

📊 数据采集

  • 增量采集:根据时间戳范围精确控制采集窗口
  • 数据回溯:快速定位特定时间段的内容
  • 采集质量:验证采集数据的时序完整性

10) 常见问题(FAQ)

Q1: 为什么完全匹配率不是100%?

A: 这是正常现象。ID中的时间戳是生成时刻,而API返回的create_time可能是审核通过、内容上线等其他时刻。通常误差在±20秒内。

Q2: 如何提高与create_time的匹配度?

A: 使用第5节的校准方案,添加平台级偏移量:

  • 抖音:+13秒
  • TikTok: +18秒

Q3: 低32位能完全还原吗?

A: 无法从公开信息直接还原真实位宽。建议使用第6节的方法,通过同秒采样和统计分析找出最适合你数据的划分方案。

Q4: 支持哪些时区?

A: 默认展示UTC和洛杉矶时区。可以修改脚本中的LA_TZ变量为任意时区(如Asia/Shanghai)。

Q5: 反向构造的ID能用在生产环境吗?

A: 不能。forge_aweme_like_id()仅用于测试、排序、联调等本地场景,不对应平台真实内容。

Q6: 验证功能需要什么数据?

A: 需要包含aweme_idcreate_timesource字段的JSON文件。格式参考aweme_ids_output.json

Q7: 如何添加自己的测试数据?

A: 将你的数据按照第7节的JSON格式组织,保存为aweme_ids_output.json,然后运行validate_decode_algorithm()


11) 版本信息

信息 内容
版本 v2.1 (2025)
作者 Evil0ctal (Adam)
许可证 MIT License
Python 3.9+
依赖 无外部依赖

12) 更新日志

v2.1 (2025-10)

  • 🌐 新增在线解析器:GitHub Pages 部署,无需安装即可使用
  • 🌍 中英双语支持:自动检测浏览器语言,支持手动切换
  • 📱 响应式设计:完美支持移动设备和桌面端
  • 🎨 深色模式适配:自动适配系统主题偏好
  • 🔍 SEO 优化:添加 Open Graph、Twitter Card、Schema.org 标签
  • 📸 界面截图:添加中英文界面预览图

v2.0 (2025-01)

  • ✨ 新增 validate_decode_algorithm() 自动验证功能
  • ✨ 新增 test_validation.py 快速测试脚本
  • 📊 基于73条真实数据的完整验证报告
  • 📖 重构文档,优化结构和可读性
  • 🌐 新增英文文档 README-EN.md

v1.0 (2024)

  • 🎉 初始版本发布
  • 🔧 基础解码功能
  • 📊 低32位多方案分析
  • 📈 统计分析和可视化

13) 致谢

  • 💙 感谢 TikHub.io 提供的真实样本数据
  • 🙏 感谢开源社区对Snowflake ID算法的研究
  • 🌟 感谢所有贡献者和使用者的反馈

14) 联系方式


⭐ 如果这个项目对你有帮助,请给它一个Star!

Made with ❤️ by Evil0ctal

About

通过位运算从 aweme_id(64位无符号整数)中还原发布时间(秒级),并对低32位进行多维度分析,辅助时间序列研究、分片/QPS推断与风控分析。本工具已使用73条真实数据(抖音53条 / TikTok 20条)进行算法验证。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published