Pictor

皮克托媒体托管

本站用于上传、预览和分享图片与视频。图片可以通过 URL 灵活转换;视频使用 Cloudflare Stream 与 DASH 分段播放,并根据用户网络自动选择清晰度。

本站说明

皮克托基于 Pagekiln 二次开发,前端页面由 Pagekiln 生成,上传、公开列表、管理、图片代理和视频代理由 /backend 中的 Cloudflare Pages Functions 处理。

图片和视频的分享地址都会优先使用本站代理 URL。这样浏览器不会直接拿到 Cloudflare Images 或 Cloudflare Stream 的源站地址,代理响应再交给 Cloudflare CDN 缓存,减少重复回源。非公开上传不会出现在公开列表中,但拿到 URL 的访问者仍可打开对应素材。

备份与可用性

本站支持匿名上传图片和视频,但不承诺 SLA,也不保证永久保存。请务必保留源文件或其他备份;公开链接适合分享、预览和嵌入,不应作为唯一归档来源。

插入图片

上传图片后,首页、上传结果和管理页会提供可复制的图片地址。图片使用:

/i/<image_id>/<variant>.<ext>

最常用的是默认公开图:

/i/3338b17d-a1ff-4135-8954-c2440615dd00/public.jpg

Markdown 中可以这样插入:

![图片说明](/i/3338b17d-a1ff-4135-8954-c2440615dd00/public.jpg)

HTML 中可以这样插入:

<img src="../../i/3338b17d-a1ff-4135-8954-c2440615dd00/public.jpg" alt="图片说明">

通过 URL 转换图片

<variant> 可以使用默认的 public,也可以写入 Cloudflare Images flexible variant 参数。多个参数用英文逗号连接,末尾的 .ext 让链接更像静态文件,实际转换由 variant 参数决定。

/i/3338b17d-a1ff-4135-8954-c2440615dd00/w=1200,quality=80,format=webp.webp

常用参数:

如果不确定该怎么选,正文大图建议使用 w=1600,quality=82,format=webp;卡片缩略图建议使用 w=720,quality=75,format=webp

插入视频

上传视频后,本站会提供视频播放器地址。视频使用:

/v/<stream_uid>/iframe

在网页中建议用 iframe 插入播放器:

<iframe
  src="../../v/<stream_uid>/iframe"
  title="视频说明"
  loading="lazy"
  allow="accelerometer; gyroscope; autoplay; encrypted-media; picture-in-picture"
  allowfullscreen></iframe>

视频封面和预览图也使用本站代理地址:

/v/<stream_uid>/poster.jpg
/v/<stream_uid>/thumbnail.jpg

视频播放与计费

视频不像图片那样支持任意 URL 尺寸和格式转换。本站视频主要支持上传、封面预览、播放器嵌入和播放历史恢复;实际播放由 Cloudflare Stream 转码后的多清晰度 DASH 流提供。

Cloudflare Stream 按传递分钟数计费,因此播放器不会在未播放时下载完整视频。页面会先展示封面和时长;用户开始播放后,播放器再请求 DASH 清单、初始化段和后续分段。播放到哪里,通常就只加载到哪里。基于同样原因,本站不提供视频下载按钮。

DASH 会根据用户网络、设备和缓冲情况自动选择 240P、360P、720P、1080P 或原画等可用清晰度。用户也可以在播放器中手动选择清晰度;选择自动时,播放器会尽量在流畅和清晰之间平衡。