世界を動かす技術を、日本語で。

Asciinema CLI 3.0がRustで書き直され、ライブストリーミング機能を追加し、ファイルフォーマットがアップグレードされました

概要

asciinema CLI 3.0が Rustで完全リライト され、パフォーマンスや拡張性が大幅向上。 録画ファイルフォーマットが v3に進化 し、編集や管理が容易に。 ターミナルライブストリーミング 機能が追加され、ローカル・リモート両対応。 ローカル保存が必須 となり、意図しないデータ公開リスクを低減。 セルフホスティング やサーバー連携がより柔軟・安全に。

asciinema CLI 3.0 リリース概要

  • asciinema CLI 3.0 のリリース発表
  • Rustによる完全リライト で、起動速度向上・静的バイナリ化・新機能実現
  • asciinema virtual terminal (Rust製)をCLIに統合
  • インストール容易化 と新機能の基盤強化

asciicast v3 ファイルフォーマット

  • asciicast v3 はv2の課題を解決した新フォーマット
  • イベント間隔(デルタ)方式 でタイミング管理が容易
  • ヘッダー構造の整理、関連情報をグループ化(例:term下に端末情報集約)
  • "x"(exit)イベントタイプ 追加、セッション終了ステータス記録に対応
  • #で行コメント が可能となり、可読性向上
  • asciinema server・player は既にv3対応済み

ターミナルライブストリーミング機能

  • ローカルモード :組み込みHTTPサーバーでLAN内ストリーミング、外部送信なし
    • asciinema player 同梱、ブラウザから直接視聴可能
  • リモートモード :asciinema server経由でURL共有型ストリーミング
  • 両モード同時利用 も可能
  • adaptive buffering機構 でネットワーク遅延に自動対応、滑らかな再生体験
  • サーバー側でライブ配信録画 も可能(asciinema.orgでは現在制限あり)

ローカルファースト設計への転換

  • 録画ファイル名指定が必須 となり、録画→即アップロードの旧仕様を廃止
  • アップロードは明示的なコマンド (asciinema upload <filename>)で実行
  • 意図しない録画公開・情報漏洩リスクの低減
  • セルフホスティング推奨、asciinema.orgはあくまでサンプル兼共有用
  • クラウドサービス回避志向、ローカル運用重視

サーバー連携・セルフホスティング強化

  • 初回利用時にサーバーURL選択プロンプト を表示、意図的な選択を促進
  • 選択内容は今後も保持、設定ファイルや環境変数での切り替えも従来通り可能
  • 非意図的なデータ送信防止、特に開発・検証環境での利便性向上

まとめ・入手方法

  • 3.0は順次各ディストリビューションで利用可能 になる予定
  • GitHubリリースページ からGNU/Linux・macOS用バイナリ配布中
  • ソースビルドもサポート
  • フィードバック歓迎 (メール・Mastodonで受付)

今後の展望と利用者へのメッセージ

  • 新しいワークフローやユースケース の発見をユーザーに期待
  • asciinema.orgのリソース利用制限 は今後調整予定
  • Brightbox によるクラウドサービス提供への謝辞
  • オープンソースコミュニティとの連携 推進

Hackerたちの意見

今までで一番好きなElixirプロジェクトがRustで書かれたんだね。めっちゃ嬉しい!みんなは、秘密やキーみたいな敏感なアイテムのためにコマンド文字列をクレンジング/監視する機能を追加したの?軽量LLMの進化で、今まで以上に簡単になった気がする。

みんなは、秘密やキーみたいな敏感なアイテムのためにコマンド文字列をクレンジング/監視する機能を追加したの?軽量LLMの進化で、今まで以上に簡単になった気がする。これ、冗談だよね?

今までで一番好きなElixirプロジェクトがRustで書かれたんだね。前はPythonで書かれてたよね?

CLIはRustで書き直されたよ。サーバーはまだElixir/Phoenixで、この機能にはぴったりだね。

Asciinemaは、今まで使った中で最高の製品/ツールの一つだよ。認証やアップロードのCLIフローがすごくシンプルで使いやすいし、いくつかのレイヤーを越える必要があるけど、Asciinemaは使ってる時に全然「邪魔にならない」んだよね。

Twitchのストリーマーがストリーミングのために二台のコンピュータを使ってるって聞いたことがある。1台はストリームに映ってるコンピュータで、もう1台はOBSを動かしてHDMIキャプチャーデバイスを使ってるんだ。この新しいAsciinemaのライブストリーミング機能があれば、プログラミングストリーマーの一部はHDMIキャプチャーデバイスを買わずに済むかもしれない。特にターミナルだけで作業する開発者にとってはね。この少数の人たちは、HDMI出力をキャプチャする代わりに、Asciinema 3を使って開発マシンからOBSマシンにターミナルをストリーミングできるようになるんだ。

あなたが説明しているセットアップは、主にビデオエンコーディングを別のPCにオフロードするために使われていると思う。プログラミングストリーマー(グラフィック集中的なゲームをやってない人たち)にはあまり関係ないかもしれないね。

Asciinemaのストリーミングには、パフォーマンスに影響を与えないから、あまり関係ないと思うよ。ゲームストリーミングのための2台のデバイスのセットアップは、x264エンコーディングの重いCPU使用量から生まれたものだから。ゲーム専用のPCを持って、ストリーミングPCがエンコーディングの負荷を引き受けるってわけ。でも、最近は多くの人がGPUを使ってエンコーディングできるようになったから(Nvidia NVENC)、ほとんどオーバーヘッドがなくて、同じか少し劣る品質を提供してるんだ。OBSのx264は、YouTube動画のためのオフライン録画にだけ使うべきだね。

Twitchのストリーマーがそうするのは、GPU集中的な作業(ビデオゲーム)をストリーミングソフトとGPUリソースを競わせないためだよ。それに、ゲームによるドライバーのクラッシュがストリームをクラッシュさせるのを防ぐためでもあるんだ。

Asciinemaは最高だね。TerminalTextEffectsのデモを全部キャプチャするのに使ってるよ。彼らのAsciinema GIF Generatorツール(AGG)は、asciicastファイルを処理して高品質なターミナル録画GIFを作ってくれるんだ。これがREADMEやドキュメントで共有できる短いターミナル録画を作るためのベストな方法だと思う。生のファイル出力やtermsvgタイプのソリューションは、TTEには合わないんだ。stdoutに書き込まれるデータ量が膨大だからね。

これ、めっちゃ美しいね!使い道があるかはわからないけど、すごく気に入ったし、これからも続けてほしいな。見てると魅了されるし、美しい。TTEは昔のCompizウィンドウマネージャーを思い出させる。あれのおかげでWindowsを捨ててLinuxにしたんだ、ターミナル以外はね。tmuxやvimにTTEみたいなものをスクリーンセーバーとして追加することはできる?たまにトリガーされるような感じで。パイプするの?エイリアス作るの?普段はどう使ってるの?最初に書いたときの意図は何だったの?今は何に使ってるの?頑張ってね!

t-recは素晴らしいツールで、どんなウィンドウでも録画して動画やGIFを作れるんだよね。ちょっと違うけど、ターミナルのGIFをシェアしたいときはこれが簡単だと思う。

Hacker Newsで議論の続きを見る