
很多人以为,在 WordPress 里插个视频不就是贴个 iframe 吗?
直到你真正想把 Steam 游戏的官方 Trailer 放进文章里,才会发现事情根本没那么简单。
我自己是做游戏内容站的,评测、推荐、合集文章写得多,Steam 商店页的视频素材几乎是刚需。但现实是:
- Steam 官方 不给 iframe
- 视频用的是 DASH 分段流
- 直接贴链接,前端根本播不了
- 就算能播,也全是黑边、比例错乱、移动端灾难
折腾了一圈后,我放弃找现成方案,自己写了一个插件。
为什么要“自己写”,而不是找现成的?
说实话,市面上插件不少,但问题很统一:
- ❌ 要么只支持 YouTube
- ❌ 要么强行第三方转码(不稳定、慢)
- ❌ 要么代码又老又重,WordPress 更新一次就炸
- ❌ Steam 视频?基本没人认真支持
而 Steam 官方 Trailer 的现实是:
- 视频真实存在
- CDN 公开
- 技术上 完全可以合法播放
- 只是没人把最后那一步封装好
于是我做的事情很简单:
只做“解析 + 播放”,不做下载、不做转存、不碰版权
插件核心思路(不技术也能看懂)
Steam 的视频本质是:
- .m4s 分段文件
- 对应一个 .mpd 描述文件
- 用 DASH 播放器即可正常播放
插件做的事情只有三件:
- 用户粘贴 Steam .m4s 地址
- 自动转换为官方 dash_h264.mpd
- 前端用 dash.js 播放,保持 16:9 自适应
不破解、不反代、不走歪路。
我这个插件能干什么?
目前支持三类视频源:
- Steam 官方 Trailer(DASH)
- YouTube
- Bilibili
使用方式也尽量克制:
- 经典编辑器:一个按钮
- 新编辑器:一个 Block
- 老用户:短代码 [steam_dash url="..."]
不绑账号、不引导注册、不搞云服务。
为什么坚持“自用级”标准?
这个插件一开始就不是为了“卖”。
它是我自己站点在用的,所以我在意的是:
- 是否 长期可维护
- 是否 WordPress 更新后不炸
- 是否 审核能过
- 是否 代码干净、没坑
为此我做了不少“看起来没必要,但很重要”的事:
- 所有输出严格转义
- 不加载多余脚本
- 仅在需要时 enqueue dash.js
- Gutenberg 不做预览,只插短代码(防止编辑器卡死)
- 完整国际化,随时可翻译
关于 dash.js 文件“大不大”的问题
很多人第一反应是:
“dash.all.min.js 接近 1MB,会不会有问题?”
答案是:不会,只要你用得干净。
- 它是官方开源播放器
- 没有远程请求、没有统计
- 只在 Steam 视频出现时加载
- 不影响后台、不影响其他页面
相比引第三方 CDN,这种方式反而更稳定、也更好审查。
插件目前的定位
我给它的定位一直很明确:
- ✔ 站长自用
- ✔ 内容型网站
- ✔ 游戏 / 评测 / Steam 相关博客
- ❌ 不适合“搬运站”
- ❌ 不适合做下载站
- ❌ 不适合批量采集
如果你只是想在文章里好好放一个官方视频,那它刚刚好。
GitHub 地址(源码 & 下载)
插件源码我已经全部放在 GitHub,
代码、提交记录、说明都在:
https://github.com/719729765/Steam-DASH-trailer
你可以:
- 自己打包用
- 按需改代码
- Fork 做二次开发
最后说一句实话
这个插件没有“颠覆性创新”。
它只是把一个明明可以正常做的事情,
用一个相对正确、干净、不作妖的方式实现了。
对我来说,这就够了。
如果你也刚好遇到 Steam 视频嵌入的问题,
那它可能也刚好能帮到你。