一部音楽関連公式サイトのYouTube動画のダウンロードができない原因について
2019年8月3日
【不具合内容】
- 保存ボタンを右クリックして「対象をファイルに保存」を選択しても、ただしい動画ファイル名が表示されず動画を保存できない
- 保存ボタンを左クリックしても、「Web サイトによってこのページの表示を拒否されました HTTP 403」表示され、動画を保存できない
【不具合原因】
- [不具合原因]
ダウンロードできない動画の場合、入力された動画URLのYouTube動画ページを取得し、そのページの中の動画情報 (url_encoded_fmt_stream_mapおよびadaptive_fmtsデータ)から 動画のダウンロードURLを作成しますが、ダウンロードURLのパラメータの1つの sigパラメータ が動画情報に存在しません。 これが原因と思われます。
- ダウンロードできない動画のダウンロードURLの例(https://www.youtube.com/watch?v=ZRZgubp-aLs)
https://r1---sn-ogueln7y.googlevideo.com/videoplayback ?expire=1564723129 &ei=WXNDXa6xMYe7z7sPysCrqAw &ip=999.999.99.9 &id=o-ACeXTZi_JDoxn2AQBljAPO52siHzFvCZ8ZTWDjmc3U75 &itag=22 &source=youtube &requiressl=yes &mm=31,29 &mn=sn-ogueln7y,sn-ogul7n7z &ms=au,rdu &mv=u &mvi=0 &pl=21 &gcr=jp &mime=video/mp4 &ratebypass=yes &dur=1427.075 &lmt=1564297056995055 &mt=1564700919 &fvip=1 &c=WEB &txp=2316222 &sparams=expire,ei,ip,id,itag,source,requiressl,gcr,mime,ratebypass,dur,lmt &lsparams=mm,mn,ms,mv,mvi,pl &lsig=AHylml4wRgIhALOsuYjZkoDWPNSAj9YMqs-p-5fvcWZ2UKSYPiStJT_FAiEAmvp-O9mWl7fAA8zp-FXTI9p_U0ShzzVB_bFIoPbY8SI=
- sigパラメータ(signature)がありません
- idパラメータは伏字
- ダウンロードできる動画のダウンロードURLの例(https://www.youtube.com/watch?v=yog7XTF0qEw)
https://r6---sn-oguesnze.googlevideo.com/videoplayback ?expire=1564722752 &ei=4HFDXbP6BpuFs8IPn4uZyA4 &ip=999.999.99.9 &id=o-AMO5MinfHu13qX2o2mbQNJPr43rjXm6C1zQSR-bUG_J- &itag=22 &source=youtube &requiressl=yes &mm=31,29 &mn=sn-oguesnze,sn-ogueln7z &ms=au,rdu &mv=u &mvi=5 &pl=21 &gcr=jp &mime=video/mp4&ratebypass=yes &dur=1427.075 &lmt=1564584214227357 &mt=1564700919 &fvip=2 &c=WEB &txp=5535432 &sparams=expire,ei,ip,id,itag,source,requiressl,gcr,mime,ratebypass,dur,lmt &sig=ALgxI2wwRQIgHyD8qhG2_WAKnoBmmNhv5sbMvuO_mdaPhwtKF3MKxHgCIQCTyJLHq0tfLxagCD9wjqjr1f5OCfzDf6LFMknysCqqgw== &lsparams=mm,mn,ms,mv,mvi,pl &lsig=AHylml4wRgIhAJa3_ivSR-kPictuobR7W-XnuLEAXZQWzK13VqZqALK8AiEA_emD7UUrANw5o7mRKcNsPS7tPsMJpgO_amQVpZAM3To=
- sigパラメータ(signature)が存在します(青字)
- idパラメータは伏字
【対策・状況】
- 動画情報 (url_encoded_fmt_stream_mapおよびadaptive_fmtsデータ)から動画のダウンロードURLを作成するときに、
sigパラメータが 存在しな場合、sigパラメータを動的に取得することが可能が否かを調査、検討中です。
- 2019.08.04
現在、YouTUbeダウンローダはPHP言語を使用して作成していますが、pytubeというツールを使えば簡単に動画を取得することができるようです。
pytubeツールは、sigパラメータ(signature)に対応している可能性がありますので、現在pytubeを勉強しています。 - 2019.10.19
すべての動画がダウンロードできなくなりました。原因は、YouTubeの仕様変更により、上記の動画情報 (url_encoded_fmt_stream_mapおよびadaptive_fmtsデータ) がPHPで全く取得できなくなりました。
この動画情報は、YouTubeサイトの動画ページのソースコード上には存在します。
従って、YouTubeサイトの動画ページのソースコードから、動画はダウンロード可能です。 - 2019.10.24
YouTubeの仕様変更により、ダウンロードできなくなつた件について、修正した新バージョンをアップしました。
http://urbanqee.com/doga/dl-htm/youtube-video_downloader.php≫ - 2019.10.25
YouTubeのダウンロードできない件については、全面回復しました。
- 2019.10.29
また、YouTubeのダウンロードできななくなった。原因は、google(YouTube)側で規制を掛けているようだ。
- 2019.10.30 13:59
YouTubeのダウンロードできない現象、回復した。(13時半ごろ?)
- 2019.11.05
10月19日、10月29日に続き、YouTubeのダウンロードできなくなった。
3つのバージョン(PHP file_get_contents、 PHP cURL、google API get_video_infoバージョン)のダウンローダーでダウンロードできない。
PHP cURLバージョン(PHP cURL関数使用)のダウンローダーを別サーバーにアップした。
PHP file_get_contentsおよびget_video_infoバージョンは、別サーバー(XFree)がfile_get_contents関数を使用できないため、救済できない。
なぜ、このサーバーでPHPが動作しなくなったかは、現在不明。
- 2019.08.04
~以上~
最終更新日:2019.11.7メール mailto: 掲示板