🎬

ターミナルで動画を再生するコマンドラインツール「moview」の紹介

2024/11/05に公開

ターミナル上で動画を再生できるコマンドラインツールをつくりました。
なぜなら動画はターミナル上で再生できた方がいいので。


こういうの

https://github.com/koki-develop/moview

前提条件

moview は事前に FFmpeg がインストールされている必要があります。

https://ffmpeg.org

例えば Homebrew を使用している場合は brew install でインストールすることができます。

$ brew install ffmpeg

その他のインストール方法については FFmpeg のドキュメントをご参照ください。

インストール

Homebrew を使用している場合は brew install でインストールすることができます。

$ brew install koki-develop/tap/moview

また、 moview は Go で作られているので go install でもインストールすることができます。

$ go install github.com/koki-develop/moview@latest

もしくは Releases ページからバイナリをダウンロードしてください。

使い方

$ moview --help
Play video in terminal.

Usage:
  moview FILE [flags]

Flags:
      --auto-play     auto play video
      --auto-repeat   auto repeat video
  -h, --help          help for moview
  -v, --version       version for moview

moview コマンドに動画ファイルのパスを指定すると再生が開始されます。
動画フォーマットは FFmpeg でサポートされているものであれば問題ありません。

$ moview ./path/to/video.mp4

再生中の操作方法は以下の通りです。

キー 機能
Space or Enter 再生 / 一時停止
or 再生位置の前後移動
Ctrl+c or Esc 終了

仕組み

FFmpeg で動画を 1 フレームごとの画像に切り出したあと、それらを 1 枚ずつ ASCII 文字列に変換しているだけです。
画像の ASCII 文字列への変換には qeesung/image2ascii を使用しています。

https://github.com/qeesung/image2ascii

その他

moview では以下のパッケージやツールを使用しています。

この辺りは以前公開した次の記事で簡単に紹介しているので、こちらをご参照ください。

https://zenn.dev/kou_pg_0131/articles/go-cli-packages
https://zenn.dev/kou_pg_0131/articles/goreleaser-usage

まとめ

https://x.com/koki_develop/status/1853401088222720145

Discussion