ASCILINE 是视频领域的开源项目,由 YusufB5 开发,是 2026 年新上线的项目。
在全站 13,997 个收录项目中,它的 GitHub 星标数(2,760)位列前 30%,在视频分类的 528 个项目里位列前 9%。
项目目前处于活跃维护状态,最近一次代码更新于 2026-10-08。
它主要面向的使用场景是:终端风格网站或个人主页的动态字符背景。同类可对比的替代方案包括 ascii-video、video-to-ascii。

把视频实时变成字符画,网页 30 帧流畅播放
ASCILINE 是一个把视频实时转换成 ASCII 字符画的高性能渲染引擎,专为在网页上低延迟播放而设计。它解决了传统 ASCII 视频生成速度慢、难以实时串流的问题:通过 WebSocket 二进制流把服务端渲染的字符帧推送到浏览器,在 HTML5 Canvas 上以 30 FPS 稳定播放,同时提供一个隔离的编译器,可在无服务器环境下把视频预编译成静态 ASCII 动画,方便部署到静态站点。核心能力包括实时二进制流传输、独立编译流程、Canvas 高效绘制以及面向低延迟场景的帧调度。项目用 JavaScript 编写,适合做终端风格视觉、复古字符动画、直播弹幕式字符渲染等创意场景,既能在服务端实时生成,也能离线批量产出静态结果。
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
—
1获取项目代码
把仓库克隆到本地并进入项目根目录,后续所有命令都在该目录下执行,目录内含 stream_server.py 等脚本。
git clone https://github.com/YusufB5/ASCILINE.git
cd ASCILINE2安装 Python 依赖
依赖定义在 pyproject.toml,直接安装当前目录即可;也可手工安装等价依赖列表。服务器/无显示器环境建议用 headless 版 OpenCV。
pip install .3准备视频素材
把 .mp4/.mkv 等视频放进项目下的 videos/ 目录(文件夹模式),或记下单文件路径稍后直接传给脚本。
4启动 Web 流服务器
单文件模式渲染并推流,--cols 控制字符网格列数;启动后保持终端窗口不要关闭。
python stream_server.py video.mp4 --cols 2405或用文件夹/播放列表模式
文件夹模式按文件系统顺序播放 videos/ 里的所有视频,加 --loop 循环;也可用 playlist.json 做逐视频覆盖。
python stream_server.py --folder videos --cols 200
python stream_server.py --playlist playlist.json --cols 220 --loop6浏览器观看
打开本地地址即可看到 Canvas 上的 ASCII 视频画面,服务端通过 WebSocket 二进制流按帧推送。
7Docker 一键部署(可选)
compose 会构建镜像并默认以文件夹模式启动服务,把宿主机 ./videos 挂载到容器 /app/videos,无需重建即可新增视频。
docker compose up --build8纯命令行播放或前端库(可选)
可在 ANSI 终端里直接播放;做网页集成时则安装 asciline-player,或直接引用 CDN 模块脚本。
python ascii_video_player2.py video.mp4 --cols 100 --quality 0
npm install asciline-player| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
videos/ 目录 | 是 | 存放待播放视频,Docker 下挂载到 /app/videos | ./videos/video.mp4 |
playlist.json | 否 | 播放队列与逐视频覆盖配置 | playlist.json |
--cols | 否 | ASCII 字符网格列数,越大越精细、开销越高 | 240 |
--loop | 否 | 播放结束后循环重播队列 | --loop |
--cache-limit | 否 | YouTube 下载缓存的 LRU 上限,单位 MB,默认 10240 | 5000 |
--host / --port | 否 | 服务监听地址与端口,Docker 默认 0.0.0.0:8000 | --host 0.0.0.0 --port 8000 |
浏览器访问 http://localhost:8000,能看到 ASCII 字符画面流畅播放(约 30 FPS)即启动成功;Docker 方式同样是该地址。
Q:不想装 Python,能不能直接用?
A:可以。用浏览器 Studio(https://yusufb5.github.io/ASCILINE/static_player/studio/)在本地完成视频到 .ascf 的编译,无需 Python,文件不会离开浏览器。
Q:Docker 里能播放 YouTube 链接吗?
A:默认不行。镜像只安装 requirements.txt,不含 yt-dlp;需在 Dockerfile 构建前加 RUN pip install ".[ytdlp]"(或 pip install yt-dlp)后重新构建。
Q:本地播放本地文件需要 yt-dlp 吗?
A:不需要。yt-dlp 只在传入 URL/YouTube 播放时才需要,装 pip install ".[ytdlp]" 即可;URL 播放还会用到 FFmpeg 做归一化。
Q:服务器或容器里装 OpenCV 报错怎么办?
A:换用 opencv-python-headless,它是 opencv-python 的轻量替代,避免拉入用不到的 GUI 依赖,Docker 镜像构建时也做了这个替换。
Q:下载的视频会一直占磁盘吗?
A:不会。YouTube 下载按视频 ID 缓存在 videos/,内置 LRU 上限,可用 --cache-limit 5000 把缓存上限设为 5 GB(默认 10240 MB)。
ascii-video、video-to-ascii
ASCILINE 是视频领域的开源项目,由 YusufB5 开发,是 2026 年新上线的项目。
在全站 13,997 个收录项目中,它的 GitHub 星标数(2,760)位列前 30%,在视频分类的 528 个项目里位列前 9%。
项目目前处于活跃维护状态,最近一次代码更新于 2026-10-08。
它主要面向的使用场景是:终端风格网站或个人主页的动态字符背景。同类可对比的替代方案包括 ascii-video、video-to-ascii。
MoneyPrinterTurbo
开源
输入一句话,高清短视频自动出炉,文案配音全包了
利用 AI 大模型和自动化工作流,根据主题或关键词一键生成高清短视频。Generate HD short ···
openscreen
开源
免费无水印录屏做演示,替代 Screen Studio
Record your screen, ship a demo. Free and open-source, GPU-accelerated, no watermark···
seedance-2.0-api
开源
快速上手字节Seedance 2.0,文本/图片一键生成视频
Seedance 2.0 API — text-to-video and image-to-video examples
auto-subs
开源
在剪辑软件里直接生成字幕,省去导出导入的麻烦
On-device subtitle generation that connects directly to DaVinci Resolve, Premiere, a···