Composer 不能发布短视频到抖音/小红书/B站,因其仅负责依赖管理:解析 composer.json、下载包、写入 vendor 目录、注册自动加载,不处理视频编码、平台接口调用或文件上传逻辑。

Composer 没有“发布平台”概念,也不适配短视频平台格式——它不是内容分发工具,更不处理视频编码、分辨率、帧率或平台上传逻辑。所谓“Composer 发布到抖音/小红书/B站”,本质是混淆了依赖管理与媒体发布两个完全无关的层。
为什么 composer require 不能把包发到抖音或小红书
Composer 只做三件事:解析 composer.json、下载 ZIP/TAR 包、写入 vendor/ 目录、注册自动加载。它没有 API 密钥管理、不调用抖音开放平台 /video/publish 接口、不生成符合小红书要求的 1080×1350 竖屏 MP4、也不处理 B站要求的封面图上传和标签填写。
- 你看到的“某 PHP SDK 支持抖音上传”,其实是用 Composer 安装了一个封装了 HTTP 请求的包(比如
dy-open-sdk),真正的上传动作由你写的 PHP 脚本触发,而非 Composer 自身 - 如果搜索“Composer 发布短视频”跳出教程,大概率是作者把“用 Composer 装了个 SDK,再用这个 SDK 写脚本上传”简化成了“Composer 发布”
- Composer 的
repositories字段只支持packagist、vcs(Git)、package(静态 ZIP)三种类型,没有short-video-platform这种类型
composer.json 里写 "type": "library" 和短视频平台毫无关系
这个字段只影响 Packagist 的索引行为:设为 library 表示“这是可被其他项目复用的代码包”,设为 project 则 Packagist 通常跳过收录。它不控制输出格式、不决定是否能上传、也不参与任何媒体元数据生成。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 哪怕你把
type改成video-tool或short-video-sdk,Packagist 仍会拒收——因为它只认白名单值:library、metapackage、composer-plugin等 - 短视频平台真正关心的是你上传的文件本身:MP4 是否 H.264 Main Profile、是否含音频流、关键帧间隔是否 ≤250、分辨率是否为 1080×1920(抖音竖屏)或 1280×720(B站横屏)
- 这些参数由 FFmpeg、DaVinci Resolve、或 Python 的
moviepy控制,不是composer.json的职责
想让 PHP 项目对接短视频平台,该怎么做
Composer 只负责把 SDK 拉进来,后续全是你的代码逻辑。以抖音为例,典型流程是:
- 先运行
composer require douyin/open-sdk(假设存在合法包) - 在 PHP 中实例化客户端:
$client = new DouyinClient($access_token); - 构造上传参数:
$params = ['video' => fopen('/tmp/output.mp4', 'r'), 'title' => '测试视频']; - 调用接口:
$client->video()->publish($params); - 注意:
/tmp/output.mp4必须已由其他工具生成并满足抖音规范——Composer 不生成它,也不校验它
最容易被忽略的一点:抖音开放平台要求视频文件必须通过 multipart/form-data 上传,且 video 字段需是二进制流;如果你传的是本地路径字符串,接口直接返回 400,和 Composer 完全无关。

















