Unflick について
UnflickはGUI、CLI、内蔵MCPサーバーを備えたビデオプレーヤーで、ローカル動画やストリーミングURLを扱う人やエージェント向けです。各インターフェースは同じプレーヤーを操作し、再生、文字起こし、クリップ作成、メディア検索に対応します。
主な機能
- 01GUI、CLI、内蔵MCPサーバー
- 02同じ再生インスタンスの操作
- 03ローカルファイルとストリーミングURLの再生
- 04Whisperによるローカル字幕生成
- 05字幕テキストとメディアライブラリの検索
- 06動画のクリップ作成とSponsorBlock区間のスキップ
活用シーン
- 01MCPクライアントから画面上の再生を操作
- 02字幕内の発話を検索して該当箇所へ移動
- 03動画の字幕をローカルで生成
- 04動画のクリップ作成やメディアライブラリの検索
MCP 対応
`unflick --mcp`でstdio経由のMCPサーバーを起動し、再生、字幕、クリップ作成、字幕テキスト検索などのツールとライブリソースを提供します。MCPサーバー、CLI、GUIは同じプレーヤーインスタンスを操作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
unflick
人間と AI のための、無料・広告なしの動画プレーヤーです。
unflick.app · MIT · クロスプラットフォーム · CLI + MCP を中心に設計
unflick は、動画ファイルや YouTube/Bilibili/Twitch/Vimeo/その他 26 のストリーミングサイトの URL を、美しいネイティブウィンドウで再生します。SponsorBlock を使って YouTube のスポンサーセグメントを自動スキップします。OpenSubtitles で字幕を探し、見つからない場合は whisper.cpp でローカル生成します。
unflick の特徴は、MCP が組み込みの操作インターフェイスであり、サードパーティー製のラッパーではないことです。 ほかのプレーヤーは外部からスクリプトで操作できますが、unflick では CLI、MCP サーバー、ウィンドウが 1 つのプレーヤーインスタンスを共有します。Claude に次のチャプターへスキップするよう頼めば、再生中の動画がスキップされます。同じ mpv、同じ再生で、2 つ目の隠れたプロセスは起動しません。すべての機能は、ボタンが追加される前にヘッドレスで使えるようになります。
インストール
ワンライナーでインストール:
# macOS — Homebrew
brew install --cask zhitongblog/tap/unflick
# macOS / Linux
curl -fsSL https://unflick.app/install.sh | bash
# Windows (PowerShell)
irm https://unflick.app/install.ps1 | iex
または、最新リリース からお使いのプラットフォーム用のインストーラーを選択してください:
| プラットフォーム | ファイル | サイズ |
|---|---|---|
| Windows 10/11(x64) | unflick_<ver>_x64-setup-standard.exe(または .msi) | 約 80 MB |
| Windows 10/11(x64)、Whisper 同梱の AI エディション | unflick-ai_<ver>_x64-setup.exe | 約 150 MB |
| macOS 11 以降(Apple Silicon + Intel、署名・公証済み) | unflick_<ver>_universal.dmg | 約 15 MB |
| Linux x86_64(Debian / Ubuntu) | unflick_<ver>_amd64.deb | 約 10 MB |
| Linux x86_64(Fedora / RHEL / openSUSE) | unflick-<ver>-1.x86_64.rpm | 約 10 MB |
| Linux x86_64(ディストリビューション非依存) | unflick_<ver>_amd64.AppImage | 約 80 MB |
3 つのインターフェイス、1 つのコア
unflick は、同じ再生エンジンを 3 つのインターフェイスから利用できます。
- GUI — libmpv 品質の再生に対応したモダンなプレーヤーウィンドウ。キーボードショートカット、ドラッグ&ドロップ、ピクチャー・イン・ピクチャー、完全な全画面表示、チャプター、ブックマーク、A-B リピート、フレーム送り、字幕のタイミング調整とスタイル設定に対応します。
- CLI — すべての機能をコマンドからも利用できます。
unflick play <file-or-url>、unflick chapter next、unflick bookmark add --name "the good bit"、unflick loop a、unflick subtitle auto、unflick subtitle bilingual on、unflick audio eq preset speech、unflick clip 0 5、unflick library scan。出力は JSON なので、jqに渡して自動化できます。--allow-devを付けて起動すると、unflick dev snapshot/click/evalでプレーヤー自身のウィンドウを操作・読み取りできます。これを使って、unflick は 3 つすべてのプラットフォームでテストされています。 - MCP サーバー —
unflick --mcpで stdio 経由の Model Context Protocol サーバーが起動します。Claude Desktop/Cursor/Codex CLI の MCP 設定に追加すると、AI エージェントは 101 個のツール(play、seek、chapter_seek、bookmark_goto、ab_loop、subtitle_delay、subtitle_bilingual、screenshot、clip、sponsor_segments、get_subtitles、equalizer_preset、generate_subtitles、library_search、…)とライブリソースを利用できます。
Claude Code ユーザーは、スキルと MCP サーバーをまとめて 1 ステップでインストールできます。
/plugin marketplace add zhitongblog/unflick
/plugin install unflick
これにより、7 つのスキル(再生、発話内容による移動、クリップ/GIF、字幕、ライブラリ、スクリーンショット、SponsorBlock)と MCP サーバーがインストールされます。詳しくは marketplace/ をご覧ください。
3 つすべてが同じプレーヤーを操作します。ウィンドウが開いているときは、そのウィンドウが制御ポートをホストするため、ターミナルからの unflick pause でも、MCP 経由でエージェントが呼び出した pause でも、見えない 2 つ目のインスタンスではなく、画面上の動画が一時停止します。ウィンドウが起動していない場合、CLI と MCP はヘッドレスデーモンにフォールバックし、すべての機能を引き続き利用できます。
ラッパーにはできず、エージェントにできること
MCP はプレーヤーに指示するのではなく、プレーヤーと対話するため、エージェントはプレーヤー自身の状態を必要とするツールを利用できます。
search_transcript/seek_to_text— 「彼女が返金ポリシーを説明しているところまでスキップして」。開いている字幕を検索します。読み込んだファイル、サイドカーの.srt、埋め込みトラック、あるいは whisper で生成したばかりの字幕が対象です。generate_chapters/set_chapters— チャプターがないファイルに、実際に使えるチャプターリストを追加します。データが返されるだけではありません。チャプターはプログレスバーに表示され、chapter_seekや PgUp/PgDn に応答します。describe_frame— 現在画面に表示されているフレームを画像としてモデルに渡します。同じプレーヤーを使うため、あなたが見ているものをモデルも確認できます。
規約に基づき、無料、広告なし、ローカルで動作
unflick は、以下を行いません。
- バナー広告、プレロール広告、「スポンサー」広告を掲載する
- いかなる種類のテレメトリーも収集する
- アカウント、ログイン、クラウド接続を必須にする
- 有料プランや試用期間のカウントダウンによって機能を制限する
- インストール時にアドウェア、ブラウザーハイジャッカー、「おすすめ」ソフトウェアを同梱する
重要な処理はすべてお使いのマシン上で実行されます。ライブラリのスキャン、字幕の文字起こし、AI による書き換えは、すべてローカルで行われます。ファイルはファイルシステム内に保管されます。
YouTube の SponsorBlock による自動スキップは、「広告なし」を積極的に実現する機能です。unflick 自身の広告を表示しないだけでなく、unflick が再生するコンテンツ内の広告を積極的にスキップします。
ライセンス
unflick は MIT License のもとで公開されています。詳しくは LICENSE をご覧ください。
unflick は、以下のサードパーティソフトウェアを実行時に同梱、動的に読み込み、または呼び出します。各上流ライセンスは THIRD-PARTY-LICENSES.md に記載されています。また、LGPL/GPL/MPL ライセンスのコンポーネントについては、正規のライセンステキストが各インストーラーの licenses/ ディレクトリに含まれています。
- libmpv — LGPL-2.1-or-later — 実行時に動的に読み込みます(ソース)
- ffmpeg(Windows バンドル)— GPL-3.0-or-later — サブプロセスとしてのみ呼び出します(ソース)
- yt-dlp — Unlicense(パブリックドメイン)— サブプロセスとして呼び出します(ソース)
- whisper.cpp(AI エディション)— MIT — サブプロセスとして呼び出します(ソース)
- Tauri + wry + mpv-player/mpv + glutin + objc2 + 590 以上の Rust クレート — すべて MIT、Apache-2.0、ISC、BSD、MPL-2.0、または Unicode-3.0(詳細)
- React 18、Zustand、Framer Motion、Tailwind、Vite — MIT
完全な帰属表示とコンプライアンスに関する注記(サブプロセス呼び出しと動的リンク、GPL の集約、MPL のファイル単位の適用範囲など)については、THIRD-PARTY-LICENSES.md をご覧ください。
ソースからビルド
git clone https://github.com/zhitongblog/unflick.git
cd unflick
pnpm install
pnpm tauri build
# Windows: ./scripts/fetch-windows-deps.sh fetches libmpv / ffmpeg / yt-dlp / whisper
# bash build-both.sh builds both Standard and AI editions
Rust stable、Node 22、pnpm 10、および Tauri 2 のプラットフォーム別前提条件が必要です(Windows では WebView2、macOS では WKWebView、Linux では webkit2gtk-4.1)。Linux ではシステムの libmpv を読み込むため、まず apt install libmpv-dev を実行してください。macOS には専用のユニバーサル libmpv が同梱されています(macOS で DVD を再生する唯一の方法です。Homebrew の mpv は libdvdnav なしでビルドされているためです)。./scripts/build-mac-libmpv.sh で一度ビルドできます。ディスク以外の再生では、フォールバックとして引き続き brew install mpv を利用できます。
リリースは ./scripts/release.sh <version> で作成します。3 つのプラットフォームのビルド方法と、macOS が CI でビルドされない理由については、scripts/README.md をご覧ください。
謝辞
unflick は、mpv、ffmpeg、yt-dlp、whisper.cpp、Tauri、そして多数の MIT/Apache ライセンスの Rust および JavaScript ライブラリの成果を基盤としています。これらのプロジェクトなしには、実現できませんでした。
unflick.app のウェブサイトと、関連プロジェクトの SoloMD(同じく無料、MIT、MCP を同梱)は、同じ作者によるものです。デザインがお気に召したなら、その出どころはこちらです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。