kleines Script für linux, falls Breite x Höhe > 1280 x 720



  • weil unser TV ne alte Gurke ist, kann er nur max 1280x720.
    Also die mp4 downgraden:

    IFS=""
    for file in .mp4
    do
    width=$(ffprobe -v quiet -select_streams v:0 -show_entries stream=width -of csv=s=x:p=0 $file)
    heigth=$(ffprobe -v quiet -select_streams v:0 -show_entries stream=height -of csv=s=x:p=0 $file)
    if [ $heigth > 720 ] || [ $width > 1280 ]
    then
    echo "Datei: "$file
    echo "Breite: "$width
    echo "Höhe: "$heigth
    ffmpeg -i $file -vf scale=1280:720 -c:v libx264 -preset fast -c:a copy "${file%%.
    }_1280.${file##*.}"
    fi
    done

    für die Mausschubser tut das z.B. Handbrake



  • @TVOpa Danke für den Hinweis mit ffprobe. Das kann ich ggfs. woanders gut gebrauchen.👌🏻

    Möglicherweise sorgst Du ja mit dem 1080p Download vor für Tage, an denen die 720p Möhre den Geist aufgibt und Du Dir einen 8K Fernseher 😎 an deren Stelle hinstellst…
    …und dann froh bist, schon 1080p Videos zu haben und nicht 720p.👍🏻

    Falls nicht, nur mal als Anregung:
    Videos mit Auflösung größer als 720p gibt es ja z.B. beim SWR.
    Dort haben die Dateien zum Download oft ein suffix “xxl” vor der Dateiendung, und haben dann 1080p.
    Wenn ich mir die HTML-Codes der in MV verlinkten Webseiten in der SWR-Mediathek so anschaue (das können echte Männer natürlich mit wget und grep und einem perl-Script lesen lassen 💪🏼 ), dann gibt es neben den 1080p Videodateien mit suffix “xxl” oft auch Dateien mit suffix “xl”. Und diese “xl” Version hat Auflösung 720p.
    (Andere Sender haben andere Schemata zur Benennung der verschiedenen Dateiversionen, aber ggfs. kann man auch da aus dem Dateinamen für Auflösung x auf den Dateinamen für Auflösung y schließen. Bin zuversichtlich…wenn man diese Frage stellt, dass ein paar der MV-Power-user hier super Tips geben werden)

    Man könnte also im Prinzip so vorgehen und in MV

    • einen HD Download von SWR anlegen
    • den Download nicht “sofort starten” lassen
    • in der Download-Liste den “Download ändern”
    • im entsprechenden Dialog im Textfeld URL das “xxl” zu “xl” ändern
    • und dann von vornherein den Download der 720p Datei starten. 🤔

    in diesem Ansatz ist halt kein Linux script dabei, welches einem das Leben erleichtert. Also 0 Punkt für coolness 😢

    Die Mausschubser könnten die xl Version aus der Sendungsseite auch mit irgendeinem einem anderen in Java geschriebenen Download Programm als MV machen… 🤫

    Neben 1080p und 576i weitere Auflösungen zB 720p in die JSON Filmliste schreiben wäre…
    …ich möchte diesen Vorschlag lieber nicht mal denken🤭 🤫 🤫 🤫
    (Die Konsequenzen wären glaub ich … ebenso gruslig wie grausam 👻 )



  • den Download statt direkt an /usr/bin/ffmpeg weiterzugeben erst ein Script zur Bewertung zwischenschalten; wenn ich mal wieder Lust auf tippen habe 🙂



  • @TVOpa
    ffmpeg braucht man afaik nur für .m3u8 auf der Quellseite (z.B. beim ORF)

    Die Quelle des Download beim SWR ist 1:1 die .mp4 Datei, die MV auf die Platte holt(L164ff, insb. L177+L191)



  • @rubikon

    "Externer Downloadmanager

    Ist dieser Punkt selektiert, geht das Programm davon aus, dass das eingerichtete
    Hilfsprogramm sich um den Download komplett selbst kümmert. Für MediathekView
    ist mit dem Aufruf des Hilfsprogramms der Download erfolgreich abgeschlossen."

    die Hilfe ist hier nicht so hilfreich,

    1

    lt. Hilfe sollte das reichen, aber was will MV denn noch?

    2

    das Script ist ausführbar und läuft manuell angestossen.



  • @TVOpa im ersten Screenshot ist das Textfeld Zieldateiname leer und im zweiten Screenshot sieht man eine Fehlermeldung, welche besagt, dass der Zieldateiname leer ist. - MV will vermutlich noch in der Maske zum ersten Screenshot einen Zieldateinamen angeben haben. (Drück mal den Rettungsring-Button neben dem Prüfen Button)



  • @rubikon
    der Text über den Bildern ist genau die Hilfe dafür,
    wenn mein Script alles machen darf-kann-soll, was soll ein Dateiname dort bewirken?
    %f ist die url, mehr brauche ich nicht für mein script
    oder Denkfehler?
    programmers please help me



  • @TVOpa mein Vorschlag für ein alternatives Vorgehen hatte sich ja eigentlich auf Mausgeschubse im MV Downloads-Reiter bzw. im “Download editieren” Dialog bezogen… und zwar je Download 1x Maus schubsen…

    …aber wenn Du Dein shell Script als Anlage hochlädst, kann ichs mir ja mal anschauen. Linux VM ist ja gleich gestartet…



  • @TVOpa ich hab mir selbst ein kleines .sh script erstellt und ein Set im MV erstellt, das Script aufzurufen.

    Ich bekam den o.g. Fehler “Pfad oder Name ist leer” ebenfalls . Und der ging weg, als ich beim Set bearbeiten im Reiter “Speicherziel” im Textfeld “Zieldateiname” irgendwas eingegeben habe. Also z.B. den Text “irgendwas”.

    Wie der durchgeführte Aufruf lautet, kann man dann in ~/.mediathek3/mediathekview.log sehen.

    Wenn ich im .sh script den Parameter %f aus MV (im Script als $1 ansprechbar) per echo in Datei ausgeben lasse, dann kommt da der URL der .mp4 Datei raus. Sieht so weit gut aus.

    Mehr als das hab ich nicht erfolgreich probiert, z.B. ob man wget mit dem URL als Parameter aufrufen und damit etwas downloaden/speichern kann.



  • @rubikon

    funzt jetzt, habe ein Set nochmal frisch erstellt, Meldung ist weg und Script wird aufgerufen.
    Danke Loits, jetzt geht’s an die Scripterei…


Log in to reply
 

82
Online

3.7k
Users

3.0k
Topics

19.0k
Posts