WindowsでFFmpegをインストールする方法 | SHAERDの手順で簡単セットアップ

10月 14, 2023

目次

はじめに

この記事は、Windows 11上でFFmpegのSharedバージョンをインストールと設定する手順を詳しく解説するものです。動画や音楽ファイルを扱う多くのプロジェクトでFFmpegが一般的に用いられているため、この記事は動画編集やオーディオ処理に興味のある方、またはプロフェッショナルにとって有益です。

基本的なコマンドラインの操作知識があるとスムーズに設定できますが、初心者でもフォローできるように基本操作も説明しています。

以下のセクションでは、ダウンロードから設定、基本的な使用方法までを順を追って解説します。

FFmpegとは

FFmpegは、多くのオーディオやビデオ形式に対応した、フリーのソフトウェアです。このライブラリとツールセットは、ファイルの変換、ストリーミング、エンコード、デコードなど、メディア関連の多くの作業を行うことができます。

主な機能

  • 変換: 異なるビデオやオーディオ形式への変換
  • ストリーミング: リアルタイムでのビデオやオーディオのストリーミング
  • エンコードとデコード: 高度なエンコードやデコードオプション
  • フィルタリング: オーディオやビデオの編集やフィルタリング

なぜ広く使われるのか

  • 多機能性: 幅広い形式とプロトコルに対応しています。
  • 高効率: 高速なエンコードとデコードが可能。
  • コミュニティサポート: 豊富なドキュメントと活発なコミュニティ。
  • フリー: ライセンス料が不要で、商用・非商用問わず利用可能。

Windows 11 での利点

  • 簡単なインストールプロセス。
  • GUI(グラフィカルユーザーインターフェース)が不要なため、リソースを節約できる。
  • PowerShellやコマンドプロンプトで簡単に操作できる。

なぜFFmpegのSharedバージョンが必要か

FFmpegには主に「Static」と「Shared」という2種類のバージョンが存在します。それぞれには一長一短がありますが、この記事ではSharedバージョンのインストールを推奨します。

メモリ使用量

Sharedバージョンは動的リンクを使用するため、プログラムが必要とするライブラリを読み込む際に、その都度メモリにロードします。これはシステムリソースを節約する上で有用です。

柔軟性

Sharedバージョンのもう一つの利点は、FFmpegのライブラリが更新された場合、それを利用する全てのアプリケーションで新しい機能や修正が即座に反映される点です。

依存関係

Sharedバージョンを使用することで、特定のバージョンのライブラリに依存する問題を最小限に抑えることが可能です。これにより、システム全体のメンテナンスが容易になります。

セキュリティ

セキュリティパッチがリリースされた場合、Sharedバージョンは新しいライブラリを読み込むだけで対応可能です。これにより、迅速なセキュリティ対策が可能となります。

この記事の対象読者

この記事は、以下のような読者層に特に有用です。

  • Dockerユーザー: 特に、audio関連のDockerコンテナを使用している人々。
  • ブラウザからのアクセス: Dockerコンテナにブラウザ経由でアクセスを行いたいと考えている方。
  • FFmpegの新規ユーザー: FFmpegについて基本的な理解はあるが、具体的なインストールや設定方法を知りたいと考えている方。
  • オーディオ関連のプロジェクト: 音楽や音声データを扱うプロジェクトに従事している方。

前提条件

この記事を効果的に活用するためには、以下のような前提条件が考慮されます。

  • Windows OS: このガイドはWindows 11を対象としていますが、他のWindowsバージョンにも適用可能な部分があります。
  • 基本的なコマンドライン知識: PowerShellやコマンドプロンプトで基本的な操作ができること。
  • Dockerの基本: Dockerがインストールされており、基本的な操作(コンテナの作成、起動、停止等)が行えること。
  • オーディオ関連の知識: この記事が特に音声データを扱う人たちに焦点を当てているので、基本的なオーディオフォーマットとエンコーディングの知識があると良いでしょう。
  • インターネット接続: FFmpegのダウンロードおよび任意の追加リソースの取得にインターネット接続が必要です。

必要なシステムスペック

FFmpegのインストールと使用にあたってのシステム要件は非常に柔軟ですが、以下にいくつかの一般的なガイドラインを示します。

  • OS: Windows Vistaは避け、Windows 7以降が推奨です。また、Linuxサーバーは高効率な選択肢とも言えます。
  • RAM: 最低でも2GB以上が推奨されます。Windows自体がRAMを多く使用するため、余裕を持たせることが重要です。
  • CPU: タスクに依存しますが、リアルタイムでの高解像度ビデオデコードが必要な場合は、高性能なCPUが必要となることがあります。
  • ディスクスペース: 一般的には少ないスペースで済む場合が多いですが、作業中のファイルや出力ファイルを保存するスペースを考慮する必要があります。
  • ポートアビリティ: FFmpegは高い移植性を持っていますので、多くのシステムで動作します。

特別な注意点

音声処理は、ビデオ処理に比べて計算量が少ないため、スペックが低めのマシンでも多くの場合問題ありません。

FFmpegはリソースを積極的に使用するので、他のタスクと並行して行う場合は注意が必要です。

前提条件: 既にインストールされているもの

このセクションでは、FFmpegをインストールおよび使用する前に既にシステムにインストールされているべきものについて説明します。

  • Windows OS: この記事はWindows環境でのインストールに焦点を当てています。Windows 7以上が推奨されています。
  • コマンドプロンプト or PowerShell: 基本的なコマンドライン操作に慣れていることが有用です。
  • ZIP解凍ソフト: FFmpegはZIP形式で配布されている場合があるため、ZIPファイルを解凍できるソフトウェア(例:7-Zip, WinRAR)。
  • Webブラウザ: FFmpegのダウンロードやドキュメントの参照にはWebブラウザが必要です。
  • インターネット接続: FFmpegをダウンロードするためにはインターネット接続が必要です。
  • オプション:Docker: Dockerを使用する場合、Dockerが既にインストールされていると便利です。

特別な注意点

この記事はWindows 11にも適用可能ですが、特に指摘がない限りWindows 7以上の一般的なガイダンスを提供しています。

ダウンロード

このセクションでは、FFmpegをダウンロードする方法について説明します。信頼できるソースからダウンロードすることが非常に重要です。

  1. 公式サイトからのダウンロード: FFmpegの公式サイト(https://ffmpeg.org/)は最も信頼できるダウンロードソースの一つです。公式サイトからは、GitHubへのリンクがあります。
    • 手順: 公式サイトにアクセスし、「Download」セクションに移動。次に、Windows用のダウンロードリンクをクリックし、必要なバージョンを選びます。
  2. その他の信頼性のあるダウンロードソース: 例えば、有名なパッケージマネージャーや一部のテクノロジーサイトなどでもFFmpegが提供されていますが、これらは公式ソースから提供されているものと同じであることを確認する重要があります。

注意点

インターネット上には偽のFFmpegソフトウェアやマルウェアが存在する可能性があります。ダウンロードする際は、ソースが信頼できるものであるか確認してください。

公式サイトからのダウンロード方法

公式サイトはFFmpegの信頼できる主要なソースの一つであり、最新版や過去のリリースも手に入れることができます。以下に、公式サイトからダウンロードする手順を詳しく説明します。

  1. ウェブブラウザで公式サイトにアクセス: まずはFFmpegの公式サイト https://ffmpeg.org/ にアクセスしてください。
  2. 'Download’ タブをクリック: トップページにあるメニューバーから 'Download’ タブを選択します。
  3. Windows用のリンクを探す: いくつかのオペレーティングシステム向けにFFmpegが提供されていますが、Windows用のリンクをクリックします。
  4. 必要なバージョンを選択: バージョンは通常、新しいものから古いものまでリストされています。必要なものを選びます。
  5. ダウンロードと保存: 選択したバージョンをクリックしてダウンロードを開始し、ローカルディスクに保存します。
  6. 確認: ダウンロードが完了したら、ダウンロードしたファイルが正しいものであるか確認します。通常はファイルのハッシュ値などを使って確認できます。

注意点

公式サイト以外からダウンロードする場合は注意が必要です。偽のFFmpegソフトウェアやマルウェアが存在する可能性があります。

その他の信頼性のあるダウンロードソース

公式サイト以外にもFFmpegの信頼性のあるダウンロードソースは存在しますが、非公式のソースからダウンロードする場合は注意が必要です。以下、いくつかのオプションを提供します。

  1. GitHub: FFmpegのコードはGitHubにもホストされています。開発版もしくは特定のリリースをクローンまたはダウンロードすることができます。
  2. パッケージマネージャ: Linuxユーザーの場合、各ディストリビューションの公式レポジトリからaptyumでインストールすることが一般的です。
  3. Trusted Third-Party Websites: 例えば、VideoHelpMacPorts など、いくつかのウェブサイトは長い間信頼されているサードパーティのソースとして存在しています。
  4. Developer Communities: 開発者フォーラムやStack Overflowなどでは、信頼性の高いビルドのリンクがしばしば共有されます。

注意点

非公式のソースからダウンロードする場合は、ファイルのハッシュ値を確認するなど、セキュリティ対策をしっかりと行ってください。

特にダウンロードしたファイルに署名がある場合は、その署名が正当なものか確認してください。

インストール手順

FFmpegのインストール手順は通常、以下のようなステップに分かれます。

  1. ダウンロード: 上述したように、信頼性のあるソースからFFmpegのインストーラーまたはバイナリをダウンロードします。
  2. 解凍: ダウンロードしたzipまたはtar.gzファイルを解凍します。解凍後、ffmpeg.exe(Windowsの場合)が含まれるフォルダ(通常はbin)を見つけます。
  3. 環境変数の設定: ffmpeg.exeのパスをシステム環境変数に追加します。これにより、コマンドプロンプトまたはPowerShellからどのディレクトリでもFFmpegを実行できるようになります。
  4. 動作確認: インストールが正常に行われたかどうかを確認するために、ffmpeg -version コマンドを実行します。
  5. トラブルシューティング: エラーが発生した場合は、環境変数が正しく設定されているか、必要な依存関係がインストールされているか等を確認します。

補足

  • Windows 11の場合: 本記事はWindows 11を前提としていますが、他のWindows OSでも手順はほぼ同じです。

ZIPファイルの解凍

ダウンロードしたZIPファイルには、FFmpegの全ての必要な実行可能ファイルとライブラリが含まれています。このセクションでは、このZIPファイルを解凍するプロセスについて詳しく説明します。

  1. ZIPファイルの場所に移動: ダウンロードしたZIPファイルが保存されているディレクトリに移動します。
  2. 解凍ソフトウェアの使用: Windowsには組み込みのZIPファイル解凍機能がありますが、専用のソフトウェア(例:7-Zip、WinRARなど)を使用することもできます。
  3. 解凍: ファイルを右クリックし、「すべて展開」を選択するか、専用の解凍ソフトウェアを使用してファイルを解凍します。
  4. bin フォルダの確認: 解凍後のフォルダ内に bin という名前のフォルダが存在するはずです。このフォルダには ffmpeg.exe が格納されています。
  5. オプション: この時点で bin フォルダを任意の場所に移動させることができます。ただし、環境変数を設定する際にこのフォルダの場所が必要になります。

補足

  • 注意点: ZIPファイルを解凍する場所には、後で環境変数を設定する際に影響が出る可能性があります。そのため、後で移動させる予定がない場所に解凍することを推奨します。

ファイルの配置

ZIPファイルを解凍した後、ffmpeg.exe とその関連ファイルを適切な場所に配置する必要があります。このセクションでは、ファイルの配置について具体的に説明します。

  1. 適切な場所を選択: 一般的に、プログラムファイルまたは特定のディレクトリに配置します。しかし、後で環境変数を設定するため、場所の選択は重要です。
  2. bin フォルダの移動: ZIPファイルを解凍して生成された bin フォルダ(ffmpeg.exe が含まれている)を、選択した場所に移動します。
  3. パーミッションの確認: フォルダとファイルのパーミッションを適切に設定してください。これはセキュリティの観点からも重要です。
  4. 環境変数にパスを追加: 配置した bin フォルダのパスをシステム環境変数に追加します。これにより、どのフォルダからでも ffmpeg コマンドを使用できるようになります。

補足

  • 注意点: ffmpeg.exe の位置を後で変更する場合、環境変数もそれに合わせて更新する必要があります。

ファイルの配置(再掲)

解凍したZIPファイルから得られたffmpeg.exeをシステムで使えるように、適切なディレクトリに配置する必要があります。以下にその手順を簡単に説明します。

  1. ディレクトリの選択: ffmpeg.exeを配置するディレクトリを決定します。一般的には、C:\Program Files または自分が独自に作成した特定のディレクトリが用いられます。
  2. binフォルダの配置: 解凍したファイルの中にあるbinフォルダを、前述のディレクトリにコピーまたは移動します。
  3. 環境変数の設定: システムの環境変数に、binフォルダが置かれたディレクトリのパスを追加します。これによって、コマンドプロンプトやPowerShellからどのディレクトリにいてもffmpegコマンドが使えるようになります。
  4. 設定の確認: 最後に、新しいコマンドプロンプトやPowerShellのウィンドウを開き、ffmpeg -versionというコマンドを入力して、正しくインストールされているか確認します。

注意

  • 既存の環境変数を変更した場合は、その変更を反映させるためにシステムを再起動するか、新しくコマンドプロンプトやPowerShellのウィンドウを開く必要があります。

環境変数の設定

FFmpegを効率的に使用するには、システムの環境変数を設定することが役立つ場合があります。この設定を行うと、コマンドプロンプトやターミナルから簡単にFFmpegを呼び出すことができます。

Windows

  1. 「コンピューター」を右クリックして、「プロパティ」を選びます。
  2. 「システムの詳細設定」をクリックします。
  3. 「環境変数」をクリックします。
  4. 「システム変数」領域に新しい変数を追加または編集します。
  5. Path変数にFFmpegの実行可能ファイルが格納されているディレクトリへのパスを追加します。

macOS / Linux

  1. ターミナルを開きます。
  2. ~/.bashrc または ~/.zshrc ファイルを編集します。
  3. 次のようにパスを追加または編集します。
export PATH=$PATH:/path/to/ffmpeg

環境変数が正しく設定されているか確認するには、新しいコマンドプロンプトまたはターミナルウィンドウを開いて ffmpeg -version を実行します。

設定とテスト

FFmpegのインストールが完了したら、設定と動作のテストが必要です。以下に、基本的な手順を列挙します。

  1. バージョン確認: 新しいコマンドプロンプトまたはPowerShellのウィンドウを開いて、ffmpeg -versionと入力し、バージョン情報が表示されることを確認します。
  2. 動作テスト: 一般的なFFmpegコマンド(例:動画の変換や音声の抽出など)を使用して、プログラムが正しく動作するかテストします。
  3. エラーメッセージの確認: エラーメッセージが出た場合の対処法を探ります。多くの場合、エラーメッセージは問題の原因と解決策についての手がかりを提供しています。
  4. PowerShell/コマンドプロンプトの再起動: 何らかの理由で環境変数の設定が反映されない場合は、PowerShellまたはコマンドプロンプトを再起動します。

コマンドプロンプトでの確認方法

一度FFmpegをインストールと設定が完了したら、コマンドプロンプトを使用して動作確認を行います。以下に、その手順とポイントを説明します。

  1. バージョン情報の確認: コマンドプロンプトを開き、ffmpeg -versionと入力します。これによってインストールされたFFmpegのバージョン情報が表示されるはずです。
  2. 基本的なコマンドのテスト: 一般的な動画や音声変換のコマンドを試してみます。例:ffmpeg -i input.mp4 output.avi
  3. エラーメッセージ: エラーメッセージが表示された場合、そのメッセージを元にトラブルシューティングを行います。
  4. 環境変数の確認: コマンドプロンプトで echo %PATH% と入力し、FFmpegのパスが正しく設定されているか確認します。

注意

  • 何らかの理由で動作しない場合は、コマンドプロンプトを再起動したり、PC自体を再起動してみると解決するケースがあります。

基本的なFFmpegコマンドのテスト

FFmpegをインストールした後、基本的なコマンドで動作をテストしてみることが重要です。以下にその手順を示します。

  1. 動画ファイルの変換: ffmpeg -i input.mp4 output.avi このコマンドで、MP4形式の動画ファイルをAVI形式に変換できます。
  2. 音声ファイルの変換: ffmpeg -i input.mp3 output.wav MP3形式の音声ファイルをWAV形式に変換します。
  3. 動画の切り出し: ffmpeg -ss 00:00:30 -i input.mp4 -t 00:00:10 -c:v copy -c:a copy output.mp4 このコマンドで動画の特定の区間を切り出せます。
  4. 動画から音声を抽出: ffmpeg -i input.mp4 -q:a 0 -map a output.mp3 このコマンドで動画から音声だけを抽出できます。

注意点

  • 全てのコマンドは基本的なもので、オプションを追加することでさまざまな高度な操作が可能です。

トラブルシューティング

インストールやコマンド実行中に問題が発生した場合は、以下のような一般的な解決策が役立つかもしれません。

  1. エラーメッセージの確認: エラーメッセージは多くのヒントを含んでいます。検索エンジンでエラーメッセージを検索してみて、他のユーザーが同様の問題に対してどのように対処しているか調査してみましょう。
  2. 環境変数の確認: ffmpeg -version コマンドが動作しない場合、環境変数が正しく設定されているか確認してみてください。
  3. ログの確認: FFmpegはエラー時に詳細なログを出力することがあります。それを確認して問題の手がかりを見つけることができます。
  4. 公式ドキュメントやフォーラムの活用: FFmpegの公式ドキュメントやコミュニティフォーラムは非常に有用な情報源です。確認してみましょう。

注意点

  • 特に困った場合は、FFmpegのコミュニティやStack Overflowなどで質問することも有用です。

よくある問題と解決策

以下はFFmpegを使用する際によく遭遇する問題と、それに対する一般的な解決策です。

  1. “Command Not Found" エラー: 環境変数が適切に設定されていない場合、このエラーが出ます。環境変数を確認し、必要であれば再設定してください。
  2. ビデオとオーディオが同期していない: オプションを調整して、ビデオとオーディオが同期するようにしてみてください。
  3. 出力ファイルが生成されない: ディスク容量が足りない、または書き込み権限がない可能性があります。
  4. 未知のコーデックエラー: サポートされていないコーデックでファイルを操作しようとした場合にこのエラーが出ます。対応するコーデックをインストールしてください。
  5. “File Not Found" エラー: 入力ファイルが存在しない、またはパスが間違っている可能性があります。

注意点

  • 問題が解決しない場合は、公式ドキュメントやフォーラム、Stack Overflowでさらに情報を探してみてください。

応用例

FFmpegはその多機能性から、様々な応用例が存在します。ここではいくつかの一般的な用途を紹介します。

  • 動画の変換: 一つのフォーマットから別のフォーマットへと、動画や音声の変換が可能です。
  • ストリーミング: ライブストリーミングやVOD(ビデオ・オン・デマンド)などのメディア配信が行えます。
  • エンコーディング: より効率的なフォーマットや設定に動画や音声をエンコードできます。
  • デコーディング: さまざまなエンコードされたメディアファイルをデコードできます。
  • フィルタリング: 映像や音声に対して様々なフィルタ(トリム、フェード、逆再生など)を適用できます。
  • ビデオのフォーマット変換: .mp4 から .mkv に、またはその逆に変換することができます。 ffmpeg -i input.mp4 output.mkv
  • ビデオのクリッピング: 指定した時間でビデオをクリッピングできます。 ffmpeg -ss 00:01:00 -to 00:02:00 -i input.mp4 output.mp4
  • ビデオからオーディオを抽出: ビデオファイルからオーディオトラックを抽出できます。 ffmpeg -i input.mp4 -q:a 0 -map a output.mp3
  • オーディオのエンコード: オーディオファイルのフォーマットを変換できます。 ffmpeg -i input.wav output.mp3
  • 画像からビデオを作成: 連続した画像(image1.jpg, image2.jpg など)からビデオを作成できます。 ffmpeg -framerate 24 -i image%d.jpg output.mp4
  • ライブストリーミング: 一定の入力をリアルタイムでストリーミングできます。 ffmpeg -re -i input.mp4 -c:v copy -f flv rtmp://server/live/stream

これらはFFmpegができることの一例であり、実際にはこれ以上に多くの機能があります。

FFmpegを用いた簡単なプロジェクトやタスク

FFmpegは非常に多機能なツールであり、ビデオやオーディオの操作だけでなく、簡単なプロジェクトやタスクにも応用できます。以下に具体的な例を示します。

  1. スライドショーの作成: 連続した画像からスライドショー風のビデオを作成することができます。 ffmpeg -framerate 1 -i image%d.jpg slideshow.mp4
  2. ビデオの合成: 二つ以上のビデオファイルを一つのファイルに合成することができます。 ffmpeg -f concat -i mylist.txt -c copy output.mp4
  3. オーディオのノイズ除去: ノイズの多いオーディオファイルからノイズを除去することができます。 ffmpeg -i input.wav -af "anlmdn" output.wav
  4. 動画のリサイズ: ビデオの解像度を変更することができます。 ffmpeg -i input.mp4 -vf "scale=1280:720" output.mp4
  5. 動画のロゴ追加: ビデオにロゴやテキストを追加することができます。 ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=W-w-10:H-h-10" output.mp4

注意事項

これらのコマンドは基本的な例であり、多くのオプションや設定があります。具体的なニーズに合わせて調整が必要です。

よくある質問(FAQ)

このセクションでは、FFmpegに関してよくある質問とその回答を提供します。 Q1: FFmpegはどのような用途で使用できますか? A1: FFmpegはビデオやオーディオのエンコーディング、デコーディング、ストリーミング、編集など多くの用途で使用されます。 Q2: FFmpegがサポートしているフォーマットは何ですか? A2: FFmpegは多くのビデオ、オーディオ、および字幕フォーマットをサポートしています。具体的なリストは公式サイトで確認できます。 Q3: FFmpegのインストールがうまくいかない場合、どうすればよいですか? A3: トラブルシューティングセクションを参照してください。それでも解決しない場合は、公式フォーラムやStack Overflowで質問することが有用です。 Q4: コマンドラインが難しいと感じます。GUI版はありますか? A4: はい、いくつかのサードパーティ製のGUIフロントエンドが存在しますが、これらは公式にはサポートされていません。

結論と今後のステップ

このガイドでは、FFmpegの基本的なインストールから高度な使用法まで、多くの側面をカバーしました。この強力なツールがどれだけ多機能であり、簡単なコマンド一つでさまざまなメディア関連の作業が行えることを理解していただけたと思います。

今後のステップ

  1. 深掘り: 今回紹介した機能はFFmpegが持つ多くの機能の一部に過ぎません。より高度な変換やストリーミング、エフェクトに興味があれば、公式ドキュメントやコミュニティフォーラムを参照してください。
  2. プロジェクトに適用: 学んだ知識を実際のプロジェクトに適用しましょう。練習することで、より多くのテクニックやコマンドに自然と親しむことができます。
  3. コミュニティ参加: FFmpegはオープンソースプロジェクトであり、多くの開発者やエンジニアが活発に参加しています。コミュニティに参加することで、知識だけでなく人脈も広がるでしょう。
  4. 自分自身のスキルアップ: 今回学んだ基本的なコマンドをマスターしたら、次に挑戦する価値のあるトピックを探してみてください。例えば、ライブストリーミングの最適化、3D動画のエンコード、AIを用いた自動編集などが考えられます。

このガイドがFFmpegという素晴らしいツールに少しでも興味を持っていただけるきっかけになれば幸いです。

まとめ

このガイドを通じて、FFmpegの基本的な概念から高度な操作まで、多岐にわたる内容を網羅しました。FFmpegは非常に強力で多機能なメディア処理ツールであり、その使い方次第で幅広い作業が効率的に行えます。

我々がカバーした範囲は、FFmpegの機能の一端にすぎませんが、これが皆さんの第一歩となり、より高度なテクニックに挑戦するための土台となれば幸いです。

公式ドキュメント、コミュニティフォーラム、さらにはオンラインのチュートリアルなどは、スキルの拡充に非常に役立つリソースです。これからも学びを深め、自分自身のプロジェクトや仕事に活かしていくことをお勧めします。

このガイドを読んで、さらにFFmpegについて学びたいと感じた方は、以下のリソースが役立つでしょう。

参考文献

このガイドを作成する際に参考にした資料を以下に示します。

  1. FFmpeg公式ドキュメント: https://www.ffmpeg.org/documentation.html
  2. FFmpeg Wiki: https://trac.ffmpeg.org/wiki
  3. Stack Overflow: https://stackoverflow.com/questions/tagged/ffmpeg
  4. Reddit: https://reddit.com/r/ffmpeg/
  5. YouTubeチュートリアル: https://www.youtube.com/results?search_query=FFmpeg+tutorial
https://youtube.com/watch?v=AHyD0nA-_LU%3Fsi%3DU56vWy3AhKEELVkJ

教育

Posted by admin