视频转 ASCII 字符动画 把视频帧序列转成 ASCII 字符,按原帧率连续播放,输出 HTML / GIF / MP4 / asciicast 多种格式。本地处理不上传视频。仅 PC 端使用。
处理流程:
<video> 或 ffmpeg.wasm 拆帧)输出格式选择:
| 格式 | 体积 | 兼容 | 用途 |
|---|---|---|---|
| HTML 自包含 | 中 | 浏览器 | 双击打开即看 |
| GIF | 大 | 全平台 | 微信 / Slack 分享 |
| MP4 | 最大 | 全平台 | 通用视频 |
| asciicast | 极小 | 需播放器 | 终端播放 |
性能提示:
适合的内容类型:人物剪影、动漫、Logo 动画、黑白电影、技术 demo 录屏。不适合:风景片、人脸特写、高色彩饱和度的画面。
把视频按帧拆出,每帧用图片转 ASCII 算法(亮度映射到字符)转换,再按原帧率连续播放。核心组件——(1) 视频解码:用浏览器 `<video>` 或 ffmpeg.wasm 拆帧;(2) 帧转 ASCII:每个像素亮度映射到字符;(3) 字符渲染:HTML 等宽字体或 Canvas 绘制;(4) 帧间同步:按原 FPS 重播。
浏览器端比较吃力——1080p 30fps 视频实时转 ASCII 需大量 CPU;本工具默认降采样到 80×40 字符 + 15-24 FPS,多数设备能流畅。性能优化:降低字符密度、降低 FPS、用 Web Worker 异步、转完离线播放(不实时)。专业方案:jp2a / asciinema / hasciinema 等命令行工具,效率更高但要本地装。
本工具支持浏览器原生 `<video>` 能解码的格式——MP4 (H.264/H.265)、WebM (VP8/VP9/AV1)、OGG (Theora)。不支持:MOV、MKV 等容器(除非浏览器内置),需先转 MP4。iOS Safari 支持范围比 Chrome 窄,HEVC (H.265) 在 iOS 14+ 才广泛支持。
本工具支持几种格式——HTML 自包含(带 JS 播放器,浏览器双击打开)、GIF / MP4(重新渲染成视频)、字符流 JSON / asciicast(asciinema 格式,可在终端播放)。最实用:HTML 自包含 + GIF。MP4 最大但兼容好,asciicast 最小但需要专门播放器。
适合:高对比、简洁主体(人物剪影、动漫、Logo 动画、黑白电影);不适合:高细节风景、彩色画面、低对比夜景、人脸特写。预处理建议——(1) 视频先调高对比度、降饱和度(变灰度);(2) 缩小分辨率(720p → 480p 处理更快);(3) 缩短时长(30 秒以内最适合分享)。
字符流形式(asciicast 等)极小——10 秒 ASCII 视频 < 100 KB,远小于原视频(同时长 MP4 约 5-20 MB)。渲染回视频 后回到正常视频体积。所以 ASCII 视频在"传输和存储" 上有理论优势,但实际播放体验和原视频差距大。