吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 547|回复: 6
上一主题 下一主题
收起左侧

[原创工具] [Python+Lua] 在 mpv 里刷抖音推荐

[复制链接]
跳转到指定楼层
楼主
星峰 发表于 2026-6-20 14:23 回帖奖励
本帖最后由 星峰 于 2026-6-20 14:32 编辑

[Python+Lua] 在 mpv 里刷抖音推荐

前言

用 mpv 看视频是一种享受——轻量、无广告、快捷键自由、超低资源占用。

这个工具把抖音推荐 Feed 完整搬进了 mpv

  • Python 后端直接调用抖音 Web API 获取推荐内容
  • 通过 mpv IPC 协议控制播放,自动选最高画质(支持 H.265)
  • 支持普通视频 + 直播间
  • Lua 脚本极简,只做按键→HTTP 请求转发,零业务逻辑
  • mpv 未运行时自动启动,无需手动操作

整个方案不需要浏览器、不需要油猴脚本,两个文件搞定。

效果

  • 启动服务后自动拉取推荐并播放第一个视频
  • Alt+RIGHT / Alt+j 切下一个,Alt+LEFT / Alt+k 回上一个
  • 视频播完自动切下一个
  • OSD 显示视频标题、作者、画质、队列位置
  • 队列剩 1 个时后台预取下一页,切换无感

架构

┌─────────────────────────────────────────┐
│              mpv 播放器                   │
│  ┌─────────────────────────────────┐    │
│  │  douyin_control.lua (~75行)      │    │
│  │  按键 → curl → HTTP 请求        │    │
│  └────────────┬────────────────────┘    │
│               │ HTTP (fire-and-forget)  │
└───────────────┼─────────────────────────┘
                │
                ▼
┌─────────────────────────────────────────┐
│         douyin_server.py                │
│  ┌──────────┐  ┌───────────────────┐    │
│  │ HTTP 服务 │  │ 抖音 API 客户端    │    │
│  │ :8080    │  │ Feed / 直播间      │    │
│  └────┬─────┘  └────────┬──────────┘    │
│       │                 │               │
│  ┌────┴─────────────────┴──────────┐    │
│  │  mpv IPC 客户端                   │    │
│  │  Unix Socket / Windows Named Pipe│    │
│  │  自动启动 mpv + 轮询就绪          │    │
│  └──────────────────────────────────┘    │
└─────────────────────────────────────────┘

Lua 只是一个"键盘遥控器",所有逻辑在 Python 里:获取 Feed、解析画质、选择最高分辨率、获取直播流、管理预取队列、控制 mpv 播放。

依赖

  • Python 3.10+
  • mpv(需支持 --input-ipc-server--script
  • curl(系统自带,Lua 通过 curl 发 HTTP 请求)
  • aiohttppip install aiohttp

使用方法

打开浏览器,登录 douyin.com,使用 Cookie 导出扩展(如 EditThisCookie、Cookie-Editor)导出抖音 Cookie,保存为 douyin_cookies.json,与 douyin_server.py 放在同一目录。

支持三种格式:

// 格式1: JSON 对象
{ "msToken": "xxx", "ttwid": "xxx", ... }

// 格式2: JSON 数组(EditThisCookie 等扩展导出格式)
[{"name": "msToken", "value": "xxx"}, {"name": "ttwid", "value": "xxx"}]

// 格式3: Netscape 格式(某些导出工具)
# Netscape HTTP Cookie File
.douyin.com        TRUE        /        TRUE        1234567890        msToken        xxx

2. 启动服务

pip install aiohttp
python douyin_server.py

看到以下输出说明启动成功:

  ================================
    抖音推荐服务 (Python + mpv IPC)
  ================================
  HTTP:  http://127.0.0.1:8080
  MPV IPC: /tmp/mpv-douyin
  Cookie: /path/to/douyin_cookies.json

  已加载 42 个 Cookie
  [Feed] +8 个视频 (队列:8 更多:True)
  > 播放: @某作者 - 视频标题...

mpv 会自动启动(服务启动时),无需手动运行。关闭后可手动运行start_mpv.bat

3. 快捷键

按键 功能
Alt+RIGHT / Alt+j 下一个视频
Alt+LEFT / Alt+k 上一个视频
i 显示当前视频信息
Alt+s 服务器状态(队列数、Cookie 状态等)

也可自定义绑定
例如我使用的mpv-lazy在input_uosc.conf里添加:

按键 功能
UP script-binding douyin_prev
DOWN script-binding douyin_next
WHEEL_UP script-binding douyin_prev
WHEEL_DOWN script-binding douyin_next

视频播完会自动切换下一个

4. 手动启动 mpv(可选)

一般不需要,服务会自动启动。如需手动:

mpv.exe --input-ipc-server=\\.\pipe\mpv-douyin --script=douyin_control.lua --idle=yes --force-window=yes

配置项

douyin_server.py 顶部可调整:

PORT = 8080                # HTTP 服务端口
FEED_COUNT = 10            # 每页获取视频数
INCLUDE_LIVE = True        # False 则跳过直播间卡片

功能特性

智能预取

队列剩余 ≤ 1 个视频时,后台自动预取下一页,切换视频时无需等待加载。

HTTP 接口

服务监听 127.0.0.1:8080,提供以下接口(Lua 通过 curl 调用,也可手动调试):

接口 方法 说明
/next GET 下一个视频
/prev GET 上一个视频
/info GET 当前视频信息(OSD 显示)
/status GET 服务器状态
/prefetch GET 手动预取下一页
/cookie POST 更新 Cookie(JSON body)
# 手动测试
curl http://127.0.0.1:8080/next
curl http://127.0.0.1:8080/status

目录结构


已知问题(已满足个人需求所以未处理)

  • 只获取了视频,不包含直播
  • 视频分辨率只有720p
  • 没有评论等信息

下载

打包了exe,也可自行用源码打包,exe执行成功不会有任何提示,直接打开mpv

免责声明

本工具仅供学习交流使用,请勿用于任何商业用途。使用本工具所产生的一切后果由使用者自行承担。

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
sinkfin + 1 + 1 谢谢@Thanks!
ChiZhu + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
绵绵青山 发表于 2026-6-20 15:12
挺有想法的
3#
winwoo 发表于 2026-6-20 15:36
4#
sinkfin 发表于 2026-6-20 16:02
5#
apple3721 发表于 2026-6-20 20:56
好东西~!来源于生活,服务于生活~!
6#
sjxsyy2004 发表于 2026-6-20 21:37
着东东看着不错
7#
mlwnl 发表于 2026-6-20 22:18
mpv,还以为是suv、mpv那个mpv
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-6-21 00:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表