ORF Download schlägt via GUI fehl
-
Hallo Zusammen,
erstmal vorweg. Unter Windows funktioniert alles wie es soll. Unter Linux habe ich jedoch folgendes Problem: Ich verwende MV (13.5.1-AppImage) und habe die Einstellungen bzgl ORF gemäß der Anleitung durchgeführt.
Möchte ich jedoch einen Download starten, wird dieser mit 0 Byte als Fehler abgelegt. Ich dachte mir: Das kann doch nicht sein, unter Windows funktioniert’s ja auch. Also habe ich ein Log erstellt und den Programmaufruf von ffmpeg 1:1 in der Shell laufen lassen - Ergebnis: Das Ding wird wie erwartet heruntergeladen.:
$ /usr/bin/ffmpeg -user_agent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36" -i https://apasfiis.sf.apa.at/ipad/cms-worldwide_episodes/14061063_0010_Q8C.mp4/playlist.m3u8 -c copy -bsf:a aac_adtstoasc /home/truster/MediathekView/Liebesgschichten_und_Heiratssachen-0428810555.mp4 (diverse .TS Dateien wurden geladen) [mp4 @ 0x55987ec0ca00] Non-monotonous DTS in output stream 0:0; previous: 235280880, current: 235280880; changing to 235280881. This may result in incorrect timestamps in the output file. frame=65349 fps=434 q=-1.0 Lsize= 1021233kB time=00:43:34.33 bitrate=3200.0kbits/s speed=17.4x video:958014kB audio:61302kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.188018%
Das Video lässt sich auch wunderbar mit Gnome Video abspielen.
Hier läuft Fedora 32 x64
hat jemand eine Idee dazu?
-
Bei mir funktioniert das unter Debian tadellos, wenn ich unter “Set bearbeiten” bei ffmpeg einstelle:
-user_agent “Mozilla” -i %f -c copy -bsf:a aac_adtstoasc **Die Anführungszeichen müssen gerade sein, das Forum hier verwordackelt die immer zu schief.
-
@TrusterX sagte: habe die Einstellungen bzgl ORF gemäß der Anleitung durchgeführt.
Da gibt es da doch einige Anleitungen, aber keine umfasst alle Aspekte mit aktuellen Einstellungen. Leider kann man die Anleitungen nicht aktualisieren, wenn die Mods die entsprechenden Threads (unnötigerweise) geschlossen haben…
Ein Thread besagt zum Beispiel, dass – unter Linux und macOS der User-Agent (UA) – in den MV-Einstellungen fürs Speichern mit ffmpeg keine Leerzeichen enthalten darf (auf der Kommandozeile ist das kein Problem). Nimm deshalb für den UA so etwas wie “Moozzilla” oder Ähnliches (unter Linux und macOS funktioniert aber auch “Mozilla”).
-
-
Ich habe mich tatsächlich auf den Thread bezogen, der vom Programm selbst geöffnet wird, wenn man es zum ersten mal startet. Die Anleitung ist zwar unnötig schwer zu verstehen, auch weil Text und Screenshot z.T:. abweichen, aber unter Windows habe ich es auf Anhieb zum laufen gebracht. Dieselben Einstellungen habe ich auch unter Linux gesetzt, hier klappt jedoch der Download nicht. Möglicherweise grätscht hier SELinux dazwischen, da es doch eine AppImage-Version ist und keine normal installierte Variante. Aber das muss ich mir mal in einer ruhigen Minute reinziehen. Die Einstellungen selbst müssen korrekt sein, denn wie gesagt: 1. funktioniert das identische Setup unter Windows und 2. übertrage ich den Aufruf (zu finden im Log) manuell in die Konsole, klappt der Download mittels FFMpeg auf Anhieb. Ich habe den Befehl mittlerweile soweit umgebaut, sodass der Download on the fly zu einem mpegts Stream umkodiert wird, da mein Receiver nicht jede mp4 Datei spielen will - auch das ist eine Sache, die ich noch nicht verstanden habe. Ich habe mehrere Downloads im selben Format (QT Container, h264 main profile, 25fps, 1280x720p, MPEG4 AAC 48Khz, 192kbps) die eine Datei wird gespielt, die andere nicht… Receiver ist eine gbue4k mit OpenPLI 7.3
@Hildegard: hast du auch die AppImage am laufen?
@styroll: das würde bedeuten, dass das Log lügt. denn, warum sollten Leerzeichen ein Problem darstellen. Zumal das ganze ja in Anführungszeichen steht. Ich kann natürlich versuchen, jedes Leerzeichen zu escapen, denke aber auch nicht, dass es daran liegt. Tatsächlich habe ich auch einfach nur “Moozilla” (mit doppel O) probiert, hat auch nicht funktioniert. Jetzt habe ich Spaßeshalber den UA leer gelassen und es funktioniert. Konkret habe ich den Schalter so konfiguriert:
-user_agent "" -i %f -c:v libx264 -c:a aac -b:a 160k -bsf:v h264_mp4toannexb -f mpegts -crf 32 **
Der Download wird zwar am Ende des transkodieren als Fehlerhaft in MV markiert, die Datei funktioniert jedoch einwandfrei. Damit kann ich leben.
-
@TrusterX sagte: warum sollten Leerzeichen ein Problem darstellen. Zumal das ganze ja in Anführungszeichen steht. Ich kann natürlich versuchen, jedes Leerzeichen zu escapen, denke aber auch nicht, dass es daran liegt.
Du kannst glauben und denken, was du willst. Meine Aussage beruht auf empirischen Befunden von mir selbst und anderen Personen. Und immer wieder haben User Ähnliches wie du behauptet, und im Nachhinein stellte sich heraus, dass eben doch ein Fehler (wie falsche Anführungszeichen) im Programmaufruf oder der Test mit einem bereits angelegten Download (mit den alten immer noch falschen Einstellungen) erfolgt ist…
c:v libx264 -c:a aac -b:a 160k -bsf:v h264_mp4toannexb -f mpegts -crf 32 **
Ich hoffe jetzt mal, dass du weisst, was du da tust, und beabsichtigst genau das: H264-Video und AAC-Audio erneut zu recodieren (statt das Bitstreamformat alleine zu ändern)…
-
Der Programmaufruf war korrekt. 1:1 in eine Shell übertragen hat er auch funktioniert. Ich habe natürlich nach jeder Änderung den Download aus der Liste entfernt. Sogar das Programm habe ich nach jeder Änderung geschlossen und neu gestartet. Ergo stimmt irgendwas nicht bei der Übergabe vom Programm. Was, kann ich als Nicht-Entwickler nicht sagen, aber, als Nicht-Entwickler kann ich, den Befehl aus dem Log, welcher nicht funktioniert hat, 1:1 in die Shell kopieren und dort erfolgreich ausführen lassen. Ich kann gerne ein “Beweisvideo” davon drehen, wenn’s sein muss.
Wie gesagt, im Originalformat akzeptiert z.T. meine Box die Daten nicht. die eine Datei akzeptiert er, die andere wird nicht gespielt, obwohl es lt. Container der gleiche Inhalt ist. Durch das rekodieren stelle ich sicher, dass die Datei auf jeden Fall funktioniert. Ich bin kein Videogeek - gerne werde ich aber deinen Tipp beherzigen, jedoch sehe ich vor Lauter Bäume den Wald gerade nicht. Der von mir gewählte Workaround funktioniert erstmal, auch wenn ich damit etwas CPU verballere, aber für die 2-3 Videos / Woche tut’s das, bis ich was besseres gefunden habe oder mir auch gerne der richtige Fingerzeig gegeben wird
Wie auch immer, das Ursprüngliche Problem ist vorerst gelöst, indem ich einen leeren UA mitsende. Alles weitere ist ggf. in einem neuen Thread besser aufgehoben. Kann auch gerne ab dieser Stelle von einem Mod abgetrennt werden, wenn möglich.
Edit: Wald gefunden - Bitstreamformat alleine ändern reicht nicht aus, die Box spielt die Datei nicht ab.
-
@TrusterX sagte in ORF Download schlägt via GUI fehl:
Der Programmaufruf war korrekt. 1:1 in eine Shell übertragen hat er auch funktioniert. Ich habe natürlich nach jeder Änderung den Download aus der Liste entfernt. Sogar das Programm habe ich nach jeder Änderung geschlossen und neu gestartet. Ergo stimmt irgendwas nicht bei der Übergabe vom Programm. Was, kann ich als Nicht-Entwickler nicht sagen, aber, als Nicht-Entwickler kann ich, den Befehl aus dem Log, welcher nicht funktioniert hat, 1:1 in die Shell kopieren und dort erfolgreich ausführen lassen. Ich kann gerne ein “Beweisvideo” davon drehen, wenn’s sein muss.
Das kannst du gerne machen und Screenshots und noch 5 Beiträge weiter.
Du könntest dir aber auch von anderen Linux-Usern wie mir sagen lassen daß styroll dir keinen Unsinn erzählt und einfach den Rat annehmen nur ein EINZIGES Wort ohne Whitespaces als Useragent-String zu benutzen.
Bei der Weitergabe des ffmpeg Aufrufs an Linux werden die Leerzeichen nicht richtig weitergegeben.
Glaub mir einfach, ich hab das alles schon zur Genüge durchgetestet und auf alle möglich Arten escaped. Ändert nichts. -
@vitusson Du hast recht, der User Agent sollte nur ein Wort sein. Ich werde das in einer nächsten Version anpassen.
-
Servus Zusammen.
@vitusson: ich glaube dir, ich habe das gestern auch noch versucht. Mit den mir bekannten Escapesequenzen für Java, Bash usw.
Den Rat von dir, bzw. Styroll habe ich schon verstanden und auch befolgt. Ich habe auch nie behauptet, dass, was gesagt wurde, Unsinn wäre. Es ist meines Erachtens einfach nur nicht die richtige Lösung, bestenfalls ein Würgaround. Grundsätzlich macht es doch am meisten Sinn, den User Agent von z.B. einen aktuellen Browser zu imitieren. Ich kenne keinen Browser, welcher mit einen einzelnen Wort auskommt. OK Mosaic vielleicht noch, dieser hatte NCSA-Mosaic/2 wenn ich es richtig im Kopf habe
Ich schicke jetzt einen leeren UA mit. Mal sehen, wie lange das gut geht. Die wirklich einzige langfristige Lösung wäre meines Erachtens, versuchen herauszufinden, warum der Programmaufruf mit vollständigem UA inklusive Whitespaces nicht korrekt funktioniert.
Unter Windows scheint es ja auch zu funktionieren. Ok - ich weiß natürlich nicht, was am anderen Ende am Server ankommt, aber ich könnte mal versuchen, einen zweiten Rechner dazwischen zu hängen und mit Wireshark einen Mitschnitt zu machen. aber derzeit habe ich keine freien NICs herumliegen. Aber ich hab noch einen Mikrotik herumliegen, fällt mir gerade ein… ich glaube, dieser kann das auch… Ui, das wird wieder ein schöner Abend
@DerReisende77: dem widerspreche ich, Begründung s.O.
-
@Georg-J
Ich muss zugeben, die Idee ist nicht schlecht, aber ich wüsste jetzt nicht, wie ich das mit ffmpeg testen sollte.Edit: na klar, ich installiere einen Webserver und dreh dort das Debugging Log auf. Da müsste ich doch sehen, wie sich ffmpeg meldet. Meine Güte, mir ist momentan echt nicht zu helfen - muss an der Hitze liegen
-
@TrusterX sagte in ORF Download schlägt via GUI fehl:
dem widerspreche ich, Begründung s.O.
Ich sehe keine Begründung, sondern nur eine geäußerte Meinung (ist ja ok, wenn das Deine Meinung ist).
Es gibt einige Gründe, warum der user-agent möglichst einfach sein sollte.
Praktikabilität ist einer davon. Datenschutz ein anderer. Um nur zwei Beispiele zu nennen.
Und warum es langfristig die beste Lösung sein soll den user-agent eines (aktuellen) Browsers zu nehmen wenn die großen Broswerhersteller an der Ablösung des user-agents arbeiten und es da (auch schon seit einiger Zeit) verschiedenste Initiativen gibt, ist mir auch ein Rätsel.
-
@TrusterX sagte in ORF Download schlägt via GUI fehl:
aber ich könnte mal versuchen, einen zweiten Rechner dazwischen zu hängen und mit Wireshark einen Mitschnitt zu machen. aber derzeit habe ich keine freien NICs herumliegen. Aber ich hab noch einen Mikrotik herumliegen, fällt mir gerade ein… ich glaube, dieser kann das auch… Ui, das wird wieder ein schöner Abend
Wenn mich das interessieren würde, würde ich halt im ersten Schritt statt ffmpeg im speichern-set ein script aufrufen, dass die übergebenen Parameter echo-t. Einfach einmal festzustellen, ob die Parameterübergabe von JAVA an die Linux-Umgebung was vermurkst. Dafür spricht ja, dass der im Logfile protokollierte Aufruf auf der Shell funktioniert.
-
@TrusterX sagte in ORF Download schlägt via GUI fehl:
Servus Zusammen.
@vitusson: ich glaube dir, ich habe das gestern auch noch versucht. Mit den mir bekannten Escapesequenzen für Java, Bash usw.
Den Rat von dir, bzw. Styroll habe ich schon verstanden und auch befolgt. Ich habe auch nie behauptet, dass, was gesagt wurde, Unsinn wäre. Es ist meines Erachtens einfach nur nicht die richtige Lösung, bestenfalls ein Würgaround. Grundsätzlich macht es doch am meisten Sinn, den User Agent von z.B. einen aktuellen Browser zu imitieren. Ich kenne keinen Browser, welcher mit einen einzelnen Wort auskommt. OK Mosaic vielleicht noch, dieser hatte NCSA-Mosaic/2 wenn ich es richtig im Kopf habe
Warum macht das am meisten Sinn wenn der
zuschauerunfreundliche und miserabel konfigurierte ORF auch mit einem einzigen Wort als Agent zufrieden ist? Niemand dort verlangt einen vollen validen Browserstring.Normalerweise braucht es auch genau gar keinen Agent-String, wenn man mittels ffmpeg auf eine m3u-datei zugreift. Mache ich täglich.
Der WDR zB. braucht auch keinen.
Das Problem ist der ORF, nicht MV und nicht ffmpeg.Aber ich bin da auch jetzt raus, mich interessieren weder der ORF noch künstliche Probleme, die keine sind.
-
@DaDirnbocher sagte in ORF Download schlägt via GUI fehl:
Und warum es langfristig die beste Lösung sein soll den user-agent eines (aktuellen) Browsers zu nehmen wenn die großen Broswerhersteller an der Ablösung des user-agents arbeiten und es da (auch schon seit einiger Zeit) verschiedenste Initiativen gibt, ist mir auch ein Rätsel.
Noch ist der aber nicht abgeschafft. Er ist noch in Verwendung und wird auch noch geprüft, wie man hier beim ORF sieht. Der User-Agent eines existierenden Browsers kann nicht geblockt werden, ohne auch den Browser auszusperren.