GTX690战术核显卡导弹 - 静态媒体库
type: channel
link: https://www.nekopara.uk/tag/%E9%9D%99%E6%80%81%E5%AA%92%E4%BD%93%E5%BA%93/
items: MediaPages：一键在Cloudflare Pages存放媒体库

MediaPages：一键在Cloudflare Pages存放媒体库
type: item
date: 2026-03-11T22:34:00+08:00
description: 利用Cloudflare Pages搭建媒体库实战前段时间极客湾因为公开揭露手机厂商的龌龊行径——媒体特调机内幕，导致其视频被全网下架。随后极客湾开放视频转载权限，全网随即上演了补档大战，来表达对厂商捂嘴的不满。我也是拿到了极客湾的视频原文件，看了一眼，好家伙，8.4GB，还是4K 60FPS的视频，这要分享还有点费流量。在平常的一次去吃午饭的路上，我走在校园的道路上，突然灵光一闪：如果我能把这个视频放到Cloudflare Pages，岂不美哉？！但是，我突然想起来了Cloudflare Pages免费版的限制：25MB单文件大小——这几乎无法放大型的视频。不过，有一句诗说得好：“山穷水尽疑无路，柳暗花明又一村。”那既然限制文件大小，那我把视频文件切开，每一个块符合大小限制，不就行了吗？！而免费版的Cloudflare Pages单个项目文件数量限制为20000个，也就是理论上可以放20000x25MB=5000000MB，也就是大约488GB——这已经比一个500G机械硬盘的实际可用空间465GB还大了！最重要的是，Cloudflare并不限制项目数量，理论上对于个人来说约等于无限容量了！说干就干，我随即开始了理论的验证。验证想法可行性通过查阅资料，我了解到现代的浏览器可以利用hls.js实现对切分后视频的播放，目前早就有了成熟的方案，且各种视频平台就在用。需要的视频形态是一个.m3u8的视频索引文件，外加一大堆视频切割的碎片.ts文件，而把普通的视频转成这样的工作，ffmpeg就能干！这下不就把技术路线跑通了嘛，赶紧验证一下想法：ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i 零售机_游戏性能大横评_2026.mp4 \ -c:v h264_nvenc -preset p6 -profile:v high -level:v 5.2 \ -rc vbr -b:v 18M -maxrate 24M -bufsize 36M \ -g 180 -keyint_min 180 -sc_threshold 0 \ -c:a aac -b:a 192k \ -hls_time 3 -hls_playlist_type vod -hls_segment_filename "chunk_%04d.ts" \ video-0.m3u8通过调整每个块的时间，确保每个块都不超过25MB，符合Cloudflare Pages的文件大小限制。然后再写一个html用于播放： 极客湾-手机2026游戏性能大横评（补档）4K 60FPS 准备加载视频... 把转化后的视频碎片放到html同目录下的video-data文件夹，本地启动Nginx设定好网站目录，浏览器打开，果然可以正常播放。这下就好玩了！这里还有极客湾的测试视频，也是我方案验证阶段的效果，可以去看看：极客湾-手机2026游戏性能大横评（补档）4K 60FPS重要提醒需要注意的是，执行下面的程序之前，需要把你的Cloudflare账户的ID和令牌导入到命令行环境中，例如：export CLOUDFLARE_API_TOKEN="www.nekopara.uk" export CLOUDFLARE_ACCOUNT_ID="www.nekopara.uk"请替换为你自己的真实 Token 和 Account ID。其中创建API Token时，正确的选择权限选项是：账户 > Cloudflare Pages > 编辑还有一个最重要的提醒，这些操作其实不是正常的Pages产品使用方式，存在账户封禁或限制使用等风险，请务必使用新创建的独立账号进行操作，以免造成不必要的损失！尝试把成果上传Pages但是，在这一步，我就踩坑了，还是踩了大坑！正当我尝试把转化好的文件夹通过Cloudflare Pages的部署页面上传时，我遇到了大坑：上传大概进行半个小时后，网页疯狂弹出API 403报错。一开始我还以为是网络的问题，开启了魔法网络环境，结果问题依旧。这时我意识到，上传的API应该是有临时Token超时机制的，当文件数量太多，体积太大，上传的时间变长了，就会触发这个问题。似乎这一切无解了？我能做出来符合文件大小限制的静态网页目录，却无法完整上传。但是，在看了Cloudflare的提示后，我发现了一个可能的路径：用wrangler进行部署——这个可以支持上传20000个文件的项目。而网页上传限制为1000个文件。于是乎，我就安装了wrangler进行尝试：因为wrangler需要nodejs环境，我们先安装nodejs:pacman -S nodejs npm然后在安装wrangler，系统级安装命令如下：npm install -g wrangler…