TV2H264 Skript: Automatisches konvertieren von *.ts nach *.mkv (h.264 codec) in MP (3 Viewers)

Scrounger

Retired Team Member
  • Premium Supporter
  • January 21, 2009
    1,032
    514
    Stuttgart
    Home Country
    Germany Germany
    TV2H264 Skript V 0.1.0
    Updated 24.09.2009

    Bequemes Umwandeln von TV Aufnahmen (SD oder HD) in *. mkv (Codec H.264) mit Hilfe des Plugins MyProgramsALT und dem TV2H264 Python Skript


    1. Allgemeines

    Wie ich in folgendem Post .ts in .avi umwandel mittels Batch Datei & myProgramsAlt schon angekündigt habe, schreibe ich noch ein neues Skript. Und hier ist es.
    Erstmal muss ich meinem Bruderherz danken, ohne ihn hätte ich es wahrscheinlich nicht auf diese Art realisieren können.


    2. Funktionsweise

    1. Analyse der *.ts mit MediaInfo.
      Auslesen aller zu konvertierung benötigten Media - Daten:
      - Anzahl der Video- & Audiostreams
      - Auflösung der Videodatei
      - Framerate der Videodatei
      - Delay der einzelnen Audiostreams (Behebt Probleme mit asychronen Audiospuren)

      Des Weiteren untersucht das Skript die Audiospuren. Sind AC3 Streams (deutsche oder englische) vorhanden, werden nur diese verarbeitet. Findet er keine AC3 Streams werden die Stereo Streams verarbeitet.
      D.h. am Ende bekommt Ihr ein Videofile das entweder deutschen AC3 Stream oder einen deutschen Stereo Stream hat. Zusätzlich (sofern im Ausgangsfile *.ts vorhanden) werden noch Ac3 bzw. Stereo Streams mit Englischer Sprache verarbeitet (für die Sky Benutzer unter uns :)) Vielen Dank Bruderherz für diesen genialen Algorythmus
    2. Demuxen mit MPlayer, d.h. das *.ts Ausgangsfile wird basierend auf MediaInfo in seine einzelnen Streams zerlegt
    3. Konvertieren mit FFMpeg und variabler Bitrate, d.h. der demuxete Videostream wird mit dem H.264 Codec konvertiert
    4. Muxen mit MKVMerge, d.h. der konvertierte Videostream wird mit den ermittelten Audiostreams wieder zusammen geführt und in einen *.mkv Container gesteckt. Der Delay jeder Audiospur wird ebenfalls mit Mediainfo ausgelesen und beim muxen dem jeweiligen Strean zugewiesen (hoffentlich keine Audio Sync probleme). Des Weiteren werden Format, Language und Bezeichnungen der Streams mit MediaInfo ausgelsen und beim muxen in die Datei geschrieben.


    3. Installation
    • Ladet euch das Plugin myProgramsALT runter und installiert es
    • Ladet euch die Datei View attachment 47372 herunter, entpackt sie (am besten mit 7zip) und kopiert den TVH264 Ordner in euren Programme Ordner. Der Pfad sollte danach z.B. so aussehen:
      C:\Programme\TV2H264
    • Falls euer Programm Ordner z.B. Program Files heißt, müsst ihr zusätzlich im Ordner \\log die Datei logging.conf mit dem Notepade öffnen und folgende Zeile editietern:
      args=(os.path.expandvars('%SystemDrive%\\Programme\\TV2H264\\') + '/log/logfile_TV2H264.log', 'w') in
      args=(os.path.expandvars('%SystemDrive%\\Program Files\\TV2H264\\') + '/log/logfile_TV2H264.log', 'w') umwandeln
    • startet den MediaPortal Configuration und öffnet die Config des MyProgramsALT Plugins

    Wichtig: Das das Python Skript funktioniert müsst ihr folgende Windows System32 Dateien haben (Bitte überprüfen !!!)

    OLEAUT32.dll - C:\Windows\system32\OLEAUT32.dll
    USER32.dll - C:\Windows\system32\USER32.dll
    SHELL32.dll - C:\Windows\system32\SHELL32.dll
    KERNEL32.dll - C:\Windows\system32\KERNEL32.dll
    WSOCK32.dll - C:\Windows\system32\WSOCK32.dll
    ADVAPI32.dll - C:\Windows\system32\ADVAPI32.dll
    WS2_32.dll - C:\Windows\system32\WS2_32.dll
    ole32.dll - C:\Windows\system32\ole32.dll




    3.1 MyProgramsALT einrichten

    Im Unterordner \\Programme\TV2H264\skripte findet ihr die Datei TV2H264.exe (+ Version)

    Über Add/Delete aplications erstellt ihr ein ApplicationItem, dass sollte dann wie auf dem Screenshot aussehen.

    hd_to_h264 Einstellung_01.jpg sd_to_h264 Einstellung_01.jpg

    • Title: Hier könnt ihr einen Namen eingeben, der später in MP angeziegt wird
    • Application: Hier wählt ihr die Datei TV2H264.exe aus dem \\Skripte Ordner aus
    • App. Arguments: %FILE% steht für den Dateinamen, nicht ändern !!! Hier müsst Ihr euren Records Ordner (der Ordner wo MP eure Aufnahmen speichert, Output Ordner (Ordner wo die konvertierte Datei am Ende erstellt werden soll), Temp Ordner (Temporärer Ordner der zur Umwandlung gebracuht wird, auf genügend Speicherplatz achten !!!!) und die Qualität (s. 4. Qualität, (guter Wert bei HD ist z.B. 25.0, bei SD z.B. 22.0 )) eingeben.
      Das ganze sollte dann z.B. so aussehen:
      %FILE% D:\Media\Records D:\Media\Incomming D:\Media\Temp 25.0
    • alle weiteren Einstllung dem Screenshot entnehmen

    Am besten ist ihr erstellt euch 2 Profile, eines für SD und eines für HD, so könnt ihr die Qualität indivduell anpassen (näheres siehe 4. Qualität).

    Zu guter letzt müsst ihr noch euren Records Ordner einstellen. Dies geschieht über den Reiter Files. Stellt es wie auf dem folgenden Screenshot dargestellt ist ein.

    hd_to_h264 Einstellung_02.jpg


    4. Qualität

    Ihr könnt die Konvertierungsqualität über die Zahl die Ihr bei App. Argument einstellt regulieren. Ich hab einige Testläufe durchgeführt und die Ergebnisse könnt Ihr folgender Tabelle entnehmen:

    Quality.jpg

    rot = nicht aktzeptabel (weil Datei zu groß oder Bildquali zu schlecht)
    gelb = aktzeptabel (kompromiss aus Größe & Qualität)
    grün = gut (gute Quali bei guter kompression)

    optimale Werte (von mir durch mehrere Test ermittelt):

    HD Aufnahmen: 25.0
    SD Aufnahmen: 22.0

    Aber ihr könnt ja selbst mal ein bischen rum probieren und mir eure Ergebnisse mitteilen


    5. Anwendung

    Wenn ihr in MP jetzt das MyProgramsALT plugin öffnet sollte es wie folgt aussehen (evtl. andere Bezeichnung je nach euerer Einstellung)

    in MP.jpg

    Wenn ihr jetzt eine der beiden Schaltflächen anklickt seht ihr eure *.ts Aufnahmen auswählen, anklick und das Programm läuft dann im Hintergrund ab. Desweiteren gibt es eine Schaltfläche reimport, dadurch könnt ihr eure neuen Aufnahmen in die Datenbak übernehmen. Leider ist hier ein kliner Bug seitens MyProgramsAlt, das er 2 Datenbaknen erstellt.

    ACHTUNG !!!
    Die Konvertierung kann bis zu 3 Std oder mehr daueren, je nach CPU.


    6. Log Datei

    Im Unterordner \\TV2H264\log findet ihr die Datei logfile_TV2H264.log. Wenn etwas nicht funktionieren sollte dann postet bitte die Log Dateien.

    7. Known Bugs

    Damit ihr MP weiterhin nebenher laufen lassen könnt, müsst ihr die Priorität von FFMpeg runter stellen. Das könnt ihr im Taskmanager machen, rechts Klick auf den Prozess FFMpeg --> Priorität festlegen --> niedriger als normal bzw. niedrig (FFMpeg muss natürlcih laufen)

    Known Bugs in v 0.1.0
    • *.ts Dateien mit nur einem Audio Stream werden nicht verarbeitet (sollte in der nächsten Version gelöst sein)
    • *.ts Dateien mit Umlauten (wie ä, ü, ö, etc.) werden nicht verarbeitet, bitte Dateien umbenennen
    • Reimport Fkt. von MyProgramsALT erstellt 2 Datenbanken
    • Live TV wird beendet wenn man das Skript ausführt
    • Automatisches anpassen des Pfades der Datei logging.conf (s. 3. Installation)


    changes since v 0.0.9
    # nur noch ein Skript für SD und HD Aufnahmen
    # Mediainfo Daten auslesen erweitert (Auflösung, Frame Rate)
    # Logger Infos erweitert
    # Delay formatierung überarbeitet
    # kompatibilität zu "komischen" HD Formaten wie es ARD HD, ZDF HD, Arte HD, etc. ausstrahlen
     

    larry_S

    MP Donator
  • Premium Supporter
  • December 11, 2008
    1,443
    168
    Home Country
    Germany Germany
    Scrounger
    Das hört sich ja schonmal sehr gut an.

    Sind bei den Qualitätsstufen die Bitrate der Zieldatei feste oder Variable Werte.

    Sprich Laut Grafik:
    Quelle SD 3133 Kbps - Quality 22 - Zieldatei 1527 Kbps
    Kommt dann bei einem Quellformat von ca. 1600 Kbps bei gleicher Qualitätseinstellung eine 1527 Kbps Zieldatei oder eine ca. 770 Kbps Zieldatei heraus?
     

    Scrounger

    Retired Team Member
  • Premium Supporter
  • January 21, 2009
    1,032
    514
    Stuttgart
    Home Country
    Germany Germany
    ich beomme schon beim Entpacken einen Fehler in WINRAR "Unbekannte Methode"

    Bitte verwendet 7zip zum entpacken


    Sprich Laut Grafik:
    Quelle SD 3133 Kbps - Quality 22 - Zieldatei 1527 Kbps
    Kommt dann bei einem Quellformat von ca. 1600 Kbps bei gleicher Qualitätseinstellung eine 1527 Kbps Zieldatei oder eine ca. 770 Kbps Zieldatei heraus?

    Ja die Bitrate ist variabel. Zu dem Bsp 1600kbps müsste so sein, aber am besten selber mal testen
     

    rhartinger

    Portal Pro
    May 28, 2008
    694
    11
    Ok, Habs installieren können. Aber konvertieren bricht ab. Es erscheint nur ein DOS-Fenster. Da sieht man den Verweis zu Log Datei. Ist aber komischerweise immer mit 2 // angegeben. Der Pfad wird nicht gefunden nehme ich an
     

    rhartinger

    Portal Pro
    May 28, 2008
    694
    11
    Einstellungen hab ich überprüft. Log Datei wird eine erzeugt. Ist es normal, dass Live-TV beim starten der Konvertierung sofort beendet wird?
     

    Scrounger

    Retired Team Member
  • Premium Supporter
  • January 21, 2009
    1,032
    514
    Stuttgart
    Home Country
    Germany Germany
    Einstellungen hab ich überprüft. Log Datei wird eine erzeugt. Ist es normal, dass Live-TV beim starten der Konvertierung sofort beendet wird?

    dann poste doch mal bitte die Log Datei, dann kann ich dir sagen wo der Fehler liegt. Live TV wird beendet.... ehrlich hab ich nie getestet. Jetzt schon. Wird bei mir auch beendet, geh dann mal auf Spurensuche :)

    Neue Version TV2H264 V 0.1.0

    siehe erster Post
     

    rhartinger

    Portal Pro
    May 28, 2008
    694
    11
    Mist. das k geht nicht auf der Tastatur. Sollte keine Log heißen.
    Es wird komischerwise keine Log in dem Verzeichnis erzeugt. Kann es vielleicht daran liegen, dass ich ein ts File habe mit nur einem Audiostream? Diese werden ja nciht konvertiert
     

    stepman

    Portal Member
    April 7, 2008
    7
    0
    Hi,

    ich habe eben mal anhand der Anleitung installiert und habe das gleiche Verhalten wie mein Vorredner. Es öffnet sich ganz kurz eine Dos-Box, allerdings ist sie so schnell wieder weg dass ich nichts lesen kann. Eine Log-Datei wird nicht erstellt.

    Ich nutze Mediaportal 1.1.0.0 (aktueller Download) auf Vista x64.

    edit: Das Problem mit der Log-Datei konnte ich jetzt lösen, in der Datei "logging.conf" (liegt in \\TV2H264\log) ist der Pfad mit "Programme" angegeben, bei mir ist es aber "Program Files (x86)". Jetzt erhalte ich ein Log-File, allerdings bricht das ganze sofort ab:
    2009-09-24 12:24:52,098 TV2H264 INFO TV2H264 0.1.0
    2009-09-24 12:24:52,144 TV2H264 INFO
    2009-09-24 12:24:52,145 TV2H264 INFO ****************** Incoming Data ******************
    2009-09-24 12:24:52,145 TV2H264 INFO Filename : 'E:\recordings\The District - Einsatz in Washington - SE - Der Fingerzeig - VOX 2009-09-21 23_00.ts'
    2009-09-24 12:24:52,145 TV2H264 INFO : (E:\recordings The District - Einsatz in Washington - SE - Der Fingerzeig - VOX 2009-09-21 23_00.ts)
    2009-09-24 12:24:52,145 TV2H264 INFO Records Folder : 'E:\recordings'
    2009-09-24 12:24:52,147 TV2H264 INFO Output Folder : 'e:\recordings_h264'
    2009-09-24 12:24:52,147 TV2H264 INFO Temp Folder : 'e:\temp'
    2009-09-24 12:24:52,147 TV2H264 INFO Quality : '22.0'
    2009-09-24 12:24:52,148 TV2H264 INFO
    2009-09-24 12:24:52,150 TV2H264 INFO ****************** MediaInfo ******************

    Irgendwelche Vorschläge?

    Grüße
     

    Users who are viewing this thread

    Top Bottom