Ruby
 Computer >> コンピューター >  >> プログラミング >> Ruby

Rubyカンファレンスの動画を自分だけのポッドキャストに変える方法

Rubyのカンファレンスは本当に素晴らしいものです。多くの参加者が豊富な知識を共有しており、ほぼすべてのトークから何かしら学びを得られます。さらに嬉しいことに、現地に参加できなくても、新しいカンファレンスが開催されるたびに、たくさんのトーク動画が公開されます。

ただし、ここで一つ問題があります。動画の視聴には時間がかかるのです。1.5倍速で再生しても、1本あたり20〜30分はかかります。しかも、こうした「集中して視聴する時間」は、思うようには確保できないものです。

一方で、ポッドキャストはすでに私の生活に深く根付いています。ほぼ毎日の通勤時間にはOvercastを起動して、いくつかのエピソードを聴くのが日課です。通勤以外にも、犬の散歩中や皿洗いの間、さらには寝る前のリラックスタイムにも聴けます。

そこで、カンファレンスの動画が公開されたら、コード中心ではないトークを、自然に耳に入る場所——つまり自分のポッドキャストアプリの中——に置きたいと思うようになりました。実は、それを実現するとても簡単な方法があるのです。

Huffdufferで個人用ポッドキャストを作る

Huffdufferは、ウェブ上のどこで見つけたオーディオファイルでも、自分専用のポッドキャスト局に変えてくれる無料サービスです。これは本当にクールな仕組みです。ただし、カンファレンストークで使おうとすると、一つ問題があります。

ほとんどのカンファレンストークは「動画」だからです。

そのため、Huffdufferにトークを追加する前に、まず動画から音声だけを取り出す必要があります。そしてそのためには、動画をダウンロードする方法を見つけなければなりません。

youtube-dlで動画を取得する

YouTubeやVimeo、Confreaksのようなサイトで動画を見つけて、手元のマシンに保存したいときは、youtube-dlという小さなツールが便利です。MacならHomebrewで簡単にインストールできます。

brew install youtube-dl

(その他のOSでは、公式サイトの手順に従ってインストールしてください。)

インストールが完了したら、たとえばKylie StradleyさんのRailsConf 2015の名トークをオフラインで視聴したい場合は、次のコマンドを実行します。

youtube-dl https://confreaks.tv/videos/railsconf2015-amelia-bedelia-learns-to-code

これでほぼ目的どおりですが、ポッドキャストにするなら音声だけで十分です。youtube-dl-xフラグで音声のみの抽出に対応していますが、事前にffmpegをインストールしておく必要があります。

$ brew install ffmpeg
$ youtube-dl -x https://confreaks.tv/videos/railsconf2015-amelia-bedelia-learns-to-code

[generic] railsconf2015-amelia-bedelia-learns-to-code: Requesting header
WARNING: Falling back on generic information extractor.
[generic] railsconf2015-amelia-bedelia-learns-to-code: Downloading webpage
[generic] railsconf2015-amelia-bedelia-learns-to-code: Extracting information
[download] Downloading playlist: Confreaks TV | Amelia Bedelia Learns to Code - RailsConf 2015
[generic] playlist Confreaks TV | Amelia Bedelia Learns to Code - RailsConf 2015: Collected 1 video ids (downloading 1 of them)
[download] Downloading video 1 of 1
[youtube] bSbla50tqZE: Downloading webpage
[youtube] bSbla50tqZE: Extracting video information
[download] Destination: RailsConf 2015 - Amelia Bedelia Learns to Code-bSbla50tqZE.m4a
[download] 100% of 31.88MiB in 00:05
[ffmpeg] Correcting container in "RailsConf 2015 - Amelia Bedelia Learns to Code-bSbla50tqZE.m4a"
[youtube] Post-process file RailsConf 2015 - Amelia Bedelia Learns to Code-bSbla50tqZE.m4a exists, skipping

音声ファイルが手に入ったら、Huffdufferのヘッダーにある「Huffduff it」リンクをクリックします。そこで、最後の関門にぶつかることになります。

Dropboxで音声を公開する

実は、作成した音声ファイルをHuffdufferに直接アップロードすることはできません。Huffdufferが必要としているのはファイルそのものではなく、ファイルへのリンクだからです。

Dropboxユーザーなら、ファイルをDropboxのPublic/フォルダに置くだけで、簡単にインターネット上へ公開できます。あとは右クリックで「Copy Public Link(公開リンクをコピー)」を選択すれば、Huffdufferで使うリンクの完成です。Dropbox以外でも、公開アクセス可能なホスティングサービスであれば代用できます。

最後に、Huffdufferの「RSS」リンクを使えば、自分のポッドキャストをお気に入りのプレイヤーアプリに登録できます。

残念ながら、ポッドキャストとして聴くと、このトークの(正直かなり素晴らしい)スライド映像は見られません。また、コードやデモが中心のトークにはあまり向いていません(それでも大意はつかめるかもしれませんが)。

しかし、選択肢が「トークを聴くか、観るか」ではなく、「トークを聴くか、まったく体験しないか」であることもあります。後者なら、音声だけというのは十分悪くない妥協案だと思いませんか?

全体の流れをまとめると

では、手順をもう一度整理しましょう。

  1. Huffdufferの無料アカウントに登録する。
  2. youtube-dlをインストールする。
  3. ffmpegをインストールする。
  4. youtube-dl -x <トーク動画のURL>でトークの音声をダウンロードする。
  5. 音声ファイルを~/Dropbox/Publicなど、公開アクセス可能な場所に置く。
  6. 「Huffduff it」をクリックして、新しい音声ファイルへのリンクを貼り付ける。
  7. 自分だけのカンファレンスポッドキャストの新エピソードを聴く!

ポッドキャスト好きなら、ぜひ試してみてください。いつも聴いているプレイリストにカンファレンストークが届くのは、本当に快適な体験ですよ。

  1. Rubyのtransposeメソッドで行を列に変換する方法

    Rubyでグリッド状のデータ(多次元配列)を扱うときに便利なのが、Arrayクラスのtransposeメソッドです。この記事では、行と列を入れ替える「転置」の基本から、三目並べ(○×ゲーム)のような実践的な活用例までをわかりやすく解説します。 たとえば、3×3の正方形グリッドを多次元配列として持っているとしましょう。ここから「行を列に変換したい」という場面は意外とよくあります。 なぜそんなことが必要になるのでしょうか? 代表例が、古典的なゲームである三目並べです。 盤面をグリッドとして保存し、勝利判定を行うには、行・列・斜めのすべてをチェックしなければなりません。 ところが、グリッドを普通の配

  2. 古いテレビをスマートテレビ化する5つの方法【デバイスの選び方も解説】

    最近販売されているテレビのほとんどはスマートテレビであり、インターネットに接続して、Netflix、Prime Video、Spotify、YouTubeなどのサービスで音楽や動画を楽しめます。しかし、まだ十分に使える古いテレビを持っていて、今すぐ新しいスマートテレビに買い替えるつもりはない——そんな場合、どうすればよいのでしょうか。従来型の「非スマート」なテレビのまま、充実したストリーミングアプリや最新機能から取り残されるしかないのでしょうか。答えはノーです。非スマートテレビをスマートテレビに変える方法は複数あり、しかもあまりお金をかけずに実現できます。まずは、テレビが「スマート」と呼ばれる