DIGAに、ダウンロードした YouTube 動画を取り込む

あたし自身がこれにあまり真剣になってないもんで、熱量低い記事になってることは予めお断りするす。

2017-12-15 追記: 以下参照:

ダウンロードという行為そのものが youtube の利用規約に反することを知りませんでした。(なお、ダウンロードするだけで著作権法違反となる、という話ではない。)以下一応読めるようにはしておくけれど、出来れば読まないで。

「DIGA」と言ってるのは、ワタシのマイハニー「DIGA DMR-BZT830」のことざんす。生産終了モデルだよ。

なんだかさ、まったく人が集まってくるなんて想像もせずに何の気なしに書いちゃった「DIGAでyoutube「も」観れなくなった」に、ちと責任感じちゃっててさ。世間的にはそんなに致命的だったのか、DIGA で YouTube を観れなくなることって。当該エントリで書いた通り、ワタシ自身は言うほど困ってないもんだからなおさらね。

まず。「PC を持っていない人」は、ごめんなさい。この記事は、あなたには関係がない。「DIGAでyoutube「も」観れなくなった」に飛び付いてしまう人たちの何割かってきっと、「パソコンがなくっても YouTube が観れるのね、ステキ!」と思ってしまった可哀相な消費者たちだと思うんだけど、申し訳ないけれど私はそうではないし、これについては何にも答えてあげられない。


2015-10-16追記開始: スティック型パソコン、という手もありそうね:



安いもんだね。これはアタシも興味ある。

2015-10-16追記終了


次に、「恵まれたネット環境を持っていて、かつ、PC を持っていて、単に大画面で観たいだけ」な人は、「ノートPCだけれども拡張デスクトップな生活」「「ノート」PCの意味がなくなってきた…」を読んでみてくださいな。HDMI 出力(とワイヤレスキーボード)で「PC を大画面で使う」だけのネタね。(これは DIGA 関係ない。アタシは VIERA に直接出力してる。) きっと「恵まれたネット環境」に該当する限りは、これだけで満足するんじゃないかしらね。

そうでなくて、「どうしてもダウンロードして DIGA に取り込みたい」人はおそらく「ネット環境にはあまり恵まれてない人」なんだろうと思う。これに該当する人は、読み進めてみて。

次に、「どうやってダウンロードすんねん」については、Windows 限定ではありますが、「Download of YouTube video disabled!」としてひとネタ仕込んであります。

で、「Download of YouTube video disabled!」に書いた通りですけど、「とかく不毛な作業になりがち」なので、「自分はそれをするほど十分に暇を持て余してるかどうか」、は、よーーーっく考えてね。

さて。ダウンロードした動画ファイルの転送手段、なんだけど、あたし、DIGA DMR-BZT830の前面に USB インターフェイスがついてたもんだから、なんも考えず USB メモリを使ってるけど、あとあとになって取扱説明書を熟読してたら、これ、メーカー的には「動作保障外」なのね:

ワタシは USB メモリで何の支障もなく使えてるし、一切心配なんかしてないけど、おそろしい人はメーカーが保障する SD カードとかそんなんで転送すればよろしいんでは。

挿入するとこんなメニューが出ます:

今の場合は「撮影ビデオ」を選んで…。ま、やってみればすぐにわかります。アタシと同じ BZT830 ので良ければ、取扱説明書の P101 読んでね。

注意して欲しいのは、

  • ファイル名やタイトルといった情報は蔑ろにされる
  • 取り込み中はほかのどんな作業も出来なくなる(予約録画さえも)
  • 取り込みはとっても時間がかかる(あんまり数こなしてないので断言はしないけど、多分動画の再生時間と同じ、じゃないかな?)

てこと。なんかこの情報だけで「やーめた」と思う人、いるんじゃないかな、と思う。結構馬鹿らしい作業と思うよ。

ま、うまくいく限りはこれだけのことなんですが、個人的には不毛感と徒労感ばかり先立って、あんまし「うれしー」と思わないんですが、ただ、まったくメリットがないかと言うとそうでもなくて。以下は悪くないと思うんだな:

  • 取り込んだメディアは、普通に録画したテレビ番組とほとんど区別されないので:
    • 番組結合・分割が普通に出来る
    • チャプターを付けたりとったりも普通に出来る
  • (当たり前ですが)リモコンで操作出来る

取り込んだビデオに対して、「番組について出来ること全て」が出来るのかどうかはさすがに確認してないけど、軽く試してみた感じでは、一通り出来るみたい。MP4 の統合・分割なんか、パソコンでやろうとすると結構高等なアプリケーション見繕わないといけないんで、それ考えたらある意味それって「素晴らしい」ことかもしんない。

さて。最後に、「どんな形式でも取り込めるのか」についてですけど、これはもちろんそんなわきゃぁなくて、取扱説明書によればこんな仕様(YouTube 動画に限れば、「MP4動画」にご注目):

ワタシは無知なんで良くわからんのですが、「全ての YouTube 動画は映像 AVC/H.264、音声 AAC」なのかどうかは知りません。けど、自分が「Download of YouTube video disabled!」に書いた「Video Downloader Ultimate」でダウンロードしてきたのは全部これに該当してた。つっても7~8本程度ですけどね。

「この動画って 映像 AVC/H.264、音声 AAC なの?」についての調べ方なんだけどね、なんかね、「メディアプレイヤーでわかります」みたいなだったら良かったんだけど、少なくともワタシはそんなやり方、見つけられてない。ので、私は ffmpeg を使う方法しか知らない。ffmpeg を使う場合はこれだけです:

 1 me@host: ~$ ffmpeg -i phb.mp4
 2 ffmpeg version N-66289-gb76d613 Copyright (c) 2000-2014 the FFmpeg developers
 3   built on Sep 15 2014 22:11:04 with gcc 4.8.3 (GCC)
 4   configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
 5   libavutil      54.  7.100 / 54.  7.100
 6   libavcodec     56.  1.100 / 56.  1.100
 7   libavformat    56.  4.101 / 56.  4.101
 8   libavdevice    56.  0.100 / 56.  0.100
 9   libavfilter     5.  1.100 /  5.  1.100
10   libswscale      3.  0.100 /  3.  0.100
11   libswresample   1.  1.100 /  1.  1.100
12   libpostproc    53.  0.100 / 53.  0.100
13 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'phb.mp4':
14   Metadata:
15     major_brand     : mp42
16     minor_version   : 0
17     compatible_brands: isommp42
18     creation_time   : 2013-12-20 23:00:21
19   Duration: 00:07:01.07, start: 0.000000, bitrate: 1999 kb/s
20     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 1804 kb/s, 29.97 fps, 29.97 tbr, 60k tbn, 59.94 tbc (default)
21     Metadata:
22       handler_name    : VideoHandler
23     Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 192 kb/s (default)
24     Metadata:
25       creation_time   : 2013-12-20 23:00:24
26       handler_name    : IsoMedia File Produced by Google, 5-11-2011
27 At least one output file must be specified

「Stream」の行でわかります、でしょ?

なお、ffmpeg は Windows 版が普通に出回ってて、問題なく使えると思います。アタシがいつどんなタイミングで入れたのかは憶えてないんだけど、苦労した記憶は全くないので、多分誰でも導入出来るでしょう。けどまぁ、「形式を知りたいがためだけに」使うには牛刀過ぎるけどな、ffmpeg は。「簡単」なもんでもないし。そもそも「コマンドラインツール」に拒否感持ってたらそれだけでアウトだしさ。ま、「おぉ、DIGA に YouTube を取り込めるなんてステキだぜ」と、ここまで読み進めて来ててもなお思っているほど「十分に暇を謳歌してる」なら、「確認することなく、ダメもとで突っ込んでみる」でもいいんじゃねーすかね。

あー、あぶねー、書き忘れるとこだった。「H.264/AAC じゃなかったとしたら?」の答えも、ffmpeg が一つの選択肢です。まぁこれは多少詳しい人には常識なんだけどね、これ。(見かけ上 ffmpeg でなくても、ffmpeg で変換を実現しているアプリケーションが大多数を占めるので、知らないうちに使ってた、がかなり多いソフトウェアなのね、ffmpeg って。) ffmpeg の詳細をここで詳しく書くつもりはないので、てきとーにググってくださいな。


2015-09-12追記
ffmpeg については詳しく書かないと言ったけれど、ちょっと個人的用事もあったので、一つだけ試しましたとさ。

Download of YouTube video disabled!」を書いた時点では気付いてなかったんだけど、ここで紹介した「VideoDownloaderUltimate」って、YouTube 以外のストリーミングもダウンロード出来る、のね。で、たまたま「スローテレビ、やっぱりください、防災も兼ねて」を書いたときに見つけた東京タワーライブカメラの映像をダウンロード出来ることに気付いて。

そもそもワタシのネット環境は恵まれてはいないので、この動画、2秒くらいで止まってはバッファリングを繰り返して、全然「観れない」。どんだけ高画質なの? とそのことに興味を持ってしまって、じゃぁちと頑張ってダウンロードして、ついでだから DIGA に取り込んでみよう、と思ったわけです。なんで、と言われても困る。やりたくなった、それだけ。

ダウンロードしてみてまずはビックリというか、やっぱりねというか。たった3分で 223MB。どんだけやねん。で Windows メディアプレイヤーで再生してみる。おー、さすがに綺麗ね。で、DIGA に取り込もうとしてみたら。やってみたらこれ、「DIGA が取り込めない」だった。はぁん、なんだろね、っと。

とりあえず形式をみてみる:

 1 me@host: ~$ ffmpeg -i "index live1.mp4"
 2 ffmpeg version N-66289-gb76d613 Copyright (c) 2000-2014 the FFmpeg developers
 3   built on Sep 15 2014 22:11:04 with gcc 4.8.3 (GCC)
 4   configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enale-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-limodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedingr --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbi --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
 5   libavutil      54.  7.100 / 54.  7.100
 6   libavcodec     56.  1.100 / 56.  1.100
 7   libavformat    56.  4.101 / 56.  4.101
 8   libavdevice    56.  0.100 / 56.  0.100
 9   libavfilter     5.  1.100 /  5.  1.100
10   libswscale      3.  0.100 /  3.  0.100
11   libswresample   1.  1.100 /  1.  1.100
12   libpostproc    53.  0.100 / 53.  0.100
13 Input #0, flv, from 'index live1.mp4':
14   Metadata:
15     encoder         : Lavf55.37.101
16   Duration: 00:03:00.18, start: 0.000000, bitrate: 10383 kb/s
17     Stream #0:0: Video: h264 (Baseline), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 30.33 fps, 29.97 tbr, 1k tbn, 59.94 tbc
18 At least one output file must be specified

encoder部分と fps が 30.33 なのと音声なしの3点が疑わしいか。ふーん…、H.264 てだけではダメなのかな? よくみてみると「aac1」が見当たらない。てことは4つアヤシいわけね。

「変換」しなければならん、とはわかるが、複雑怪奇な ffmpeg の仕様を調べるのキツいなぁ、と思い、「エイヤ」で出来ないかしら、と…:

オプション無指定で出力ファイルだけ与えてる
 1 me@host: ~$ ffmpeg -i "index live1.mp4" "index live1+.mp4"
 2 ffmpeg version N-66289-gb76d613 Copyright (c) 2000-2014 the FFmpeg developers
 3   built on Sep 15 2014 22:11:04 with gcc 4.8.3 (GCC)
 4   configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enale-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-limodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedingr --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbi --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
 5   libavutil      54.  7.100 / 54.  7.100
 6   libavcodec     56.  1.100 / 56.  1.100
 7   libavformat    56.  4.101 / 56.  4.101
 8   libavdevice    56.  0.100 / 56.  0.100
 9   libavfilter     5.  1.100 /  5.  1.100
10   libswscale      3.  0.100 /  3.  0.100
11   libswresample   1.  1.100 /  1.  1.100
12   libpostproc    53.  0.100 / 53.  0.100
13 Input #0, flv, from 'index live1.mp4':
14   Metadata:
15     encoder         : Lavf55.37.101
16   Duration: 00:03:00.18, start: 0.000000, bitrate: 10383 kb/s
17     Stream #0:0: Video: h264 (Baseline), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 30.33 fps, 29.97 tbr, 1k tbn, 59.94 tbc
18 [libx264 @ 00000000053abf80] using SAR=1/1
19 [libx264 @ 00000000053abf80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
20 [libx264 @ 00000000053abf80] profile High, level 4.0
21 [libx264 @ 00000000053abf80] 264 - core 142 r2479 dd79a61 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1ef=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskp=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 badapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.0 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
22 Output #0, mp4, to 'index live1+.mp4':
23   Metadata:
24     encoder         : Lavf56.4.101
25     Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 29.97 fps, 30k tbn, 29.97 tbc
26     Metadata:
27       encoder         : Lavc56.1.100 libx264
28 Stream mapping:
29   Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
30 ...

ははぁん、なにやら「よきに計ら」っておるな。

変換終了後、改めて:

 1 me@host: ~$ ffmpeg -i "index live1+.mp4"
 2 ffmpeg version N-66289-gb76d613 Copyright (c) 2000-2014 the FFmpeg developers
 3   built on Sep 15 2014 22:11:04 with gcc 4.8.3 (GCC)
 4   configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enale-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-limodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedingr --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbi --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
 5   libavutil      54.  7.100 / 54.  7.100
 6   libavcodec     56.  1.100 / 56.  1.100
 7   libavformat    56.  4.101 / 56.  4.101
 8   libavdevice    56.  0.100 / 56.  0.100
 9   libavfilter     5.  1.100 /  5.  1.100
10   libswscale      3.  0.100 /  3.  0.100
11   libswresample   1.  1.100 /  1.  1.100
12   libpostproc    53.  0.100 / 53.  0.100
13 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'index live1+.mp4':
14   Metadata:
15     major_brand     : isom
16     minor_version   : 512
17     compatible_brands: isomiso2avc1mp41
18     encoder         : Lavf56.4.101
19   Duration: 00:03:00.18, start: 0.000000, bitrate: 7109 kb/s
20     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 7106 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (defaut)
21     Metadata:
22       handler_name    : VideoHandler
23 At least one output file must be specified

fps が 29.97 になってるのと、「avc1」がみえてるのと。encoder 部分はそのままか。で、「音声が犯人」でないなら、これでイケるかもなぁ、と思い、取り込んでみた。

取り込めた。そうか、AAC/H.264 であることが必要、だったわけね。

フレームレートが下がってることはまぁどうでもいいんじゃないかな、と、「ワタシは」思うので、これをどうこうしようとは思ってない。仮に維持できても DIGA で取り込めないってオチになるのはなんとなく想像つくし。のでワタシの興味はここまで。

取り込んだ動画は DIGA では「2倍録」扱いになる。ので DIGA の最高画質の DR ほどのものではないけど、でもかなり綺麗よ。ワタシは全然気にならない。(目が悪いせいもあるけどさ。)