yxxbc/downvid

出典
GitHub
初登場日
分野
メディア
GitHubスター数
669
主な言語
TypeScript
ウェブサイト
downvid-coral.vercel.app (新しいタブで開きます)

外部のオープンソース リポジトリを紹介するページです。HDATFの製品ではありません。

yxxbc/downvid

何をするか

DownVidは、ElectronとVue 3で作られたmacOS、Windows、Linux向けのMITライセンスのデスクトップアプリで、yt-dlp(コマンドラインの動画ダウンロードツール)とFFmpegにグラフィカルな画面をかぶせたものです。yt-dlpが対応するサイトから動画、音声、字幕をコマンドを打たずに保存したい人を対象としています。URLを貼り付けると、アプリが360Pから4Kまでの形式、音声だけのMP3、字幕だけのSRTを一覧にし、ダウンロードは一時停止、再開、再試行、進捗表示、直近100件の履歴を備えたキューで進みます。DouyinとKuaishouのリンクは、まず専用の解析処理に渡されて各サイトのWeb APIを呼び出し、Webプレーヤーが使うストリームのアドレスを取得します。これが失敗すると、PCにインストールされたChromium系ブラウザー(Chrome、Edge、Chromium)をウィンドウなしで動くheadlessモードで起動して試し、最後にyt-dlpに切り替えます。プロジェクトはこの結果を透かしのない動画と紹介しており、今回の調査で読んだコードでは、映像の画面を加工して透かしを消す処理は見つかりませんでした。yt-dlpによるダウンロードは接続ごとの速度制限を避けるためにHTTPリクエストを複数のchunkに分け、高速化の文書はサーバー全体の速度制限、権限、署名、DRMはそのまま適用されると書いています。Goで書かれた補助プログラムがシステムにあるyt-dlpとFFmpegを探すか、バージョンを固定したビルドをSHA-256で確認してダウンロードし、ソースからのビルドにはNode.js 22、pnpm 8、Go 1.24以上が必要です。既定の自動cookieモードでは、yt-dlpを通じてインストール済みのブラウザーのcookieを順に試し、読み取ったcookieをアプリのデータフォルダーにsnapshotファイルとして保存して再利用し、代わりにcookies.txtファイルを手動で指定することもできます。インストーラーにはコード署名の証明書がないため初回起動時にWindows SmartScreenとmacOS Gatekeeperが警告し、既定の設定では起動時にGitHubで更新を確認します。メタデータの解析段階ではyt-dlpのTLS証明書の検査をオフにし、headlessのブラウザーはsandboxをオフにした状態で起動します。READMEは、技術的保護手段を破ったり回避したりするコードはないこと、法律、プラットフォームの規約、著作権を守る責任は利用者にあることを書いており、サイトが変わると抽出が失敗することがあります。

ライセンス

MIT 寛容なライセンスです。著作権表示を残せば商用利用と改変ができます。

同じ分野のリポジトリ

  • SukkaW/Make-Bilibili-Great-Than-Ever-Before
    Make Bilibili Great Than Ever Beforeは、中国の動画サイトBilibiliを見るときの広告、追跡、再生設定を変えるTypeScriptベースのユーザースクリプト(userscript)です。Make Bilibili Great AgainのforkをTypeScriptで書き直したMITライセンスのプロジェクトで、Tampermonkey、Violentmonkey、AdGuard拡張などのユーザースクリプト管理ツールにインストールすると、www、t、live、spaceのサブドメインでページ読み込みの初期に実行されます。16個のモジュールをメニューから1つずつオンとオフにでき、ページのfetchとXHRの呼び出しを横取りして必要なリクエストとレスポンスだけを変更し、変更したfetchがSentryなどの検査コードに元のブラウザー関数として見えるようにします。プライバシーの面では、ログ送信とユーザー追跡のリクエストを止め、Sentryと送信用のオブジェクトを空の関数に置き換え、ログと送信用のブラウザーストレージへの書き込みを止めてディスクへの書き込みを減らし、URLからvd_sourceなどの追跡パラメーターを消します。広告要素は1ピクセルの大きさと透明度0で隠し、コードのコメントは、サイトが広告リンクのdisplayの値で広告ブロックの有無を検査するため、displayの値はそのままにしていると説明しています。再生の面では、AV1をオフにし、P2PとPCDNのローダー、WebRTCを偽のオブジェクトに置き換えて公式のCDNアドレスを使わせ、プレーヤーに映像の切り抜きモードを加え、ライブ配信では元画質の経路を要求しつつ、30秒以内に5回失敗するとプレーヤーで選んだ画質に戻します。4K強制モジュールは、プレーヤーのローカル設定値を変え、ブラウザーをmacOS Safariとして見せることで、低スペックの端末でも4K、HDR、Dolby Atmosの選択肢をオンにし、再生アドレスの応答を変更するコードはないため、実際に受け取る画質はサーバーの応答に従います。既定でオフのThread Ripperは、映像の区間をさらに細かく分けて複数のCDNホストに同時に要求し、最初に届いた応答を使い、モジュールの説明どおり帯域とデータをより多く使うことがあります。そのほか、ホームと動的(story)ページの広告と画面配置を整え、コラム(/read/cv)ページでは転載禁止の表示(unable-reprint)とコピーイベントの処理を解除して本文をコピーできるようにし、サイト全体の白黒効果とHarmonyOSフォントを取り除いてシステム既定のフォントを使わせます。ソース全体を読んだ結果、再生アドレスの応答は読むだけで、サイトが発行した署名付きアドレスをBilibiliのCDNホストでそのまま使っており、ログイン、有料会員、地域制限を回避するコードは見つからず、Bilibiliの内部のページ構造に依存しているため、サイトが変わると一部のモジュールが壊れる可能性があります。
  • JimLiu/baocut
    BaoCutは映像と編集依頼から、後で修正できるタイムラインを作るAI動画編集製品です。字幕、翻訳、吹き替え、発表動画を繰り返し直す制作者を対象とします。文書では文字起こし、字幕、音声合成、不要区間の削除、コードによるモーショングラフィックスを説明しています。MP4、字幕ファイル、音声、編集履歴を残すプロジェクト形式などで出力できます。デスクトップ、CLI、MCP、Web画面は同じローカルRuntimeと編集対象を共有するとされています。配布アプリにはRuntimeとネイティブ処理系が含まれますが、エージェント機能にはログイン済みの外部エンジンが必要で、ffmpegとffprobeも別途用意します。ローカルモデルやオンライン提供者を選べますが、モデルファイルや接続がすべて自動設定されるわけではありません。Windows版は未署名で、GPU推論の実機検証も完了していないと明記されています。標準的なオープンソースライセンスではなくBaoCut Community Licenseのソース公開製品であり、ソフトウェアの再販売、ホスティング、商用製品への組み込みには別の許可が必要です。一部モデルには非商用条件があるため、アプリとは別に利用条件を確認します。
  • Predidit/Kazumi
    KazumiはFlutterで作られたアニメの検索と再生のアプリで、ユーザーが作ったルールで動画の配信元サイトから作品を探し、アプリ内でストリーミング再生します。ルールはXPath構文のセレクター5行以内で作り、取り込みと共有ができ、現在は//で始まるセレクターだけに対応しています。作品情報はBangumiの公開API、弾幕コメントはdandanplayの公開プラットフォーム、一緒に見る機能はSyncPlayの公開サーバー、画像からの作品検索はtrace.moeを使います。機能には放送時間表、字幕、ダウンロード、端末間の同期、DLNAでのワイヤレス投影、外部プレーヤーでの再生、Anime4Kによるリアルタイム超解像があり、超解像は高いGPU性能を必要とします。Android 10以降、Windows 10以降、macOS 10.15以降に対応し、Linuxは実験段階で、iOS 13以降と別のフォークリポジトリにあるHarmonyOS 5.0以降はサイドロードでのインストールが必要です。再生中は動画をできるだけメモリにcacheするため、メモリが足りない場合は低メモリモードを使うことができ、READMEは一部の作品の広告が動画の配信元から入ると書いています。READMEはユーザーデータの収集とtelemetryの部品がないと書き、免責事項では現地の法律を守り、第三者の知的財産権を尊重し、利用で生じたデータとcacheを24時間以内に消すよう求めています。ライセンスはGPL-3.0で、アイコンは原作者の許可を得て使っている作品のため、使うには別途許可が必要です。
  • storytold/effectcraft
    EffectCraftはAfter Effectsの作業の進め方をRustで独自に実装したオープンソースのモーショングラフィックスアプリで、リポジトリは2026年10月1日に作成されました。デスクトップアプリとしてもブラウザでも動き、動くテロップ、解説動画、視覚効果を作る人向けのツールです。レイヤー、キーフレーム、Graph Editor、エクスプレッション、パペットツール、3Dカメラとライトを備え、READMEは306個のエフェクトがAfter Effectsの298個のエフェクトをすべて含むと紹介しています。プロジェクトはバージョン付きのJSONファイル(.ecproj)として保存され、Lottieファイルの読み込みと書き出しができ、FFmpegなしで内蔵のRustエンコーダーがH.264、ProRes、HEVC、AV1、WebM、EXR、GIFを生成します。操作は1つのコマンド一覧(command registry)にまとまっているため、同じ操作を画面、CLI、JSON制御チャネル、AI agent向けのMCPサーバーから同じように呼び出せます。制御チャネルは認証のない127.0.0.1のTCPポートで、ドキュメントは使っている間だけ有効にするよう案内しています。スクリプトはプロジェクトフォルダーの中だけで動き、ファイル書き込みとネットワーク利用は別の設定を有効にした場合に限って許可され、READMEはtelemetryがなく、求められたときだけネットワークを使うと明記しています。インストーラーはリリースページにあり、ソースからのビルドにはRust 1.95以上が必要で、選択項目のMobileSAMモデルは約40MBを別途ダウンロードします。.aepと.aepxファイルは開けず、After Effectsのプラグインも実行できず、最も多くテストされている環境はmacOSで、LinuxとWindowsには基本操作のバグが残っています。作者のgapsドキュメントは、自分たちで作成し採点した機能チェックリストでは約99%を備えているとし、実際のプロの作業に使える度合いはまだ測定前で、30から50%程度と見積もっています。
  • storytold/lightcraft
    LightCraftは、写真をローカルで整理して調整する写真家向けのRust製写真管理および現像アプリです。JPEG、DNGや複数のカメラRAW形式を取り込み、原本と編集内容を分離してJPEG、PNG、TIFFなどに書き出します。エンジンは広色域の浮動小数点処理で明るさと色を調整し、GPU処理とCPUへの代替経路を備えます。アルバム、評価、検索と操作記録が、写真の選択と保存された現像設定を結び付けます。デスクトップ画面、CLIと、エージェントにツールを提供する規約であるMCPが、取り込み、調整、描画、書き出しの命令を共有します。macOS、Windows、Linux向けのソースビルドにはRustとCargoを使い、ブラウザ版にはWebAssemblyターゲットと対応するwasm-bindgenツールが追加で必要です。文書は、DNG以外のカメラの色校正が不完全で、一部のRAWは内蔵プレビューのみ開き、被写体と空のマスクも学習モデルではなく規則に基づくと説明しています。速度とCPUおよびGPUの結果一致に関する数値は管理者の報告であり、今回独立に再現した結果ではありません。

Trendshiftのランキングに入ったリポジトリだけを載せ、リストは候補を探すためだけに使いました。順位の数字は転載していません。説明、ライセンス、スター数は各GitHubリポジトリで確認しました。解説は私たちの判断です。これらを試験したわけではなく、上昇リストに載ったことは品質の証明ではありません。

GitHubで見る (新しいタブで開きます)