FEAT:✨ 「Term Video CLI」
Asciiアニメーション ターミナル描画ツール
FEAT:✨ 「Term Video CLI」
TermVideoCli
- TermVideoCli は任意の動画ファイルを読み込み,ターミナルへ Ascii アニメーション表示することのできる CLI です.
Youtube demo
Tech Info
- 開発期間: 4 日
- 言語: Rust
| Crate | Version |
|---|---|
| image | 0.25.1 |
| term_size | 0.3.2 |
| tokio | 1.37.0 |
| FFmpeg | 4.4.2 |
| clap | 4.5.4 |
機能
- Youtube から動画をダウンロードし,ファイルを読み込む.
- FFmpeg を使用し,動画を画像フレーム&&グレースケール変換・ターミナルサイズに合わせ画像をリサイズする.
- フレームの明度ごとに文字を割り当て,繰り返し処理を使用してターミナルに表示する.
実装にあたってつまずいた部分
FFmpeg の Rust 用 Wrapper Crate を使用しようと思ったのですが,Build にそもそも失敗し, 結局,うまくいかなかったため Command::new で子プロセスとして FFmpeg を実行する方法に切り替えました.
再生中に,ノイズのようなものが表示されるのを解決できませんでした.
別の実装方法を考慮すべき点
24FPS 処理のため,3 分 40 秒の動画で 220s*24f で 5200 枚程度の画像が生成される事になり, ターミナルサイズが大きいほど解像度が高くなるため,綺麗に描画したい場合は,より容量が必要になります.
Status
completed
History
- 2025/05/07: rusty_ytdl を依存関係から削除し,Youtube のダウンロード機能を廃止(-u オプション)
This post is licensed under CC BY 4.0 by the author.
