Posted at

raspberryPiでYoutubeをダウンロード&podcast化してiphoneで視聴したい

電車や、車移動中、建物の地下と、電波状態が悪い場所はたくさんあります。

どんな場所でもどんな時でもとにかくYouTubeがみたい。。

あぁ、iphoneにダウンロードできたらどんなに便利でしょう。

無いなら、そんなツール作っちゃえとモジョモジョした記事です。

注意! あくまで、個人で楽しむものとしてやってください。作成したpodcastチェンネルを公開すると違法アップロードとなります。絶対に、非公開サーバーでひとりの楽しみとしてください。

リポジトリを公開しています。合わせてご覧ください。

https://github.com/akiraseto/ytcast

IMG_6366.JPG


ざっとやりたいこと

ラズパイでいつでも・・


  1. youtubeを音声/動画と選択してダウンロード

  2. ダウンロードしたファイルを最適化

  3. 目的に応じてディレクトリに振り分けされる

  4. podcast用のRSSファイルを自動生成。

  5. iphoneのpodcastのチャンネル設定しておいて

  6. 以後、iphone内のpodcastに自動で動画、音声ファイルが溜まっていく。

こんなものが作りたい!


準備


youtube-dlをダウンロード

これがメインのコマンドで、主役です。

というよりも、私のgitリポジトリはこのコマンドのラッパーのようなものです。


インストール

sudo pip install youtube-dl

詳しい参考サイト

http://d.hatena.ne.jp/masayoshi_9a7ee/20150905/1441414821


localでWEBサーバーを立ち上げる

ここは深く触れません。頑張って立ててくださいm(_ _)m


ディレクトリを準備

rasUSB                        #usbメモリの名前

└── youtube
├── audio #podcast化しない音声ファイル
├── movie #podcast化しない動画ファイル
├── podcast
│   ├── audio #podcast化する音声ファイル
│   ├── audio.rss #自動生成される。音声チャンネル用RSS
│   ├── movie #podcast化する動画ファイル
│   ├── movie.rss #自動生成される。動画チャンネル用RSS
│   ├── thumb_audio.png #作成してください。音声用サムネイル画像
│   └── thumb_movie.png #作成してください。動画用サムネイル画像
└── tmp #一時作業用ディレクトリ


rasUSB

私が命名したUSBメモリの名前です。

ラズパイのmicroSDだと、容量の大きさ問題と書き込み回数制限が心配なので

頻繁に書込&削除するものはUSBメモリーにしてしています。

適宜、ご自分の設定に置き換えてください。


rasUSB/youtube/

podcast化しない音声ファイルや、動画ファイルを入れるディレクトリ


rasUSB/youtube/podcast

podcast化するにあたって、必要なファイルやディレクトリを格納。

また、各メディアファイルも生成される。


audio.rss, movie.rss

podcastチャンネル用のRSS

自動生成されるので、初期は不要。


thumb_audio.png, thumb_movie.png

podcastのチャンネル用の各サムネイル画像

初期から必要。作成してください。

私は200*200pxで作成。


ローカルWEBサーバーでpodcastディレクトリを公開する。

rasUSB/youtube/podcast



http://localhost/podcastとしてローカル公開したい


シンボリックリンク作成

/var/www/html/

html

└── podcast -> /media/pi/rasUSB/youtube/podcast


Webサーバー側でシンボリックリンクを許可

apache2なら任意の箇所に以下を追加

<Directory />

Options FollowSymLinks
</Directory>

以後、

Gitリポジトリ内のファイルの説明となります。

(リポジトリのREADMEとかなりかぶります)

git clone後


使用方法

CLIにてコマンドを入力

./rec_youtube.sh [TYPE] [POD] [URL]


[TYPE] 保存したいフォーマットを指定。

movie :動画ファイルでダウンロード

audio :音声ファイルでダウンロード

movie-list :プレイリストを動画ファイルでダウンロード

audio-list :プレイリストを音声ファイルでダウンロード


[POD] ポッドキャストにするか否か

pod-on

ポッドキャスト用のディレクトリにファイル移動して、 RSSを生成

pod-off

動画、音声用のディレクトリにファイルを移動のみ


[URL] ダウンロードしたいyoutubeのURL

youtube動画のURL

youtube プレイリストのURL

プレイリストURLの場合、TYPEで-list形式を指定する必要がある。


ファイル説明


rec_youtube.sh

youtube-dlのラッパー機能です。

以下を行います。

・音声、動画は最高品質でDL

・音声:m4a 動画:mp4にフォーマット変更

・目的に応じて、任意のディレクトリに振り分け

・podcast化する場合は、makepodcast.rbを実行


makepodcast.rb

Matchy2氏から、拝借しカスタマイズしました。

https://gist.github.com/matchy2/5552631

・動画、音声ファイルからPodcast用rssを生成します。

rasUSB/youtube/podcast/audio.rss

rasUSB/youtube/podcast/movie.rss


iphoneとのpodcast設定の仕方

以下のURLをiphoneのpodcastに登録する

音声チャンネル

http://localhost/podcast/audio.rss

動画チャンネル

http://localhost/podcast/movie.rss

問題なければ、これで

ラズパイでダウンロードしたyoutube動画/音声が

iphoneでpodcastアプリで視聴することができます。


以上です。それではステキなYouTubeライフを♪

くれぐれもですが、個人で楽しむにとどめてください。

サーバー公開や配布は法律違反となります。