ManimGL 是 3Blue1Brown 原版的代码驱动动画引擎,用于制作讲解数学概念的视频。
YusufB5/ASCILINE
将视频转换为 ASCII 或像素块画面,并通过 WebSocket 实时推送到 HTML5 Canvas 播放的渲染引擎。
- Star
- 2,772
- Fork
- 315
- 未关闭 Issue
- 1
- 最近提交
- 2小时前
这是什么?
ASCILINE 可以把视频转换为文本风格的画面。后端基于 FastAPI,用 OpenCV 解码视频,把每个像素映射为 ASCII 字符或彩色方块,再通过 WebSocket 以二进制数据推送给前端。前端使用原生 JavaScript 将画面绘制到 HTML5 Canvas 上,浏览器无需解码视频编码,也不依赖 <video> 标签。
除了实时推流,项目还可以把视频编译为独立的 .ascf 文件,部署到 GitHub Pages 等静态站点即可播放。编译方式包括 Python 编译器和浏览器端 Studio。项目还提供 asciline-player JavaScript SDK,以及可选的 Rust 引擎,用于提升像素模式的帧率。
项目支持 Windows、macOS 和 Linux,提供从黑白到 1600 万色的多种颜色模式,并附带用于流媒体服务器的 Docker 配置。
核心功能
- 01通过 WebSocket 将 ASCII 或彩色像素块画面推送到浏览器 Canvas。
- 02将视频编译为可独立部署的 .ascf 文件,适合静态站点托管。
- 03提供 JavaScript SDK,包含类接口和 <ascf-player> HTML 元素。
- 04支持从黑白到 1600 万色的多种颜色模式。
- 05可选安装 yt-dlp 后支持 YouTube 和网址输入,并支持文件夹与 JSON 播放列表。
适用场景
- 在网站中嵌入文字风格的视频效果,无需传统视频播放器。
- 在无 GPU 解码或网络带宽受限的设备上播放视频。
- 将预编译的视频片段部署在无后端的静态站点上。
- 制作复古终端风格或排版化的视觉作品。
快速上手
- 1
按照 README 的安装部分安装 Python 依赖
- 2
用视频文件启动实时流媒体服务器
python stream_server.py video.mp4 --host 0.0.0.0
使用前须知
- 引擎采用 AGPL v3 许可证,具有 copyleft 义务;JavaScript SDK 采用 MIT 许可证。
- 可选的 Rust 引擎及其实时像素 DCT 处于预览阶段,仅在 Windows 上测试过。
- 需要 Python 3.9 或更高版本。
标签
常见问题
- ASCILINE 是什么?
- 将视频转换为 ASCII 或像素块画面,并通过 WebSocket 实时推送到 HTML5 Canvas 播放的渲染引擎。 ASCILINE 可以把视频转换为文本风格的画面。后端基于 FastAPI,用 OpenCV 解码视频,把每个像素映射为 ASCII 字符或彩色方块,再通过 WebSocket 以二进制数据推送给前端。前端使用原生 JavaScript 将画面绘制到 HTML5 Canvas 上,浏览器无需解码视频编码,也不依赖 <video> 标签。
- ASCILINE 可以免费使用吗?用的什么许可证?
- ASCILINE 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- ASCILINE 还在维护吗?
- 活跃维护中。ASCILINE 最近一次提交是在 2026年10月19日。
- ASCILINE 适合用来做什么?
- 在网站中嵌入文字风格的视频效果,无需传统视频播放器。 在无 GPU 解码或网络带宽受限的设备上播放视频。 将预编译的视频片段部署在无后端的静态站点上。 制作复古终端风格或排版化的视觉作品。
- ASCILINE 怎么安装和运行?
- 按照 README 的安装部分安装 Python 依赖 用视频文件启动实时流媒体服务器: python stream_server.py video.mp4 --host 0.0.0.0
- 在哪里获取 ASCILINE?
- 源代码和安装说明在 GitHub 上:https://github.com/YusufB5/ASCILINE
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
将白板风格图片渲染为手绘书写动画 MP4 的命令行工具与 Python 库,可按配音节奏调整绘制速度。
一个无依赖的小型 JavaScript 库,通过 HTML 属性让任意元素发起 AJAX、WebSocket 和 SSE 请求。
在浏览器中一次性渲染任意城市的全部道路,生成地图风格的可视化图像,数据来自 OpenStreetMap。
Python 库,用原生 WebView 在桌面窗口中展示 HTML、CSS 和 JavaScript 界面。
一份整理了公开与付费实时数据源的清单,涵盖金融、交通、天气、新闻与网络安全等领域。