LoginSignup
5
6

More than 3 years have passed since last update.

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

Posted at

電車や、車移動中、建物の地下と、電波状態が悪い場所はたくさんあります。
どんな場所でもどんな時でもとにかく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ライフを♪
くれぐれもですが、個人で楽しむにとどめてください。
サーバー公開や配布は法律違反となります。

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6