Bilibili動画ダウンロードツール

Tool

概要

「bili_video_downloader」は、人気の中国動画プラットフォームBilibiliから動画をダウンロードするためのPython製ツールです。ユーザーのログイン情報を利用して、権限が必要な動画も取得可能。動画の画質は1080p、720p、480pなど複数から選べ、DASH形式や従来のストリーミング形式にも対応しています。ダウンロードした音声と映像はffmpegで自動的に合成され、MP4ファイルとして保存。リアルタイムの進捗表示も備え、快適なダウンロード体験を提供します。

GitHub

リポジトリの統計情報

  • スター数: 5
  • フォーク数: 0
  • ウォッチャー数: 5
  • コミット数: 4
  • ファイル数: 4
  • メインの言語: Python

主な特徴

  • Bilibiliにログインしたユーザー向けに、権限が必要な動画のダウンロードをサポート
  • 1080p、720p、480pなど複数の画質選択肢を提供
  • DASH形式および従来の動画形式に対応
  • ffmpegを用いた音声と映像の自動結合機能
  • ダウンロードの進捗をリアルタイムに表示

技術的なポイント

本ツールはPython 3.7以上を前提としており、Bilibiliの動画情報やストリーミングURLをAPIを通じて自動取得します。ログインユーザーのcookie情報を活用することで、アクセス制限のある動画のダウンロードも可能にしています。動画は多くの場合、映像と音声が別々のストリーム(DASH形式)で配信されるため、ffmpegを利用してこれらを自動的に結合し、一つのMP4ファイルにまとめる仕組みが組み込まれています。

ffmpegの利用はクロスプラットフォーム対応であり、macOSならHomebrew、Ubuntu/Debianならapt、Windowsなら公式サイトからのダウンロードと環境設定を推奨しています。ユーザーはcookieを保存しておくことで、ログイン状態を維持しつつ動画の取得が可能です。ツールは動画の解像度や形式を自動で検出するほか、ユーザーの指定に応じて画質を選択可能です。

ダウンロード時には、プログレスバーを用いてリアルタイムの進捗を表示。これにより、ユーザーはダウンロード時間の目安を把握しやすくなっています。コードベースはシンプルに保たれており、4つのファイルで構成されているため、拡張やカスタマイズも比較的容易です。

また、DASH形式対応により、最新のBilibili動画配信方式にも対応可能。従来の単一ファイル形式の動画にも対応しているため、幅広い動画タイプに対応しています。これらの技術的工夫により、Bilibiliの動画を安定かつ高品質にダウンロードできるツールとして機能しています。

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: プロジェクトの説明や使い方を記載したドキュメントファイル
  • backend: バックエンド処理を担うディレクトリ(動画情報取得やダウンロード処理など)
  • ui: ユーザーインターフェース関連のディレクトリ(CLIやGUIの実装など)
  • video_downloader.py: メインの動画ダウンロード処理を実行するPythonスクリプトファイル

まとめ

シンプルかつ実用的なBilibili動画ダウンロードツール。

リポジトリ情報: