staging.inyokaproject.org

youtube mit mpv

Status: Ungelöst | Ubuntu-Version: Ubuntu MATE 22.04 (Jammy Jellyfish)
Antworten |

Marant--

Anmeldungsdatum:
4. April 2022

Beiträge: 744

Ich habe es nicht hinbekommen. Hat da jemand einen Tipp für ein funktionierendes Add on?

Bevor ich was dazu schreibe, die Frage. Läuft das denn überhaupt in mpv flüssig?(also über's Terminal starten) In welcher Auflösung, welcher Codec? (Taste i)

mpv.conf muss/kann bzgl. Wiedergabe-Auflösung/Codec gesetzt werden. Denke, das ist hier auch sinnvoll.

Das wäre dann bspw. für max Auflösung:

ytdl-format=best[height<=?720]

Moderiert von redknight:

Abgetrennt von hier, das Thema ging in eine komplett andere Richtung

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5232

Ich habe noch eine Idee. Webbrowser müssen ja auch erst mal alles runterladen und zwischenspeichern. Dafür gibt es den Cache auf dem Massenspeicher. Oft macht ein Browser auch zwischenspeichern auf dem Laufwerk, um bei unvorhergesehen Absturzen wieder herstellen zu können. So was kann auch Ruckler machen. Ich betreibe meine Browser mit Cache auf tmpfs anstatt auf dem Massenspeicher. tmpfs wäre also eine weitere Möglichkeit um noch ein winziges bisschen Performance herauskitzeln zu können. Vorausgesetzt der Arbeitsspeicher ist nicht zu knapp.

verdooft

Anmeldungsdatum:
15. September 2012

Beiträge: 4450

Ich schaue Youtubevideos manchmal so:

mpv --ytdl-format="bestvideo[height=?360][fps<=?30][vcodec!=?vp9]+bestaudio/best" url

Weil mir oft eine niedrige Auflösung reicht und ich nicht mehr als 30 FPS brauche, anscheinend kann meine GPU jetzt auch vp9, stammt noch aus der Zeit, wo ich dachte, dass das nicht der Fall ist. Man kann auch Aliase anlegen, etwa mpv360.

Marant--

(Themenstarter)

Anmeldungsdatum:
4. April 2022

Beiträge: 744

anscheinend kann meine GPU jetzt auch vp9

Warum sollte das nicht gehen, was nicht gehen könnte ist HW Dec. Unterstützung.

vcodec!=?vp9

Habe nicht nachgesehen, "!" dürfte heissen, dass keine vp9 genommen werden, sondern nur Alternativen. Welcher Codec genommen wird zo sehen mit Taste "i". Alle Codecs sehen:

yt-dlp -F <Adresse>

Wenn Du das

ytdl-format="bestvideo[height=?360][fps<=?30][vcodec!=?vp9]+bestaudio/best"

in die mpv.conf einträgst , macht mpv das immer.

Kätzchen

Avatar von Kätzchen

Anmeldungsdatum:
1. Mai 2011

Beiträge: 7130

Marant-- schrieb:

In welcher Auflösung, welcher Codec? (Taste i)

mpv --ytdl-format=best https://www.youtube.com/watch?v=LXb3EKWsInQ

1280x720 30 FPS

Zum Codec: h264

Marant--

(Themenstarter)

Anmeldungsdatum:
4. April 2022

Beiträge: 744

Dann nehme ich gleich mal die Vorlage von @verdooft.

ytdl-format="bestvideo[height<=?720][fps<=?30][vcodec!=?vp9]+bestaudio/best"
#bzw.
mpv --ytdl-format="bestvideo[height<=?720][fps<=?30][vcodec!=?vp9]+bestaudio/best" <Adresse>

Damit sollten dann Alle laufen. Probiere es, läuft es, kommt dann die AddOn Sache.

Bild noch nicht da, wollte mal sehen, ob HW Dec aktiv ist. Die CPU unterstützt

h264: Dekodieren / Enkodieren.

edit

geä. auf [height<=?720]

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5232

Damit die Hardwarebeschleunigung funktioniert muss FFmpeg auch mit dem passenden hwaccels gebaut sein. Hier das HWAccelIntro im FFmpeg Wiki:

Nachschauen im Terminal:

ffmpeg -hwaccels

Firefox braucht vaapi und Intel GPU braucht libmfx. Wenn es nicht passt, dann kann man den FFmpeg selbst bauen.

Kätzchen

Avatar von Kätzchen

Anmeldungsdatum:
1. Mai 2011

Beiträge: 7130

Das hier läuft flüssig:

simon@mini:~$ mpv --ytdl-format=best https://www.youtube.com/watch?v=LXb3EKWsInQ
 (+) Video --vid=1 (*) (h264 1280x720 29.970fps)
 (+) Audio --aid=1 (*) (aac 2ch 44100Hz)
Cannot load libcuda.so.1
Using hardware decoding (vaapi).
AO: [pulse] 44100Hz stereo 2ch float
VO: [gpu] 1280x720 vaapi[nv12]
AV: 00:00:24 / 00:05:13 (8%) A-V:  0.000 Dropped: 1 Cache: 289s/67MB

Exiting... (Quit)

Das hier stockt:

mpv --ytdl-format="bestvideo[height=?720][fps<=?30][vcodec!=?vp9]+bestaudio/best" https://www.youtube.com/watch?v=LXb3EKWsInQ
[ytdl_hook] EDL doesn't support fragmentswithout duration with MP4 DASH 
EDL specifies no segments.'
EDL parsing failed.
Error in EDL.
EDL: source file 'edl://!mp4_dash,init=%921%https://rr1---sn-uigxx50n-8pxr.googlevideo.com/videoplayback?expire=1686362300&ei=XISDZOPCI7Okx_AP17yGuAU&ip=91.141.76.243&id=o-ABfyda3IS8--vvhB0z3S2wbDCF2iQZkYS4NJBhqQOegt&itag=251&source=youtube&requiressl=yes&mh=NH&mm=31%2C29&mn=sn-uigxx50n-8pxr%2Csn-c0q7lns7&ms=au%2Crdu&mv=m&mvi=1&pl=20&initcwndbps=663750&spc=qEK7B3bbh8nkDTG0h74JrMhNdPq_OL0&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=5199784&dur=313.801&lmt=1647453650291076&mt=1686340426&fvip=4&keepalive=yes&fexp=24007246&beids=24350018&c=ANDROID&txp=4532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRgIhANChxNUrpyNjc2meFC3lvXH4e-hkzd-chpCfK9VwzO9vAiEAtczPvy3efEsXudQXpm1zbu-3pzDp_Rjs6M8ZL_olUpI%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgWTxRAOXa4OX_8CQhZWfJE3-z1mCG3-6ZIIh1_3evNmgCICQKYaQdDLNf2tGVYd-X5niPUV2PmjqguWWjysv5sLGq&range=0-5199784;' has unknown duration.
 (+) Video --vid=1 (*) (h264 1280x720 29.970fps)
File tags:
 Uploader: Jacob + Katie Schwarz
 Channel_URL: https://www.youtube.com/channel/UCYq-iAOSZBvoUxvfzwKIZWA
Cannot load libcuda.so.1
Using hardware decoding (vaapi).
VO: [gpu] 1280x720 vaapi[nv12]
(Buffering) V: 00:00:04 / 00:05:13 (1%) Dropped: 1 Cache: 0.8s/136KB
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Packet corrupt (stream = 0, dts = 60400).
[ffmpeg] NULL: Invalid NAL unit size (50254 > 48543).
[ffmpeg] NULL: missing picture in access unit with size 48601

Exiting... (Quit)

PS: Vielen Danke für deine eure Hilfe!

Marant--

(Themenstarter)

Anmeldungsdatum:
4. April 2022

Beiträge: 744

Das hier stockt:

Ja, Hier auch , Audio fehlt. Bin noch beim Suchen.

Kätzchen

Avatar von Kätzchen

Anmeldungsdatum:
1. Mai 2011

Beiträge: 7130

Marant-- schrieb:

Das hier stockt:

Ja, Hier auch , Audio fehlt. Bin noch beim Suchen.

Warum soll ich nicht das verwenden? Erkläre mir das bitte kurz, Danke!

Kätzchen schrieb:

Das hier läuft flüssig:

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5232

Kätzchen schrieb:

Das hier stockt:

mpv --ytdl-format="bestvideo[height=?720][fps<=?30][vcodec!=?vp9]+bestaudio/best" https://www.youtube.com/watch?v=LXb3EKWsInQ

Das stockt bei mir auch. Sogar schlimmer als die volle 4K Version, die wegen dem Codec bei mir keine Hardwarebeschleunigung hat. Sieht aber bei mir so aus, als würde Youtube schlichtweg die Daten nicht schnell genug liefern. Und der Audio-Stream führt zu underruns, es spuckt mir zumindest ins Terminal:

Audio device underrun detected.

Hier mal etwas mehr Terminalausgabe:

mpv --ytdl-format="bestvideo[height=?720][fps<=?30][vcodec!=?vp9]+bestaudio/best" https://www.youtube.com/watch?v=LXb3EKWsInQ
 (+) Video --vid=1 (*) (h264 1280x720 29.970fps)
 (+) Audio --aid=1 --alang=eng (*) (opus 2ch 48000Hz)
File tags:
 Uploader: Jacob + Katie Schwarz
 Channel_URL: https://www.youtube.com/channel/UCYq-iAOSZBvoUxvfzwKIZWA
Using hardware decoding (nvdec).
AO: [pipewire] 48000Hz stereo 2ch floatp
VO: [gpu] 1280x720 cuda[nv12]
AV: 00:00:00 / 00:05:13 (0%) A-V:  0.001 Cache: 0.0s/12KB
Audio device underrun detected.
AV: 00:00:02 / 00:05:13 (1%) A-V:  0.000 Dropped: 4 Cache: 0.0s/25KB
Audio device underrun detected.
AV: 00:00:04 / 00:05:13 (1%) A-V:  0.000 Dropped: 7 Cache: 0.0s/22KB
Audio device underrun detected.
AV: 00:00:05 / 00:05:13 (2%) A-V:  0.000 Dropped: 9 Cache: 0.0s/27KB
Audio device underrun detected.
AV: 00:00:12 / 00:05:13 (4%) A-V:  0.000 Dropped: 13 Cache: 0.0s/47KB
Audio device underrun detected.
(Buffering) AV: 00:00:12 / 00:05:13 (4%) A-V:  0.000 Dropped: 13 Cache: 0.2s/183KB

Marant--

(Themenstarter)

Anmeldungsdatum:
4. April 2022

Beiträge: 744

@trollsportverein

Wenn Du die [fps<=?30] rausnimmst sollte das Stocken weg sein. Allerdings immernoch kein Ton. Audio komplett weg hier, trotz X Versuche. 😬 In 4K da.

Kätzchen

Avatar von Kätzchen

Anmeldungsdatum:
1. Mai 2011

Beiträge: 7130

Marant-- schrieb:

[fps<=?30] rausnimmst sollte das Stocken weg sein.

Wenn ich eine kleiner Zahl als 30 nehme habe ich 29.970 fps, Bild flüssig, Ton da.

Marant--

(Themenstarter)

Anmeldungsdatum:
4. April 2022

Beiträge: 744

Wenn ich eine kleiner Zahl als 30 nehme

Da würde mich mal die gesamte Ausgabe mit "i" interessieeren.

Ton da.

Hier nicht, aber damit geht's dann:

mpv --ytdl-format="best+bestvideo[height<=?720][fps<=30][vcodec!=?vp9]" https://www.youtube.com/watch?v=LXb3EKWsInQ

Das hier läuft flüssig:

simon@mini:~$ mpv --ytdl-format=best https://www.youtube.com/watch?v=LXb3EKWsInQ

Kapiere ich nicht. Eigentlich hätte ich erwartet, dass der auf 4K mit "best" allein geht.

@trollsportverein Sieht aber bei mir so aus, als würde Youtube schlichtweg die Daten nicht schnell genug liefern.

Ja, mpv Cache läuft periodisch leer.


edit

Hier nicht, aber damit geht's dann:

Ist doch Quatsch. Auflösung lässt sich nicht reduzieren. Ist "best" was dennoch zum Abspielen führt. Wieso in 1280x720 ist mir ein Rätsel. Obwohl... glaube beim Download ist "best" auch nur HD.

Also

mpv --ytdl-format=best <Adresse>

scheint momentan allein zum gewünschten Ergebis: <=HD,kein VP9,<=30Hz zu führen.

verdooft

Anmeldungsdatum:
15. September 2012

Beiträge: 4450

Bei meiner Hardware machts jetzt kaum mehr einen Unterschied, ob ich einfach "mpv url", ist dann oft Full HD, nehme oder die Auflösung runtersetze. Ich verwende mpv, ffmpeg und yt-dlp aktueller als aus den Paketquellen.

Version 6.0:
[...]
- VAAPI decoding and encoding for 10/12bit 422, 10/12bit 444 HEVC and VP9

https://github.com/FFmpeg/FFmpeg/blob/master/Changelog

Bei dir (Kätzchen) steht ja schon, dass die Videowiedergabe per GPU läuft.

Es gibt auch noch irgrendeinen Bug wegen mpv/yt-dlp Inkompatiblität, wo dann Audio komplett fehlt. Hatte ich bei sehr neuen YT-Uploads mal und habe entsprechend recherchiert. Bzw. vielleicht rendert Yt im Hintergrund noch Varianten mit anderen Codecs, in anderen Auflösungen.

Wegen underrun irgendwas, ich habs Video auch schon angehalten und gewartetet, bis mehr Cache gefüllt war.

Ich war lange an einem T400er Notebook mit Intel Core2 Duo P9500 @ 2.53GHz, first seen 2008, selbst der war schon fast doppelt so flott wie dein 6 Watt Prozessor. Auch wenn das Decoding per GPU läuft, bisschen CPU Last erzeugen auch mpv, andere Player und vor Allem die Websites in Webbrowsern.

Drum ist mein abschließender Tipp: Holst du dir mal was flotteres, wirst du viel entspannter neue Dinge am Rechner erledigen können, parallel Videos schauen können usw..

Antworten |