砂漠の旅人(たびと)

UNIX / MS-DOS 時代から電脳砂漠を旅しています

【C#】YouTube からビデオとオーディオをダウンロードするアプリを作ってみる - その5(最終話)

こんにちは、たびとです。

今回で、TubeEater 開発は最終回です。 完成したのは喜ばしいのですが、GitHub に公開する前に最終確認をしていたら、 「YouTube はダウンロードを禁止している」と書いてあるじゃないですか。 ただし、「クリエイティブ・コモンズ」として、認められている場合は、 ダウンロードが許可されるようです。

約1ヵ月、没頭して作った結果が、何か微妙なアプリを作ってしまいました。 とりあえず、ギリギリセーフのようなので、GitHub に公開しますが、 ダウンロード目的としてよりも、アプリ開発の参考としてご活用ください。

この記事の対象者

  • YouTube からビデオをダウンロードすることに興味のある方
  • C#YouTube からコンテンツをダウンロードするアプリ開発に興味のある方
  • できあがった TubeEater のソースコードを見たり、動作を確認してみたい方

TubeEater 開発の振り返り

世の中に YouTube ダウンローダーが出回っており、それを解説しているサイトも多いため、 軽いノリで始まった今回のアプリ開発、本来はもっと質素なアプリの予定でしたが、 久しぶりにアプリを作成していると楽しくなって、ガンガン機能を追加してしまいました。

そして、最後の最後で YouTube規約違反にギリギリセーフのような結果となり、 正直疲れました。いやはや、こういう事は最初に調べておくべきですね。 YouTube の規約やクリエイティブ・コモンズの確認方法など、詳細は以下のサイトを参考にしてください。

news.mynavi.jp

インストール方法

GitHub から SetupTubeEater.msi をダウンロードします。

github.com

インストール

SetupTubeEater.msi を実行してください。

TubeEater インストーラを実行する画像
TubeEater インストーラを実行する

このまま「Next」ボタンをクリックします。

TubeEater のインストール先を指定する画像
TubeEater のインストール先を指定する

このまま「Next」ボタンをクリックします。 インストール先を変更する場合、アクセス権が正しく設定されていないと正常に動作しないことがあります。

TubeEater インストール開始を確認する画面
TubeEater インストール開始を確認する

このまま「Next」ボタンをクリックします。

TubeEater インストール中の画面
TubeEater インストール中

しばらく待つとインストールが完了します。

TubeEater インストールが完了した画面
TubeEater インストールが完了した

「Close」ボタンを押して終了します。終了後、デスクトップに TubeEater ショートカットが作成されます。

TubeEater ショートカットが作成される画面
TubeEater ショートカットが作成される

.NET Desktop Runtime エラーが出た場合

デスクトップの TubeEater をショートカットをクリックすると、 .NET Desktop Runtime エラー が表示されることがあります。

.NET Desktop Runtime エラー画面
.NET Desktop Runtime エラー

「はい(Y)」ボタンを押すと、ブラウザが起動し、.NET 6 のダウンロード画面にジャンプします。

Run desktop apps の x64 を選択する画面
Run desktop apps の x64 を選択する

初期位置が Windows になっているので、真ん中の「 Run desktop apps 」の「 Download x64 」を選択します。 ボタンをクリックするとダウンロードが始まり、右上にダウンロードの経過ダイアログが表示されます。

.NET Desktop Runtime のダウンロード中の画面
.NET Desktop Runtime のダウンロード中

ダウンロードが完了したら実行します。

.NET Desktop Runtime をインストールする画面
.NET Desktop Runtime をインストールする

「インストール(I)」ボタンをクリックします。しばらく待つとインストールが完了します。

.NET Desktop Runtime のインストールが完了した画面
.NET Desktop Runtime のインストールが完了した

「閉じる(C)」ボタンを押してインストールを完了します。 再度、デスクトップの TubeEater ショートカットをクリックしてください。

TubeEater を起動する

TubeEater を起動後、YouTube からコンテンツをダウンロードする場合、 黄緑色の自動ダウンロードボタンをクリックするだけです。

TubeEater を起動する画面
TubeEater を起動する

後は、ブラウザで YouTube のコンテンツをコピーするだけです。

メニュー

左上の三本線(ハンバーガー)アイコンをクリックすると、メニューが表示されます。

TubeEater のメニューを表示する画面
TubeEater のメニューを表示する

ここでは、「ダウンロード履歴、カラー設定、言語」を選択することができます。

  • ダウンロード履歴は、別ウィンドウにダウンロード履歴を表示します。
  • ライト・ダークモードの初期値は Windows と同期するようになっています。
  • ウィンドウカラーは MahApps カラーから選択できるようになっています。
  • メインとアクセントカラーは MaterialDesign Xaml Toolkit のカラーから選択できるようになっています。
  • 言語の初期値は、「日本語」と「英語」から選択できます。

言語化

インストール先の Languages フォルダにJapanese.json と English.json が入っており、 これをコピーして名称を変更することで、別の言語にも対応させることが可能です。

また、Osaka.json などにコピーして、関西弁や自分好みの言葉に置き換えるなど、 自由に言葉を書き換えることが可能になっています。 英語は Google 翻訳で作ったので、おかしな表現があるかもしれません。 英語を選択されるかたは、適宜修正してお使いください。

ただし、画面のメニュー項目に記号を使うと、C# の制御コードと 誤認識される可能性があるため、その点を注意してください。

オプション

右端の縦三点アイコンをクリックすると、ダウンロードのオプションが表示されます。

ダウンロードのオプションを表示する画面
ダウンロードのオプションを表示する

  • ビデオ (MP4) をダウンロードの対象とします。(初期値)
  • オーディオ (AAC) をダウンロードの対象とします。
  • オーディオ (MP3) をダウンロードの対象とします。(AACからのコンバート)
  • 保存先を開くボタンをクリックすると、エクスプローラーで保存先を開きます。

注意事項

  • オーディオ (AAC) のダウンロードはビデオに比べ、数倍遅くなることに注意してください。
  • たまに日本語が韓国語などに文字化けすることがあります。(VideoLibrary の問題)
  • ライブ配信はダウンロードできません。スキップするため、エラーにはなりません。
  • ビデオの解像度が高く、再生時間が数時間以上になると、ダウンロードに失敗することがあります。

まとめ

何とか TubeEater を約1ヵ月で作り上げました。 感覚で「調査1/4、デザイン1/4、プログラミング1/4、テスト1/4」って感じです。 最後に YouTube 規約でテンションが下がったので、多言語の日本語・英語以外のテストが やれていないので、想定外のエラーが発生する可能性があります。 (困る人は少ないと思うので、気が向いたら再開するかも)

今後、TubeEater 開発の技術的な詳細は、また別の記事で詳しく紹介していこうと思います。 この短期間で仕事の合間に TubeEater を作りながら、ついでにブログも書くのは、 正直キツイものがありました。 これで、やっと相棒が観れそうです。

最後に、ダウンロードする方は、以下の点に注意してください。

ダウンロード機能を使われる方は、YouTube のコンテンツには著作権があるため、 著作者の許可なく SNS などのサイトへアップロードしたり、 記録媒体に保存して第三者への譲渡は行わないでください。 あくまでも、個人的に楽しむこと、それ以外の利用は絶対に行わないでください。

最後に参考サイトを掲載しておきます。 では、皆さん、よい旅を。

TubeEater 開発の過去記事はこちら。

sabakunotabito.hatenablog.com

sabakunotabito.hatenablog.com

sabakunotabito.hatenablog.com

sabakunotabito.hatenablog.com

参考サイト