yt-dlpコマンドで、年齢制限を何とかするの追記

前回の記事 yt-dlpコマンドで、年齢制限を何とかする なんで追記を書くことにしたの? 最近、cookieを直接 yt-dlp コマンドに渡すのは、なんか cookie が機能しなくなったりしてメンテする必要があったりと、めんどっちいなとなった。何とかブラウザから cookie 読み込んでくれないかなと試したところ成功した。そこで、投げやりにしてた部分を今更ながら書いてみようとそういうわけである。 あと、単純に google analytics をこのブログに導入してみて、一番 yt-dlpコマンドで、年齢制限を何とかする に訪問者 (Bot説ある) がいそうだという点も気にしてたりする。本当は、アンダーマイニング効果とかあるし、あまり他人目線でやると、本来のこのブログの意味が崩壊するので、なるべく避けたいものであるが、、、(実は、google analyticsとかは使わないほうがいい説があるが、しばらく様子見としてみる。) 分かったこと 必要なパッケージがある 以下のように調べてみると、 python-secretstorage というパッケージが必要そうなことが分かる。 pacman -Si yt-dlp # -Si オプション: パッケージに関する情報について調べる。必須ではないがインストールが推奨されるパッケージの情報も出てくる。 リポジトリ : extra 名前 : yt-dlp バージョン : 2024.12.06-1 ... python-secretstorage: For -cookies-from-browser to access the GNOME keyring while decrypting cookies of Chromium-based browsers ... うまくいかないブラウザ chromium 系のブラウザでは、cookieの復号がうまくいかず、以下のように失敗するので、諦めて firefox を使うことにした。ちなみに、私は brave とかそのほかのブラウザでは特に試していないので、chrome とか firefox 以外のブラウザにおいての具体的な挙動はまだわかっていない。 “cannot decrypt v11 cookies: no key found " と言われ、cookieの取得に失敗する。 ...

December 11, 2024

yt-dlpコマンドで、年齢制限を何とかする

この記事を書いた動機 特に、2015年以降の買収済みのyoutube(というかgoogle)はどうも営利企業としての側面をあらわにしているのか、広告ブロックされる理由を考えて対応するより先に、広告ブロックを悪者にして追い出したり、利用者に対して一方的な方針転換やサービスの実装をしているようである。 その波が、動画をダウンロードするこのコマンドにも来ているようで、なんか年齢制限でダウンロードできないというあまりに不便な挙動をしていることに気づいた。何とかしようと考えるわけだが、なかなか面倒だったし、思い出せる自信もないので、結構いい加減だけど、記録を残すことにした。 環境について 私は普段、windows を使っておらず、linux環境しか使ってないです。なのでこの記事は、windows ユーザにとってはずれているところがあったりと、微妙なところがあるかもしれません。 制限を突破する方法 yt-dlpコマンドのプラグインを使う。 yt-dlpコマンドの以下のオプションを使う。 yt-dlp [urlとか] --cookies [クッキーのテキストファイルのパス] ※ これは自分のGoogleアカウントでyoutubeにログインすると、そのログイン状態を保持するための情報がcookieに入っていることを利用していると思われる。そのログイン情報が悪用される可能性があるかは未知数。。。なので、なるべくサブのアカウントなどの利用を推奨する。 今とにかく動いた方法 なんか最初にやったことから書いたらグダグダになったので、いったんとにかく動作確認ができた方法から記録してみる。 youtubeからcookieを抽出 youtubeにログインし、cookieを抽出可能な拡張機能をインストールして、抽出する。私は、Get cookies.txt LOCALLYという拡張機能を利用した。どうも、yt-dlpは、Netscapeとかいう古のブラウザのcookie形式でしか受け付けないらしく、javascriptでdocument.cookieとかやって得られる情報そのままではだめらしいので、楽な方に流れたという感じ。 yt-dlpでcookieのテキストファイルを指定し、実際に動画をダウンロード yt-dlp [urlとか] --cookies [クッキーのテキストファイルのパス] とにかく、これで一時的に動かすことができたが、セッションが有効期限切れになったりすると、たぶんまた作業をやり直す必要があり面倒である。 cookieのテキストファイルって何? Netscape形式の場合、以下に示すようなものであるよう。 # Netscape HTTP Cookie File # http://curl.haxx.se/rfc/cookie_spec.html # This is a generated file! Do not edit. .youtube.com TRUE / TRUE 1741146319 LOGIN_INFO 何かのデータ .youtube.com TRUE / FALSE 1763243188 SID 何かのデータ .youtube.com TRUE / TRUE 1763243188 __Secure-1PSID 何かのデータ .youtube.com TRUE / TRUE 1763243188 __Secure-3PSID 何かのデータ .youtube.com TRUE / FALSE 1763243188 HSID 何かのデータ .youtube.com TRUE / TRUE 1763243188 SSID 何かのデータ .youtube.com TRUE / FALSE 1763243188 APISID 何かのデータ .youtube.com TRUE / TRUE 1763243188 SAPISID 何かのデータ .youtube.com TRUE / TRUE 1763243188 __Secure-1PAPISID 何かのデータ .youtube.com TRUE / TRUE 1763243188 __Secure-3PAPISID 何かのデータ .youtube.com TRUE / TRUE 1764701056 PREF 何かのデータ .youtube.com TRUE / TRUE 1761676825 __Secure-1PSIDTS 何かのデータ .youtube.com TRUE / TRUE 1761676825 __Secure-3PSIDTS 何かのデータ .youtube.com TRUE / FALSE 1761677056 SIDCC 何かのデータ .youtube.com TRUE / TRUE 1761677056 __Secure-1PSIDCC 何かのデータ .youtube.com TRUE / TRUE 1761677056 __Secure-3PSIDCC 何かのデータ .youtube.com TRUE / TRUE 1745681252 VISITOR_PRIVACY_METADATA 何かのデータ .youtube.com TRUE / TRUE 1745681252 VISITOR_INFO1_LIVE 何かのデータ .youtube.com TRUE / TRUE 0 YSC 何かのデータ 以降の内容 これ以降の内容は、単に記録として適当にグダグダ書いてあるので、詳しいことを知りたい人以外には、あまり有用ではない可能性があるということだけはここに書いておく。 ...

October 29, 2024