Jump to content

DMS Task um .TS in H.265 zu erzeugen


Bernie_2020

Recommended Posts

Hi, ich bräuchte Hilfe. ?

 

Momentaner Setup ist folgender:
DMS, der Streams von Zattoo zur Verfügung stellt (über M3U) und natürlich auch die Aufnahmen macht. Läuft prima.

 

Was ich nun gerne machen würde ist folgendes.

Die Recordings der TV Streams von Zattoo liegen als .TS Files vor, die in H.264 kodiert sind.
Nun würde ich gerne den DMS nutzen, um die H.264 .TS in H.265 .MP4 automatisch umzuwandeln. Also video konvertieren und alle Audio Streams kopieren. Dazu würde ich gerne auch meine Intel CPU meiner Skylake CPU (UHD 630) verwenden.

 

Ich habe mir die Task Erstellung mal angeshen, aber ich fürchte, ich bin da nicht klug genug, das hinzubekommen.

 

Kann mir da jemand helfen oder hat das schonmal gemacht?

Link to comment

Habe es nun hinbekommen.

 

Nun hätte ich in dem Zusammenhang noch eine zusätzliche Frage. Kann man das Original-File (.TS) nach dem Trancoding zu HEVC auch irgendwie über den gleichen Task nach der Konvertierung automatisch löschen?

Link to comment

Hallo Bernie_2020,

 

wäre schön, wenn Du auch posten könntest, wie Du es hinbekommen hast. Also insbesondere welche Befehlszeile bzw. Paramter Du verwendet hast.

 

 

Viele Grüße

 

Webturtle

Link to comment

Klar, aber ich denke Bilder sagen hier mehr als mein Geschreibsel. Intel QSV ist schon etwas eigen.

 

Das Scale Zeugs nutze ich nur, um immer das Aspct-Ratio auf 16:9 zu bekommen, ohne, dass es verzerrt und Audio kopiere ich einfach, ohne es zu konvertieren (liegt bei mir meistens als EAC 6 Kanal vor).

Somit konvertiert mir ffmpeg das Recording von H.264 zu H.265 (dauert natürlich mit der ollen UHD 630 ewig), womit es schon erheblich kleiner ist. Kann man mit Parameter global_quality gut steuern.

 

Bevor jemand mit HDD Preisen argumentiert, bei mir ist der Anwendungsfall, dass ich relativ viele Aufnahmen auf einen Remote Libreelec kopiere, der nur 50 Mbit/s Anschluss hat. Daher je kleiner das File, desto besser.

 

Aber meine zweite Frage ist noch offen:

Kann man das Original-File (.TS) nach dem Transcoding zu HEVC auch irgendwie über den gleichen Task nach der Konvertierung automatisch löschen? Oder nach einer gewissen Zeit, hat der DMS da irgendeine Möglichkeit? (Klar kann man das Scripten, aber einfacher wäre es über den DMS, da die Variablen ja schon vorhanden sind {SOURCE_FILE}).

 

 

Capture.JPG

Capture2.JPG

  • Thanks 1
Link to comment

Hallo,

 

vielen Dank!  :thumbsup:

 

Du hast völlig recht mit dem Screenshot.

 

 

Viele Grüße

 

Webturtle ?

 

Edited by Webturtle
Link to comment
vor 10 Stunden schrieb Bernie_2020:

Kann man das Original-File (.TS) nach dem Transcoding zu HEVC auch irgendwie über den gleichen Task nach der Konvertierung automatisch löschen?

 

Nein, das ist nicht vorgesehen.

Link to comment
2 hours ago, Webturtle said:

Hallo,

 

vielen Dank!  :thumbsup:

 

Du hast völlig recht mit dem Screenshot.

 

 

Viele Grüße

 

Webturtle ?

 

Gerne, vielleicht hilft es ja jemandem.

Link to comment
2 hours ago, Griga said:

 

Nein, das ist nicht vorgesehen.

Danke Griga, verstehe ich. Ist ja auch nicht so wichtig. Und auch nicht so einfach zu realisieren, wenn mehrere Aufnahmen gleichzeitig laufen.

Link to comment

Wenn man statt der FFMPEG.EXE eine CMD-Batch-Datei startet könnte man ggf. in dieser erst FFMPEG mit nötigen Parametern aufrufen zum Konvertieren und als zweite Zeile einen Löschbefehl für die .TS und ggf. die zugehörige .TXT und .LOG einbauen. Habe sowas nicht probiert aber denke das ist möglich.

 

Aaaaber:

1. Wenn beim Konvertieren etwas schief geht müsste man ggf. den Errorlevel (den FFMPEG dann hoffentlich setzt) in der Batch prüfen um dann die .TS nicht zu löschen

2. Würde beim Löschen der .TS der Speicherplatz frei aber die Aufnahme weiterhin in der Aufnahmeliste stehen bis man diese bereinigt

 

Also keine perfekte Lösung aber wenn Speicherplatz knapp ist evtl. in Betracht zu ziehen.

 

Link to comment
3 hours ago, HaraldL said:

Wenn man statt der FFMPEG.EXE eine CMD-Batch-Datei startet könnte man ggf. in dieser erst FFMPEG mit nötigen Parametern aufrufen zum Konvertieren und als zweite Zeile einen Löschbefehl für die .TS und ggf. die zugehörige .TXT und .LOG einbauen. Habe sowas nicht probiert aber denke das ist möglich.

 

Aaaaber:

1. Wenn beim Konvertieren etwas schief geht müsste man ggf. den Errorlevel (den FFMPEG dann hoffentlich setzt) in der Batch prüfen um dann die .TS nicht zu löschen

2. Würde beim Löschen der .TS der Speicherplatz frei aber die Aufnahme weiterhin in der Aufnahmeliste stehen bis man diese bereinigt

 

Also keine perfekte Lösung aber wenn Speicherplatz knapp ist evtl. in Betracht zu ziehen.

 

Hi HaraldL,

 

völlig richtig, ist mir auch durch den Kopf gegangen. Vor allem könnte der Task bei vielen/parallelen Aufnahmen ja auch nahezu ewig laufen. Meine erste Idee ging in die Richtung erstmal zu prüfen, ob das .mkv erzeugt wurde, bevor man löscht. - if not errorlevel 1 if exist "%%~dpnF.mkv" del /q "%%F" - aber das reicht nicht ganz, wie Du ja richtig unter 1. schreibst (der Errorlevel bezieht sich da auf ffmpeg und %%F wäre der Dateiname).  Das 2. könnte man einfach durch ein move lösen - einfach wieder in TS umbenennen. Ist zwar billig, aber die Player kämen damit klar. Damit käme aber Punkt 3.

3. Punkt: Problem ist aber eher auch, dass die Batch das Verzeichnis quasi überwachen müsste (auf neue TS) oder immer wieder gestartet werden müsste, wenn ffmpeg nicht läuft. Aber ein Umbennen zurück zu TS wäre ja dann fatal (Punkt 2).

 

Ich bin da eigentlich auch zu weit weg, da ich vielleicht einmal pro Halbjahr eine Batch mache ?, aber super Gedanken, die Du da teilst.

Link to comment

Hallo,

 

wie wäre es, wenn man die Aufnahmen, die konvertiert werden sollen vom DVBViewer in einem separaten Verzeichnis speichern läßt. Dann könnte man den kompletten Inhalt des Verzeichnissen auf eine Batch-Datei auf den Desktop ziehen und alle Aufnahmen in einem Rutsch konvertieren lassen. Die konvetierten Aufnahmen könnten in ein eigenes Verzeichen (z.B. Converted) geschrieben werden. Der 'manuelle' Vergleich beider Verzeichnisse und das Löschen der Quelldateien dürfte nicht so aufwendig sein.

 

Eine solche Batch-Datei für Konvertierung mit FFmpeg hat sir drake gepostet:

 

https://www.DVBViewer.tv/forum/topic/61605-ffmpeg-per-batch-datei-starten/?do=findComment&comment=475429

 

Ich benutze es, wenn ich Aufnahmen mit unserem Flachbild-TV oder meinem alten XP-Medianotebook ansehen will, die beide kein HEVC H.265 unterstützen.

 

 

Viele Grüße

 

Webturtle

 

Link to comment
30 minutes ago, Webturtle said:

Hallo,

 

wie wäre es, wenn man die Aufnahmen, die konvertiert werden sollen vom DVBViewer in einem separaten Verzeichnis speichern läßt. Dann könnte man den kompletten Inhalt des Verzeichnissen auf eine Batch-Datei auf den Desktop ziehen und alle Aufnahmen in einem Rutsch konvertieren lassen. Die konvetierten Aufnahmen könnten in ein eigenes Verzeichen (z.B. Converted) geschrieben werden. Der 'manuelle' Vergleich beider Verzeichnisse und das Löschen der Quelldateien dürfte nicht so aufwendig sein.

 

Eine solche Batch-Datei für Konvertierung mit FFmpeg hat sir drake gepostet:

 

https://www.DVBViewer.tv/forum/topic/61605-ffmpeg-per-batch-datei-starten/?do=findComment&comment=475429

 

Ich benutze es, wenn ich Aufnahmen mit unserem Flachbild-TV oder meinem alten XP-Medianotebook ansehen will, die beide kein HEVC H.265 unterstützen.

 

 

Viele Grüße

 

Webturtle

 

 

Ich bin mir nicht so sicher, was da am elegantesten wäre. Meine erste Batch zu dem Thema sieht so aus (batch und ffmpeg müssen noch im VZ mit den Files liegen):


for /r %%F in (*.ts) do (
    ffmpeg.exe  -i "%%F" -map 0:v -vcodec hevc_qsv -global_quality 22 -vf "scale=ih*16/9:ih,scale=iw:-2,setsar=1" -map 0:a? -c:a copy  "%%~dpnF.mkv -y"
    if not errorlevel 1 if exist "%%~dpnF.mkv" del /q "%%F"
)

 

Habe es gerade mal mit ein paar Testfiles laufen lassen, hat geklappt.


Die Batch sucht quasi nach .ts files im VZ/Unterverzeichnis und startet für jedes gefundene der Reihe nach das ffmpeg und wandelt das .ts in ein H.265 .mkv um (ffmpeg Parameter sind natürlich für meinen Anwendungsfall für Intel QSV).

Falls dann ffmpeg keinen Fehler meldet (errorlevel 1) und das gleichnamige .mkv existiert, wird das alte .ts gelöscht.

Was mir noch fehlt ist das automatische cropping und Audio Normalisierung und das Löschen der fehlgeschlagenen .mkv im Fehlerfall (was man über einen Unterordner lösen könnte). Und natürlich, dass das Script einmal am Tag läuft, wenn ffmpeg inaktiv ist. Beim Letztgenannten habe ich erst mal keine Ahnung.?

Link to comment

Hallo,

 

ich wollte lediglich noch klarstellen, daß ich als Dateimanager SpeedCommander und Free Commander benutze. Beide bieten eine Zwei-Fenster- oder besser gesagt eine Zwei-Verzeichnis-Ansicht wie früher der Norton Commander für DOS. Wer sich jetzt fragt, was "DOS" ist, kann das ja bei Google oder in der Wikipedia nachschlagen. ;) Außerdem kann man beide Verzeichnisse vergleichen lassen. Wobei es in dem Fall natürlich sinnvoll wäre, den Vergleich auf die Dateinamen zu beschränken. Da die Größe nach der Konvertierung ja differiert

 

Tja für meine einfachen Aufgaben reicht das Script von sir drake.

 

Vielleicht kannst Du mit AutoHotkey ( https://www.autohotkey.com/ ) die noch bestehenden Probleme lösen.

 

 

Viele Grüße und viel Spaß beim Tüfteln :radscorpion:

 

Webturtle

Link to comment
13 hours ago, Webturtle said:

Hallo,

 

ich wollte lediglich noch klarstellen, daß ich als Dateimanager SpeedCommander und Free Commander benutze. Beide bieten eine Zwei-Fenster- oder besser gesagt eine Zwei-Verzeichnis-Ansicht wie früher der Norton Commander für DOS. Wer sich jetzt fragt, was "DOS" ist, kann das ja bei Google oder in der Wikipedia nachschlagen. ;) Außerdem kann man beide Verzeichnisse vergleichen lassen. Wobei es in dem Fall natürlich sinnvoll wäre, den Vergleich auf die Dateinamen zu beschränken. Da die Größe nach der Konvertierung ja differiert

 

Tja für meine einfachen Aufgaben reicht das Script von sir drake.

 

Vielleicht kannst Du mit AutoHotkey ( https://www.autohotkey.com/ ) die noch bestehenden Probleme lösen.

 

 

Viele Grüße und viel Spaß beim Tüfteln :radscorpion:

 

Webturtle

Interessant, Danke Dir.

 

Habe nun auch das mit dem Normalisieren und dem Cropping soweit fertig. Die Konvertierung dauert aber ewig. Denke, ich werde mal nach einer dedizierten Grafikkarte Ausschau halten, die ein wenig schneller ist. Ist ja nun ein wenig Off-Topic geworden, da das ja wenig mit dem DMS selbst zu tun hat. Falls die Preise wider mal sinken sollten, mache ich an dem "Projekt" weiter ?.

Link to comment

Hallo,

 

noch ein kurzer Hinweis zu AutoHotkey. Bei der Scriptsprache gibt es nicht nur viele Befehle auch für GUI und Dateibehandlung, sondern auch einen Scriptwriter. Die damit aufgezeichneten Tastatur- oder Mausereignisse kann man in ein Script übernehmen. Und die Scripte können auch in Exe-Dateien kompiliert werden.

 

Was Deine Graka angeht, kann man nur hoffen, daß der Hype ums Schürfen von Krytowährungen nachläßt, auch im Hinblick auf den damit verbundenen Energieverbrauch. :pc:

 

 

Viele Grüße

 

Webturtle

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...