Youtubeをオフラインで再生する(2014/3 更新)


といっても、仕様が時々変わるみたいで、この方法ですべて再生可能できるとは限りません。
FLV形式の再生方法(2012/9)


1. まずはその動画に関連するvideoplayback(拡張子なし)をすべて同じフォルダに入れておきます。
→ほかの動画のものが混じらないように(再生前にキャッシュの削除などをお勧めします)


2. 1番目のビデオと1番目のオーディオの2系列のデータを探し、ファイル名を変更しておきます。
ビデオデータとオーディオデータが分離しているため、2系列の最初のデータを探す必要があります。

→更新日時等でファイルの並べ替えを行い、一番最初に作成されたvideoplaybackをバイナリエディタで開く。
最初にftypdashなどの文字列があればdash形式フォーマット、一番初めにくるファイル。FLV(無い場合も)や、ftypmp42という文字列であれば以前の方法でできるかも。
最初からごちゃごちゃしたデータの場合は2番目以降のデータになるので、更新日時が次のデータを探します。

参考:ビデオデータの1番目の最初の部分(16進数)
00 00 00 1C 66 74 79 70 64 61 73 68 …

オーディオデータの1番目の最初の部分(1バイト異なる)
00 00 00 18 66 74 79 70 64 61 73 68 …

→解像度切り替えなどで同系列のデータの1番目が2つ以上ある場合があります。途中で切れていると思われるものは不要ですが、最後まで再生できることがわかるまで残しておくとよいでしょう
→ビデオデータとオーディオデータの分割数は同じとは限りません(多くの場合、オーディオデータの分割数のほうが多い)

→見つけたらv01やa01のように名前を変更。



3.他のvideoplaybackも順番がわかるようにファイル名を変更しておきます。
videoplayback01/videoplayback02/videoplayback03…のように
→更新日時等が早い順に順番に付けていくとうまくいきやすい。


4. バッチファイルをメモ帳などで作って順番と思われるvideoplaybackをバイナリ結合します。
ファイル名はv.bat/a.batなど2つ保存します。ファイル種別はバッチ ファイルです。videoplaybackと同じフォルダに入れ、ビデオのみ&オーディオのみ2つのファイルを作成します。
サンプル(v.bat) ←テキストファイルなので編集してください)
COPY /B "v01"+"videoplayback07"+"videoplayback09"+"videoplayback11" "v.flv"

COPY /B "a01"+"videoplayback03"+"videoplayback06"+"videoplayback08" "a.flv"
最後のファイル名は出力先です。+は付きません。


(ファイル数に応じて書き替えます。8個なら以下のように)
COPY /B "a01"+"videoplayback03"+"videoplayback06"+"videoplayback08"+"videop
layback10"+"videoplayback12"+"videoplayback13"+"videoplayback15" "a.flv"
バッチファイルには改行を入れないで1行にまとめてください。※上の例は表示の都合上改行を意図的に入れています。

→この段階では順番が異なるなどで正常に再生できるかは分かりませんが、まずは順番に結合してみます。うまくいかなかった場合は順番を1つ飛ばしとかしてみて、うまくいくまで1個づつ結合個数を増やしてみましょう。
→バッチファイルを作らなくて、コマンドプロンプトへ直接コピーして実行することもできますが、CD/CHDIRコマンドによる作業ディレクトリの指定が必要です。


5.前のソフト紹介ページを参考に、作成されたファイルを再生可能な形式に変換します。
ffmpeg.exe -i "C:\v.flv" -i "C:\a.flv" -f avi -vcodec wmv2 -acodec mp2 "C:\
va.avi"
ffmpegの場合コマンドプロンプトで実行する。

実際の使用例※表示の都合上改行を入れていますが、1行で入力してください。
"C:\SOFTWARE\Pazera_Free_FLV_to_AVI_Converter 1.7\tools\FFmpeg\ffmpeg.e
xe" -i "C:\Users\既定\Desktop\v.flv" -i "C:\Users\既定\Desktop\a.flv" -
vcodec wmv2 -b:v 1000K -acodec mp2 -b:a 192K "C:\Users\既定\Desktop\オ
フライン用.avi"
→メモ帳などで下書きしてからコマンドプロンプトへ貼り付けるとやりやすい。
→dash形式は2013年以降のFFmpegで対応しているソフトがあります。



6.実際に再生してみて途中で切れていないか確認してください
→全く再生されない場合はビデオかオーディオかの1番目のファイルが違う、または別の形式かも。
→足りないものが明らかになったり、どこで混ざったの分からない場合は、キャッシュを削除して再びオンラインで見てからやり直すのが一番です。
→慣れるまではかなりの率で失敗します。
→失敗した場合バッチファイルの順番を変えたり、別の種類の1番目(またはいくつか)のファイルを除くなどしてちゃんと最後まで再生できるか
→失敗した生成ファイルは削除するとやりやすいでしょう
→結合が正しければ2系列の再生時間がほぼ同じになる(100分の5〜10秒程度の誤差はあります)


うまくファイルが保存できない場合は、以下の圧縮ファイルを解凍して使ってください。
v.bat/a.batサンプル


→うまく変換できなかったりするのは大抵は順番が違っていたり、足りなかったり、他の物が混じったまま結合してしまったのが原因です。


ちなみにFLV形式だったり、結合不要だったり、googleの新しい形式(.webm)だったり様々なパターンがあるので、この方法に限らず工夫してみてください。