mpv+yt-dlp で youtube (bionic64, fossapup64)

追加アプリケーションパッケージ、PETやSFSなどの話題です

モデレータ: 暇人, YoN, nyu

アバター
ミトじい
記事: 162
登録日時: 13/09/19(木) 08:43
お住まい: 埼玉県 K市 南O

mpv+yt-dlp で youtube (bionic64, fossapup64)

投稿記事 by ミトじい »

トピック [youtube-dl] https://sakurapup.com/forum1/viewtopic.php?f=25&t=3314
を参考に mpv での youtubeストリーミング再生を試みたのですが、私のPC環境では youtube-dl のダウンロード速度が遅すぎて実用になりませんでした
google先生に尋ねたところ、yt-dlp を使えば youtube-dl の100倍くらいダウンロード速度が速くなると :o
bionic64-simple-r1 で mpv+yt-dlp での youtubeストリーミング再生がとりあえず動いたのでその手順を

1. yt-dlp のダウンロード: https://github.com/yt-dlp/yt-dlp/releases/
  私がDLした時は 2022.09.01 が最新のようでした
  「Assets」欄にある yt-dlp_linux (実行バイナリ)をダウンロードします
2. yt-dlp_linux を youtube-dl がある /usr/bin/ 下へコピーします
3. yt-dlp_linux に 実行権限を付与します
  roxファイラーからなら、「右クリックメニュー」ー> 「パーミッション」
  端末でのコマンドなら chmod a+x yt-dlp_linux
4. 既存の youtube-dl を youtube-dl_org 等にリネームします(念のためバックアップ)
5. yt-dlp_linux に youtube-dl の名称でシンボリックリンクを張ります
(以上)

ただ 私のPC環境では単純に mpv *url* で再生するとPCパワーの問題なのか綺麗に作動しないので

コード: 全て選択

mpv --ytdl-format="best[height<=720]" *url*
と言う感じで使っています
たとえばブラウザでのyoutube再生が重たいので

コード: 全て選択

mpv --ytdl-format="best[height<=720]" `xclip -o -selection clipboard`
これをシェルスクリプトにして ~/my-applications/bin/ に放り込み、jwmトレイにアプリ登録
ブラウザでyoutubeの一覧表示の動画urlをコピー、トレイのアイコンクリックでmpvでの本体再生
この方がずっと軽いです :D

fossa64-simple-r2 では youtube-dl 自体が入っていないようですが、上記手順の 4. を除いて実施したら同様に動きました
なお上記手順は、mpvとyt-dlpの動かし方とか設定方法についてgoogle先生に尋ねてみてもなんだかよくわからなくて、「結局youtube-dlからのフォークなんだから、とりあえず置き換えれば動かないかなぁ?」という場当たり的なものなので、当人はその仕組みをほとんど理解しておりません(-"-;A
ただ、こうしたら動いたと言う一例ということで…(mpvもyt-dlpもオプション多すぎ問題)
最後に編集したユーザー ミトじい [ 22/09/14(水) 13:12 ], 累計 1 回
machine: PC-VN770WG1YW(customed) [4x intel core-i5 M460 2.53GHz, ram: 8GB]
main OS: bionic64-simple-r2 <- special thanks Mr. thinkpadnerd m(_ _)m
sub OS: linux mint, win10(Pro), win7(HP+SP1), android-x86, …
thinkpadnerd
記事: 2475
登録日時: 15/10/25(日) 14:00

Re: mpv+yt-dlp で youtube (bionic64, fossapup64)

投稿記事 by thinkpadnerd »

youtube-dl は更新が止まっていますね。

久しぶりに動画を再生してみたら、途中でバッファーが 0 になってしまって、まともに再生できませんでした。以前はこんなことはなかったのですが...

YouTube の仕様がどんどん変化していく(意図的にやっている?)ので、youtube-dl はそれに対応すべく更新を繰り返していたのですが、更新が止まったことで YouTube の仕様に追随できなくなったものと思います。

yt-dlp を導入したら、うまくいきました。ただ、最近の YouTube は mp4/h264 形式から av01 という新しいフォーマットに移行しつつあるようです。ビデオチップには h264 のハードウエアデコード機能があるのですが、av01 形式ではソフトウエア処理となるので h264 に比べて重いです。

下線部訂正 CPU -> ビデオチップ
ThinkPad X121e (Bionic32 / Bionic64 / F96-CE)
CPU AMD C-50 1.0GHz, RAM 4GB
Arrows Tab Q508/SE (BW32 / BW64 / Easy Daedalus)
CPU intel Atom x7-z8700 2.4GHz, RAM 4GB
アバター
ミトじい
記事: 162
登録日時: 13/09/19(木) 08:43
お住まい: 埼玉県 K市 南O

Re: mpv+yt-dlp で youtube (bionic64, fossapup64)

投稿記事 by ミトじい »

thinkpadnerd さんが書きました: 22/09/13(火) 18:36 YouTube の仕様がどんどん変化していく(意図的にやっている?)ので、youtube-dl はそれに対応すべく更新を繰り返していたのですが、更新が止まったことで YouTube の仕様に追随できなくなったものと思います。
どうも youtube-dl ではもう対応が難しくなって、youtube-dl -> yt-dlc -> yt-dlp とフォークされたらしいですね
yt-dlp -U で随時最新版に更新できるのも、そういう追いかけっこに対応するという一面があるのでしょうか
ありがたく使わせていただくだけの身としては、開発している皆さんの対応継続を祈るばかりです(-人-;)
machine: PC-VN770WG1YW(customed) [4x intel core-i5 M460 2.53GHz, ram: 8GB]
main OS: bionic64-simple-r2 <- special thanks Mr. thinkpadnerd m(_ _)m
sub OS: linux mint, win10(Pro), win7(HP+SP1), android-x86, …
アバター
ルビー
記事: 1282
登録日時: 14/11/24(月) 12:12

Re: mpv+yt-dlp で youtube (bionic64, fossapup64)

投稿記事 by ルビー »

あれまあ本当だ。
去年の暮れで youtube-dl の更新が止まってますね。
YouTube 動画はほとんどこれで見てますが、安定動作してるので気が付きませんでした。
私の環境では 720p でも重ためなので、360p で見てます。
ながら見なので、画面右下に固定です:-)。

ちなみに youtube-dl は何故に python なのだろうと思ってましたが、YouTube 自体が python で書かれてるのが理由らしいです。

コード: 全て選択

mpv --geometry=-0-0 --loop-file=no --load-unsafe-playlists --ytdl-format="[height<=360]/best" "$@"
アバター
ルビー
記事: 1282
登録日時: 14/11/24(月) 12:12

Re: mpv+yt-dlp で youtube (bionic64, fossapup64)

投稿記事 by ルビー »

Bionicpup64でyt-dlpをずっと更新せずに古いバージョンで使っていましたが、先週、動画に接続できなくなりました。
Ver.2024.07.09をダウンロードして使ってみると下記のエラーで動きませんでした。

# yt-dlp_linux --version
Error relocating /lib64/libz.so.1: __snprintf_chk: symbol not found
Error relocating /lib64/libz.so.1: __vsnprintf_chk: symbol not found

アイコンの形が以前と変わって歯車のアイコンになっており、以前は青いジグソーパズルの形でした。
試してみると、最近のアイコンが歯車のバージョンは動かず、古いジグソーパズルのアイコンのバージョンは動くけれども、エラーが出て動画を取得できませんでした。
最新のVer.2024.07.16も歯車アイコンで、同様のエラーで動きません。
以前とは何かの仕様が変わったのかもしれません。

試しにとf96ce-simple-r1では動いたので、安易な発想でlibz.so.1をBionicpup64にコピペしてみましたがダメでした(^^;。

Fossapup64に乗り換えるのは、諸般の事情でまだできないので、このままyt-dlpが使えなければ、Firefoxのピクチャーインピクチャーで我慢するしかなさそうです。
thinkpadnerd
記事: 2475
登録日時: 15/10/25(日) 14:00

Re: mpv+yt-dlp で youtube (bionic64, fossapup64)

投稿記事 by thinkpadnerd »

ルビーさん、お久しぶりです。
ルビー さんが書きました: 24/07/17(水) 17:46 以前とは何かの仕様が変わったのかもしれません。
現行の yt-dlp は python3.8 以上を要求するようになっています。bionicpup64 のレポジトリにあるのは、python3.6 なので、追加インストールしたとしても現行の yt-dlp は動きません。旧バージョンは python2.7 で動いていたようです。
ThinkPad X121e (Bionic32 / Bionic64 / F96-CE)
CPU AMD C-50 1.0GHz, RAM 4GB
Arrows Tab Q508/SE (BW32 / BW64 / Easy Daedalus)
CPU intel Atom x7-z8700 2.4GHz, RAM 4GB
カラフル
記事: 51
登録日時: 20/09/30(水) 13:15

Re: mpv+yt-dlp で youtube (bionic64, fossapup64)

投稿記事 by カラフル »

ルビー さんが書きました: 24/07/17(水) 17:46 Bionicpup64でyt-dlpをずっと更新せずに古いバージョンで使っていましたが、先週、動画に接続できなくなりました。
Ver.2024.07.09をダウンロードして使ってみると下記のエラーで動きませんでした。
試しにとf96ce-simple-r1では動いたので、安易な発想でlibz.so.1をBionicpup64にコピペしてみましたがダメでした(^^;。

Fossapup64に乗り換えるのは、諸般の事情でまだできないので、このままyt-dlpが使えなければ、Firefoxのピクチャーインピクチャーで我慢するしかなさそうです。
Bionicpup64をramモードで起動させて

ytdl-org/ytdl-nightly
https://github.com/ytdl-org/ytdl-nightly/releases/
youtube-dl 2024.07.11を試してみました

いくつかのyoutubの動画で試したところ
追加パツケージのインストールの必要もなく最新のyt-dlpとスピードも変わらなく
再生できました
一度お試しを
アバター
ルビー
記事: 1282
登録日時: 14/11/24(月) 12:12

Re: mpv+yt-dlp で youtube (bionic64, fossapup64)

投稿記事 by ルビー »

thinkpadnerdさん、お久しぶりです。
情報ありがとうございます。

バイナリファイルのyt-dlp_linuxをダウンロードして使っていますが、確かPythonスクリプトを配布する際は、バイナリ(Pythonの実行環境が含まれている)ならば、バイナリファイルを実行するのにPythonの環境は必要ないと思いました。
Pythonスクリプトをそのまま配布する場合は、スクリプトを実行するにはPythonの環境が必要です。
Python 3.8で書かれたyt-dlpが、Python 2.7.15rc1のBionicpup64で使えていたので、この考えは合っていると思いますが、間違っているかもしれません。

なぜ、最近のバージョンのyt-dlpがBionicpup64で動かなくなったのかは、何らかの仕様変更があった結果、yt-dlp_linuxに内包されたPython3が動作する上で、Python3のバグに触ってしまったか、今まではなかった不具合を引き起こしてしまった。
こんな感じではと思いますが、いずれにしろ、私には何もできそうもありませんので、当分は使用をあきらめました。

と、ここまで書いていて、期待できそうなレスがありました。
アバター
ルビー
記事: 1282
登録日時: 14/11/24(月) 12:12

Re: mpv+yt-dlp で youtube (bionic64, fossapup64)

投稿記事 by ルビー »

カラフルさん、ありがとうございます。
動きました。

youtube-dl 2024.07.11で、Bionicpup64 mpvのYouTube動画再生ができました。
いや~、ほとんどあきらめかけていたので、助かりました。感謝です。

ytdl-org/ytdl-nightlyとは初めて聞きましたが、新しい派生版なのか、もしかしてyoutube-dlの本家筋なのですかね。
yt-dlpをyoutube-dlにリネームして使っていたので、また元の使い方に戻れます。
後は、このまま動き続けてくれることを願うばかりです。
thinkpadnerd
記事: 2475
登録日時: 15/10/25(日) 14:00

Re: mpv+yt-dlp で youtube (bionic64, fossapup64)

投稿記事 by thinkpadnerd »

ルビー さんが書きました: 24/07/18(木) 15:32 バイナリファイルのyt-dlp_linuxをダウンロードして使っていますが、確かPythonスクリプトを配布する際は、バイナリ(Pythonの実行環境が含まれている)ならば、バイナリファイルを実行するのにPythonの環境は必要ないと思いました。
ランタイムを同梱したパッケージがあるとは知りませんでした。失礼しました。

yt-dlp_linux を bionicpup64 で実行してみましたが、やはり動きません。ubuntu bionic のサポートは終了しているので、yt-dlp_linux の最新版はビルドの際に ubuntu bionic の環境 (ライブラリのバージョンなど) を切り捨てた (考慮しなくなった) のではないかと思います。
ThinkPad X121e (Bionic32 / Bionic64 / F96-CE)
CPU AMD C-50 1.0GHz, RAM 4GB
Arrows Tab Q508/SE (BW32 / BW64 / Easy Daedalus)
CPU intel Atom x7-z8700 2.4GHz, RAM 4GB
アバター
ルビー
記事: 1282
登録日時: 14/11/24(月) 12:12

Re: mpv+yt-dlp で youtube (bionic64, fossapup64)

投稿記事 by ルビー »

このスレのトップに、昔のスレのリンクがあるので、久しぶりに読んでみました。
当時は、mpv + youtube-dlでYouTube動画を再生するのに思考錯誤を重ねていたので、いろいろややこしいことが書いてあり、端末でコマンドを入力する必要があるような印象を受けてしまいます。
でも、実際はその必要はありません。

参考までに、私の常用の再生方法ですが、YouTube動画のタイトルをデスクトップのアイコンにドラッグするだけです。
詳しく書くと、次の手順になります。

1. mpvでYouTube動画再生用のスクリプトを作成する。
2. パピーのデスクトップにスクリプトのショートカットアイコンを作成する。
3. Firefoxで開いたYouTubeから、動画のタイトルかURLをデスクトップのスクリプトアイコンにドラッグする。
4. mpvで動画が再生される。

スクリプトを作るスキルが必要ですが、少し上の方の記事に書いてあるコードをコピペで動くと思います。
デスクトップにスクリプトのショートカットアイコンを作るのは、ROX-Filerからスクリプトファイルをデスクトップにドラッグします。

Firefoxでは、YouTube動画を再生させておく必要はなくて、並んだ動画のリストから動画のタイトル部分をマウスでドラッグします。
なお、ブラウザからドラッグが効くのは、Mozilla系のブラウザだけのようです。

この方法は、古い非力なPCでのYouTube動画再生に、絶大な効果があります。
今までmpv + youtube-dlには、たいへんお世話になりました。
これもyoutube-dlを紹介してくれたthinkpadnerdさんのおかげです。
改めて感謝します。
最後に編集したユーザー ルビー [ 24/07/18(木) 22:05 ], 累計 1 回
カラフル
記事: 51
登録日時: 20/09/30(水) 13:15

Re: mpv+yt-dlp で youtube (bionic64, fossapup64)

投稿記事 by カラフル »

yt-dlp_linux (2024.07.16)をBionicDog64で試したら問題なく動作したので
Bionicpup64だと足りないものがあるかもって調べたんですが、原因分からずでした

ちなみにBionicpup64でyt-dlp(pythonスクリプト)の方は
パッケージマネージャのデーターベースを更新してpython3.8を依存関係も含めてインストール
ln -s -f /usr/bin/python3.8 /usr/bin/python3
を端末で実行してでシンボリックリンクを貼る

libssl.so.1.1: version `OPENSSL_1_1_1' not foundのエラーが出るので
パッケージマネージャでlibssl1.1をアップデートすることで動作するようになりました

yt-dlp/supportedsites.md
https://github.com/yt-dlp/yt-dlp/blob/m ... edsites.md
yt-dlp対応してる動画サイトがかなり多いですね
thinkpadnerd
記事: 2475
登録日時: 15/10/25(日) 14:00

Re: mpv+yt-dlp で youtube (bionic64, fossapup64)

投稿記事 by thinkpadnerd »

カラフル さんが書きました: 24/07/18(木) 21:34 パッケージマネージャのデーターベースを更新してpython3.8を依存関係も含めてインストール
データベース更新を忘れていました。bionic 用 python3.8 があったのですね。
ThinkPad X121e (Bionic32 / Bionic64 / F96-CE)
CPU AMD C-50 1.0GHz, RAM 4GB
Arrows Tab Q508/SE (BW32 / BW64 / Easy Daedalus)
CPU intel Atom x7-z8700 2.4GHz, RAM 4GB
アバター
ルビー
記事: 1282
登録日時: 14/11/24(月) 12:12

Re: mpv+yt-dlp で youtube (bionic64, fossapup64)

投稿記事 by ルビー »

カラフルさん、いろいろ試してもらってありがとうございます。

Bionicpup64でyoutube-dl 2024.07.11は順調に動いています。
--ytdl-formatオプション無しの「mpv 動画URL」で再生すると、デフォルトの最高音質・最高画質で再生するので多少エラーが出たり、音が出なかったりしますが、--ytdl-formatオプションを指定すれば、今まで通りに安定再生します。

もし、ytdl-org/ytdl-nightlyも動作しなくなったとしても、スクリプトのyt-dlpの選択肢もあるのは心強いです。

yt-dlpが対応してる動画サイトがとても多いとのことですが、本家のyoutube-dlが裁判沙汰にまでなったみたいなのに、yt-dlpは槍玉に上がっていないのですかね。
あまり目立つとまた潰されるから、ほどほどに目立って欲しいと思います。
アバター
ルビー
記事: 1282
登録日時: 14/11/24(月) 12:12

Re: mpv+yt-dlp で youtube (bionic64, fossapup64)

投稿記事 by ルビー »

数日前から、Bionicpup64でytdl-org/ytdl-nightlyが動かなくなり、更新も2024.08.07で止まっています。

yt-dlp_linuxを試しましたが、相変わらず動かないので、スクリプト版のyt-dlpにしようとパッケージマネージャでpython3.8にして試したところ、動作環境がpython3.9に上がってました。orz
パッケジマネージャで出るのは、python3.8までです。

python3.8のFossapup64もyt-dlpは動きませんでしたが、yt-dlp_linuxは動きました。
パッケジマネージャはpython3.9が出てきました。
返信する