Seite 1 von 1

Download-Fortschrittsanzeige

Verfasst: 12.08.2023, 07:26
von wallobit
Benutzt man ffmpeg als Hilfsprogramm im Download-Set, zeigt der MTPlayer die Fortschrittsanzeige an. Diese Fortschrittsanzeige funktioniert mit dem Hilfsprogramm yt-dlp nicht. Da yt-dlp mittlerweile ein gängiges Tool ist, wäre es super, auch hier die laufenden Daten abzufragen und in die Fortschrittsanzeige zu übernehmen.

Re: Download-Fortschrittsanzeige

Verfasst: 12.08.2023, 18:04
von XaverW
ja, werds mir anschauen was da geht.

Re: Download-Fortschrittsanzeige

Verfasst: 13.08.2023, 13:24
von XaverW
kannst du mir mal deine Seteinstellungen schicken:
aus dem KonfigFile (mtp.xml):
<SetDataList>
<SetData>
<id>Speichern</id>
.....
</SetData>
Warum verwendest du yt-dlp zum Download der Filme und nicht ffmpeg? Auch yt-dlp verwendet ffmpeg zum Download. Das ist ein eigentlich ein Downloadmanager und wenn das im Set dafür eingeschaltet ist, wird der Download gestartet und für MTPlayer ist er dann damit auch erfolgreich erledigt, also fertig.

Re: Download-Fortschrittsanzeige

Verfasst: 15.08.2023, 23:02
von wallobit
Ich verwende natürlich auch ffmpeg. yt-dlp kommt da zum Einsatz, wo der Crawler keine Daten findet. Mein Beispiel: Die Filme auf Arte werden als MP4 bis zur Auflösung von 720p angezeigt. Auf der Webseite gibt es aber auch die Auflösung von 1080p als m3u8 mit getrennten Video- und Audiospuren. yt-dlp benötigt nur die Adresse des Films auf der Webseite, um den Film zu erfassen. Diese Adresse kann ich aus dem MTPlayer heraus mit %w übergeben. Der Codec der heruntergeladenen Datei ist AVC, der Container MP4.
Das Set ist getestet und funktioniert gut. Was nicht geht, ist die Fortschrittsanzeige von yt-dlp innerhalb des MTPlayers. Da yt-dlp ein gängiges Tool ist, könnte man den Fortschritt vielleicht abfragen und einbauen, unabhängig davon, was man mit yt-dlp veranstaltet.

Mein Beispiel-Set für yt-dlp ist speziell für Arte.

<SetData>
<id>Speichern</id>
<visibleName>Speichern</visibleName>
<prefix>http</prefix>
<suffix>mp4,mp3,m4v,m4a,webm</suffix>
<color>#990000ff</color>
<destPath>D:\Ablage</destPath>
<destName>MT mp4 - %T.%S</destName>
<play>false</play>
<save>true</save>
<button>true</button>
<abo>false</abo>
<maxSize>100</maxSize>
<maxField>0</maxField>
<resolution>hd</resolution>
<description>Standardset zum Speichern der Filme</description>
<infoFile>false</infoFile>
<subtitle>false</subtitle>
<genAboSubDir>false</genAboSubDir>
<aboSubDir_ENSubDirNo>2</aboSubDir_ENSubDirNo>

<ProgramList>
<Program>
<name>ffmpeg</name>
<destName>MT m3u8 - %T.mp4</destName>
<progPath>bin\ffmpeg.exe</progPath>
<progSwitch>-user_agent "Mozilla/5.0" -i %f -c copy -bsf:a aac_adtstoasc "**"</progSwitch>
<prefix>http</prefix>
<suffix>m3u8</suffix>
<restart>false</restart>
<downManager>false</downManager>
</Program>
<Program>
<name>VLC</name>
<destName>%t-%T-%Z.ts</destName>
<progPath>cmd</progPath>
<progSwitch>/c "C:\Program Files\VideoLAN\VLC\vlc.exe" %f :sout=#standard{access=file,mux=ts,dst="**"} -I "dummy"
--play-and-exit
</progSwitch>
<restart>false</restart>
<downManager>false</downManager>
</Program>
</ProgramList>
</SetData>
<SetData>
<id>1691650916982</id>
<visibleName>Arte Full HD</visibleName>
<color>#000000ff</color>
<play>false</play>
<save>true</save>
<button>true</button>
<abo>false</abo>
<maxSize>0</maxSize>
<maxField>0</maxField>
<resolution>hd</resolution>
<description>Speichern von der Website mit yt-dlp</description>
<infoFile>false</infoFile>
<subtitle>false</subtitle>
<genAboSubDir>false</genAboSubDir>
<aboSubDir_ENSubDirNo>2</aboSubDir_ENSubDirNo>

<ProgramList>
<Program>
<name>yt -dlp</name>
<destName>MT yt-dlp Full HD - %T.mp4</destName>
<progPath>C:\Program Files (x86)\yt-dlp\yt-dlp.exe</progPath>
<progSwitch>--no-call-home --no-mtime -f bestvideo[height=1080]+bestaudio --output "**" %w</progSwitch>
<restart>false</restart>
<downManager>false</downManager>
</Program>
</ProgramList>
</SetData>

Re: Download-Fortschrittsanzeige

Verfasst: 16.10.2023, 16:38
von XaverW
Hi,

habs eingebaut. Funktioniert unter Linux (wie einfach alles unter Linux klappt! :) ).

Zwei Probleme gibts aber:
Die Tonspur wird immer noch zusätzlich geladen, Problem ist, dass die Fortschrittsanzeige deswegen 2x durchläuft.

Fortschritt klappt auch unter Win, habe da aber der Problem: yt-dlp hängt an den vorgegebenen Dateinamen noch ein paar Kürzel an??
So sollte er sein:
Aktuelles und Gesellschaft - Hintergrund-Mit offenen Karten - Im Fokus - Jordanien, der Konflikt.mp4
und yt-dlp macht das daraus:
Aktuelles und Gesellschaft - Hintergrund-Mit offenen Karten - Im Fokus - Jordanien, der Konflikt.fVA-2458.mp4

Deswegen werden die Doanlods dann als fehlerhaft markiert, weil "nicht da", die Dateien sind aber schon OK.

Klappt das bei dir?

Wäre dann im nächsten Daily drin.

Re: Download-Fortschrittsanzeige

Verfasst: 16.10.2023, 17:14
von linuxopa
yt-dlp funzt hier einwandfrei

Schalter in MTPlayer: %f -o **

meine yt-dlp config:
-buffer-size 1M
--console-title
--continue
--http-chunk-size 1M
--ignore-errors
--no-part
--output "%(title)s.%(ext)s"
--prefer-ffmpeg
--restrict-filenames
--retries 100
--socket-timeout 10
--yes-playlist

Re: Download-Fortschrittsanzeige

Verfasst: 16.10.2023, 19:18
von XaverW
danke.

Habe den Fehler unter Win gefunden. Es muss zusätzlich ffmpeg installiert sein, nur dann kann er die Tonspur mit dem Video zusammen mischen :(
Jetzt läufts auch unter Win. Ist dann im nächsten Daily drin.

Re: Download-Fortschrittsanzeige

Verfasst: 18.12.2023, 17:17
von wallobit
Funktioniert in Version 15 super. Danke!

Re: Download-Fortschrittsanzeige

Verfasst: 18.12.2023, 17:22
von linuxopa
schlage eine Systemabfrage beim 1. Start vor, ob alle notwendigen Bestandteile vorhanden sind, wie z.B. ffmpeg

bei linux z.B. 'which ffmpeg'

Re: Download-Fortschrittsanzeige

Verfasst: 25.12.2023, 13:12
von thowe
wallobit hat geschrieben: 15.08.2023, 23:02 <ProgramList>
<Program>
<name>yt -dlp</name>
<destName>MT yt-dlp Full HD - %T.mp4</destName>
<progPath>C:\Program Files (x86)\yt-dlp\yt-dlp.exe</progPath>
<progSwitch>--no-call-home --no-mtime -f bestvideo[height=1080]+bestaudio --output "**" %w</progSwitch>
<restart>false</restart>
<downManager>false</downManager>
</Program>
</ProgramList>
</SetData>
Das hat bei mir erst funktioniert, als für yt-dlp das "[height=1080]" rausgenommen habe. --?? Egal. Funktioniert jedenfalls.