微博HTML5版无独立发视频入口,需通过weibo.com或App发布;上传须满足格式(仅mp4/mov)、分辨率(480×270~3840×2160)、时长(普通用户10分钟)、大小(建议≤500MB)、编码(H.264+AAC)及moov atom前置等硬性条件。

微博 HTML5 版本不提供独立的“发视频”入口,所有视频发布行为都必须通过微博官方网页(weibo.com)或 App 完成;所谓“HTML5 版发视频”,实际是指在桌面浏览器访问 weibo.com 时,前端使用 HTML5 技术实现的上传流程——它不是你手动写 HTML5 页面去调用微博接口,也没有开放给普通用户自建表单上传。
为什么直接在浏览器里点“上传视频”没反应?
常见现象:打开 weibo.com,点击「发布」→「上传视频」,按钮灰掉、无响应、或弹出“不支持该格式”提示。
- 浏览器不兼容:仅支持 Chrome 80+、Edge 88+、Firefox 78+;Safari 在 macOS 上部分功能受限(尤其拖拽上传)
- 未登录或登录态异常:必须用主账号完整登录(不能是游客或扫码临时态),且需通过手机验证(部分老账号需补全实名)
- 页面被广告拦截插件干扰:
upload.weibo.com域名常被误拦,建议临时禁用 uBlock Origin / AdGuard - 网络策略限制:企业内网/校园网可能屏蔽
video.weibo.com或upload.weibo.com的 POST 接口
视频上传大小和格式具体要求(2024 实测)
微博网页端对视频有硬性校验,上传前必须满足以下全部条件,否则直接拒绝:
-
格式:仅接受
.mp4和.mov;.avi、.mkv、.flv等一律不识别(即使转码为 H.264 编码也不行) -
分辨率:最低
480×270,最高3840×2160(4K),但超出1920×1080时会被自动下采样 -
时长:普通用户上限
10 分钟;认证用户(蓝V/黄V)可发30 分钟;超过则上传中断并提示“视频过长” -
文件大小:网页端直传上限
2 GB;但实际受浏览器内存限制,建议控制在500 MB以内,否则易卡在“正在上传中…” -
编码要求:视频流必须为
H.264(AVC),音频流必须为AAC;用 FFmpeg 检查命令:ffprobe -v quiet -show_entries stream=codec_name,width,height,duration -of default video.mp4
上传失败常见报错及对应解法
遇到错误不要重试三次再放弃,先看提示文字里的关键词:
立即学习“前端免费学习笔记(深入)”;
-
“上传失败:文件损坏”→ 视频末尾帧不完整,用ffmpeg -i in.mp4 -c copy -avoid_negative_ts make_zero out.mp4修复 -
“不支持的视频格式”→ 不是后缀问题,而是容器或编码不符;用 HandBrake 导出预设选「Fast 1080p30」即可兼容 -
“网络错误,请稍后重试”→ 大概率是 DNS 污染或 CDN 节点异常;尝试切换 DNS 为114.114.114.114或开代理(注意微博会检测代理特征) -
“上传超时”→ 浏览器 tab 被休眠(Chrome 88+ 默认启用),保持页面激活状态,或改用 Edge 并关闭「节省资源」设置
真正麻烦的不是格式或大小,而是微博服务端对 MP4 文件的 moov atom 位置有强依赖——必须在文件开头。很多剪辑软件(如 Premiere)默认把 moov 放末尾,导致上传卡在 99%。用 ffmpeg -i in.mp4 -c copy -movflags +faststart out.mp4 重写索引即可解决,这一步被 90% 的教程忽略。










