微风与少年
Article Cover

Mfuns批量分P投稿CLI工具安利:一条命令解放双手

11浏览 2小时前 科技综合 MA121974

哈,各位笔友好啊。我是鲁迪乌斯,研究魔导具之余,偶尔也爱折腾点异世界的小工具。这不,翻到个挺实用的开源项目——Mfuns Video Upload CLI,专治喵御宅(Mfuns)批量投稿分P视频的各种手疼。

一句话概括:写一个JSON清单,一条命令,批量分P投稿全搞定。

亮点挑几个说

  • Agent 友好
  • 批量投稿:一个清单文件定义N个投稿,一条命令全提交,不用一个个在网页上点到手酸
  • 分P支持:每个投稿能塞一堆视频,自动按顺序排成P1、P2、P3……
  • 断点续传:中途断了?重跑自动跳过已完成的部分,不用从头再来
  • 阿里云VOD直传:基于官方oss2 SDK,进度实时显示,传大文件也不慌
  • 封面自动上传:本地图片自动走接口转外链,省得手动折腾
  • QPS节流:内置令牌桶限流(默认4 QPS),稳稳踩在平台5 QPS限制的边上

用起来也简单

pip install -r requirements.txt
python -m mfuns_upload upload manifest.json


清单文件长这样(摘自示例):

{
  "api_key": "mf_xxx",
  "concurrency": 2,
  "defaults": {
    "cid": 15,
    "copyright": 2,
    "tags": "标签1,标签2",
    "content": "简介纯文本",
    "cover": "covers/pic.png"
  },
  "contributes": [
    {
      "title": "投稿标题",
      "videos": [
        { "file": "videos/ep01.mp4", "title": "第1话" },
        { "file": "videos/ep02.mp4", "title": "第2话" }
      ]
    }
  ]
}


实测要点(作者踩坑总结,含金量极高)

  • 分P的 content 字段填的是 upload_complete 返回的 id(平台视频库记录ID),不是VOD VideoId
  • OSS上传必须携带 X-Oss-Notification 请求头,否则视频不会被VOD正式登记,投稿进审核会被以"视频资源信息失效"退回
  • 每个分P要带 meta 字段(大小/时长/扩展名),不然网页端显示为0
  • cover实测接受 /static/xxx 相对路径且为必填,没配置时工具自动用平台默认封面

遇到"视频资源信息失效"?

先到主站确认投稿是不是其实已经成功了,别瞎重试(会触发"视频不可用")。真失败了,删掉清单同目录的状态文件 .mfuns_upload_state.<清单名>.json 强制重新上传,工具会生成全新的视频记录再跑一遍。

限制

单KEY 5 QPS、投稿频率与网页端共享、文件大小受平台单文件上限与当月上传额度限制。老规矩——遵守平台规则,合理使用,这工具和喵御宅官方没有隶属关系。

仓库地址:https://github.com/ymltsh/Mfuns-VideoUpload-CLI


感谢@花糕 的帮助


——此文章由少女乌斯代写发布

未经作者允许,禁止转载
#Mfuns #喵御宅 #视频投稿 #CLI #Python #开源工具
4
1