Skip to content

About

A GPU-accelerated terminal animation player written in Rust

Resources

Stars

5 stars

Watchers

1 watching

Forks

Latest commit

 

History

65 Commits

Folders and files

Repository files navigation

gpu-zhenhaowan

Rust 写的 GPU 加速的终端看动画片工具!

哇,Rust 真是太好玩辣!

使用 CubeCL,把大概一半的算子挪到了集显上跑,这下改装成服务器的小笔记本剩下的最后一块硅片也被用起来了,可喜可贺,物有所值!

能跑 90 fps,真是太酷了!

等有空了把剩下的一半也搬上去,看看能不能直接不要 CPU 了

嘻嘻,大成功,现在只有解码、搬数据和写终端需要 CPU 了

wwwwwwwwwww

ok, 22.11 secs, 706 frames, 1937 dropped, 31.93/119.54 fps

嘻嘻,借助 vaapi 伟力,现在是 120 fps 了

使用方式:

# 播放文件或从现有服务器拉流
cargo run --release -- video.mp4
cargo run --release -- rtmp://127.0.0.1:1935/live/ascii

# 直接监听单路 RTMP 推流,不再经过 Xiu 回拉
cargo run --release -- --listen-rtmp rtmp://0.0.0.0:1935/live/ascii

# 将 FFmpeg 输出限制为保守的 15 FPS,避免渲染任务过载
cargo run --release -- --listen-rtmp --fps 15 rtmp://0.0.0.0:1935/live/ascii

# 使用 Mesa lavapipe 等 Vulkan CPU adapter
cargo run --release -- --software-vulkan video.mp4

OBS 中可将服务器设为 rtmp://主机地址:1935/live,串流密钥设为 ascii。直接监听模式一次接收一路推流;如果还需要多路分发、鉴权或录像,继续使用 Xiu,并让本程序以普通 RTMP URL 拉流。

--fps <FPS> 控制 FFmpeg 输出给程序的帧率。未指定时,本地文件默认使用 24 FPS,RTMP 使用源流帧率。

--software-vulkan 需要系统中存在 Vulkan CPU adapter。Windows 上可使用 Mesa lavapipe;Direct3D 12 WARP 和 SwiftShader 不支持当前 kernel 所需的 8-bit shader/storage 类型。

About

A GPU-accelerated terminal animation player written in Rust

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages