Burn-Plugin für TS-Aufnahmen!

  • Mal eine Idee meinerseits zur Vereinfachung des Plugins.


    Im Moment wird z.B. der requantizer via OSD gewählt. Entweder ein Distributor liefert alle Möglichkeiten mit oder es gibt im OSD Einstellungen, die unsinnig sind, bzw. sogar Fehler verursachen, wenn etwas ausgewählt wird, was garnicht installiert ist.


    Wäre es nicht besser, eine eventuelle Auswahl in Form von Variablen ganz an den Anfang des Scripts zu setzen? Das Burn-Plugin übergibt dann nur noch "requant" und das Script entscheidet, ggf. anhand von am Anfang getroffener Einstellungen, was genommen wird.


    Vorteile:
    - Die Codemasse und somit die Komplexität vom Plugin reduziert sich.
    - Auch das Script wird übersichtlicher, da gleiches ganz zwangsläufig mit gleichem gruppiert wird, sobald das Plugin nur noch allgemein an das Script anfragt.
    - Distributoren können das Script für die jeweilige Distribution vorkonfigurieren und müssen nichts ausliefern, was eigentlich garnicht benötigt wird.
    - Das Anbinden von neuen Programmen (z.B. lxdvdrip_requant von Copperhead) erfordert nur noch eine Änderung am Script und nicht mehr am Plugin.


    Nachteile:
    - Schnelle Auswahl über OSD entfällt. Wobei verschiedene Auswahlen ohnehin hinfällig sind. vdrsync war schon lange fehlerhaft und mit TS ist es endgültig unbrauchbar. Eventuell sollte man das bei der Gelegenheit sogar aus dem Script hauen.


    Wer wirklich für irgendwie geartete Bastelorgien eine schnelle Auswahl über das Menü braucht, für den kann man sicher etwas für die commands.conf bauen.


    Den Patch könnte ich erstellen, aber mich interessiert die Meinung der Community, vor allem von FireFly, da ich die Änderung schon gerne in seiner "aktuellen Burn-Version" haben würde.


    BTW: Ab wann ist "burn" bei vdr-developer.org zu finden?

  • Hallo,


    da sonst niemand antwortet tue ich es einmal ...
    Momentan bin ich dabei, die TS-Spurenerkennung komplett zu überarbeiten; im Nachhinein betrachtet war das bisher sozusagen nur ein Prototyp und mittlerweile verstehe die Klassen in burn besser :D aber noch nicht vollständig...
    Mir gefällt am burn-Plugin, dass alles im Menü eingestellt werden kann und nicht so eine Skriptorgie ist wie z.B beim burn 0.0.x oder vdrconvert.
    vdrsync.pl halte ich auch für überholt, trotzdem möchte ich es bisher nicht rauswerfen, weil es vielleicht doch der eine oder andere noch benutzt.
    IMHO wäre es besser, dass burn am Anfang z.B. über das Skript prüft, welche Möglichkeiten (z.B. requantizer) zur Verfügung stehen und dementsprechend nur diese zur Auswahl anbietet (bzw. den Dienst verweigert wenn gar keiner gefunden wird).
    Auch an den Möglichkeiten zur Fehlerbehandlung kann man noch vieles Verbessern, z.B. wenn keine mpg erstellt wird oder das nur 0 Byte groß ist, dann kommen hier immer wieder Fragen zu Interpretation, was man mit entsprechend aussagekräftigen Fehlermeldungen reduzieren könnte.


    Gruß
    FireFly

  • Das klingt schonmal sehr gut. Bleiben die beiden Skripte dann trotzdem bestehen?


    Wäre es nicht auch gleich sinnvoll lxdvdrip_requant als Standard einzusetzen?


    M2V-Requantiser ist nur noch als Binärbrocken auffindbar (bzw. nach langem Suchen habe ich es auch als Source gefunden, dieser lässt sich aber nicht kompilieren) Wenn man den Source von M2V-Requantiser und den von lxdvdrip_requant anschaut ist es das gleiche Programm, außer dass die Versionsnummer von lxdvdrip_requant viel höher ist und dass lxdvdrip_requant kompilierbar ist.



    tc-requant ist abgekündigt. Man kann es nur noch nutzen, wenn man beim configure --enable-deprecated übergibt. Außerdem sind beim kompilieren von transcode noch Unmengen zusätzliche Abhängigkeiten nötig



    Wenn dann VDRsync auch noch wegfällt ist sowieso nichts mehr auszuwählen.



    Wenn du das lxdvdrip_requant mal testen möchtest, lädst du einfach von hier das neuste lxdvdrip wechselst in das Verzeichnis requant und führst danach einfach make aus.


    Die Binärdatei taucht dann im aktuellen Verzeichnis auf. So muss das Skript angepasst werden:


    Code
    requant)
    		requant_lxdvdrip -f $REQUANT_FACTOR -i "$VIDEO_FILE" -o "$REQUANT_FILE"
    		rm -f "$VIDEO_FILE"
    	;;
    
    
    	tcrequant)
    		requant_lxdvdrip -f $REQUANT_FACTOR -i "$VIDEO_FILE" -o "$REQUANT_FILE"
    		rm -f "$VIDEO_FILE"
    	;;
  • Zitat

    Original von Copperhead
    So muss das Skript angepasst werden:


    SO ist das ganz sicher der falsche Weg! Unter tcrequant lxdvdrip-requant aufrufen ist alles andere als pflegeleicht und wird Dutzende Beschwerden von Nutzern provozieren ("Ich habe doch tcrequant drauf aber er findet es nicht!"). Ich werde zunächst mal nichts rauswerfen und wenn ein anderer Requantizer benutzt wird bekommt er auch einen eigenen case-Zweig im Skript, z.B. lxrequant

  • Einer der Kritikpunkte an "burn", warum es auch keiner so recht wieder aufgreifen wollte, war, bzw. ist dessen Komplexität. Das ist mit ein Grund, warum Gentoo nun "jacoto" hat, welches eigentlich fast alles nur noch in Scriptform macht.


    Copperhead zeigt es mit seinem recht pragmatischen Fix für das requantizer-Problem recht gut, woran es scheitert, wenn jemand, der kein Programmier-Profi ist, "mal eben" ein anderes Programm für Aufgabe "X" nachrüsten will.


    Shellscript können viele. Zumindest diejenigen, die grundlegend mit der Linux-Konsole klarkommen, können auch ein Shellscript anpassen. Mit dem C++ im Plugin selbst sieht das schon anders aus.


    Ein weiteres Script, um die "Möglichkeiten auf dem aktuellen System" zu testen reduziert nicht die Komplexität, sondern erhöht sie weiter. Wer nun ein Programm nachrüsten will, der muss zwei Scripte und zusätzlich noch das Plugin selbst patchen...


    Ein weiteres Beispiel aus der Praxis: Ich würde gerne DVDs nicht mit growisofs sondern mit cdrecord brennen. "cdrecord ProDVD" ist schon länger Open Source, bzw. das "normale" cdrecord kann schon länger auch DVD und sogar BluRay brennen. Würdest du die Auswahl des DVD-Brennprogramms nun auch im OSD haben wollen?


    Ich bin nach wie vor der Meinung, dass die Auswahl der richtigen Komponenten ins Script gehört. Schon alleine deshalb, weil es im Idealfall die Aufgabe des Distributors ist, eine passende Lösung zu wählen und auszuliefern. Die Vorkonfiguration macht dann der Distributor und dieser kann durchaus das berechtigte Interesse haben, dass diese funktionierende und getestete Vorkonfiguration nicht "mal eben" via Fernbedienung umgestellt werden kann.


    Wäre schön, wenn man sich da irgendwo auf einem gemeinsamen Nenner treffen könnten. Wie gesagt: Patch würde ich liebend gerne erstellen und wer unbedingt mit Fernbedienung umstellen will, der bekommt von mir eine Lösung für die commands.conf, die dieses ermöglicht. Ist eigentlich kein Akt via commands.conf mit "sed" eine Variable in einem Script umzubiegen.

  • Zitat

    Original von Mreimer
    Schon alleine deshalb, weil es im Idealfall die Aufgabe des Distributors ist, eine passende Lösung zu wählen und auszuliefern. Die Vorkonfiguration macht dann der Distributor und dieser kann durchaus das berechtigte Interesse haben, dass diese funktionierende und getestete Vorkonfiguration nicht "mal eben" via Fernbedienung umgestellt werden kann.


    Full ACK


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Zitat

    Original von FireFly
    Wieso dieser Ton? :schiel Ich bin nicht Euer Programmierknecht ....
    Außerdem hatte ich oben schon meine Meinung dazu geschrieben und habe mit Mreimer per PN diskutiert.
    Ansonsten scheint keiner Interesse zu haben, sonst gäbe es mehr Antworten ...


    OK, der Ton war etwas daneben. Es ist nur schon ziemlich lange nix mehr in diesem Thread passiert. Das da was mit PNs gelaufen ist wusste ich nicht, hätte mich aber auch interessiert.

  • Derzeit versuche ich die TS-Stream Erkennung so umzubauen, dass auch wirklich alle Streams erkannt werden, aber das wird erst mit VDR 1.7.11 gehen und es hat "unschöne Auswirkungen" auf die Subtitle-Erstellung, die ja einige benutzen. Auf die PNs konnte ich erst heute antworten, da ich ein paar Tage weg war. Es passiert also etwas, aber im Hintergrund, zumindest soweit meine freie Zeit das zulässt, aber die Motivation ist heute nicht unbedingt größer geworden ...

  • Verständlich. Ist aber eher die Regel als die Ausnahme. Das negative Feedback von Nutzern eines Open Source Projekts beträgt in aller Regel fast 100% des gesamten Feedbacks. Und: Ja, ich spreche da aus Erfahrung.


    Sobald du einen stabilen Softwarestand hast, wäre es keine schlechte Idee, das ganze bei vdr-developer einzustellen. Durch die Commit-Logs haben interessierte dann immer Rückmeldung was wo passiert und mögliche weitere Helfer könnten eigene Patches zur Diskussion stellen. Außerdem können Bugs dann im Bugtracker gelistet und verwaltet werden.


    Bleibt "burn" mit deinen letzten Änderungen eigentlich unter VDR 1.6.0 lauffähig? Ggf. natürlich mit Patch gegen VDR.

  • Zitat

    Original von Mreimer
    Bleibt "burn" mit deinen letzten Änderungen eigentlich unter VDR 1.6.0 lauffähig? Ggf. natürlich mit Patch gegen VDR.


    Ja, jetzt kompiliert er wieder unter 1.7.11 und 1.6.0 (#ifdef sei Dank ;D), beides ohne Patche für VDR. Mit 1.7.10 und tiefer geht es aber nicht mehr, weil dort Funktionen zur Analyse der TS-Aufnahmen noch nicht zur Verfügung stehen. Bei 1.6.0 gibt's natürlich nur die bisherigen Funktionen, TS-Aufnahmen (falls vorhanden) sind da nicht supported.

  • Wie konvertiert man denn am besten Untertitel?

    • Videotext-Untertitel als SRT, oder besser als SAA, aber kann das ein Programm verarbeiten? Werden die Untertitel überhaupt in verschiedenen Farben gesendet?


    • DVB-Untertitel als SUP oder SON? SON soll angeblich Platzsparender sein und braucht kein pxsup2dast.c. Farben sollten ja bei beiden erhalten bleiben, oder?


    Welche Einstellungen sind noch notwendig in Project X? z.B. SubpictureColorModell?

  • Zitat

    Original von FireFly
    Wie konvertiert man denn am besten Untertitel?

    • Videotext-Untertitel als SRT, oder besser als SAA, aber kann das ein Programm verarbeiten? Werden die Untertitel überhaupt in verschiedenen Farben gesendet?


    • DVB-Untertitel als SUP oder SON? SON soll angeblich Platzsparender sein und braucht kein pxsup2dast.c. Farben sollten ja bei beiden erhalten bleiben, oder?


    Welche Einstellungen sind noch notwendig in Project X? z.B. SubpictureColorModell?


    beides enthaelt farben
    ttxt untertitel und auch dvb untertitel.


    bin damals mit den projectx einstellungen zu brauchbaren ergebnis gekommen:

    Code
    # SubtitlePanel
    SubtitlePanel.SubpictureColorModel=YLE
    SubtitlePanel.SubtitleExportFormat=SON
    SubtitlePanel.SubtitleExportFormat_2=SUP


    weiss aber nimma was ich nicht alles getestet habe.
    problem war auch zu viele farben fuer dvd :jb
    ( [ANNOUNCE] Untertitel mit Burn-0.0.009 / demuxen mit ProjectX )


    also verwendete burn:
    son fuer dvb untertitel
    sup fuer ttxt untertitel + pxsup2dast

  • Hi!


    Zitat

    Original von FireFly
    Welche Einstellungen sind noch notwendig in Project X? z.B. SubpictureColorModell?


    Weiß nicht ob du das integrieren möchtest, denn das ist wohl eher ein Sonderfall:


    Also ich habe mal bei irgendeinem Sender (weiß nicht mehr bei welchem) folgende Option gebraucht:

    Code
    # AudioPanel
    AudioPanel.loslessMpaConversionMode=4


    Dabei wird der linke und der rechte Stereokanal getrennt. Ist zwar eine Unart des Senders, aber die haben da bei einer Audiospur Deutsch und Englisch jeweils links bzw. rechts als Mono ausgestrahlt.
    Ich weiß aber nicht ob das noch gebräuchlich ist.


    Das ganze lässt sich im Project-X- Log erkennen, da es die Tonspur als "dual" erkennt. Ich hatte damals die Tonspuren dann durch einem Extradurchgang von Project-X getrennt.


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Noch etwas:


    Es ist zwar wohl noch recht früh für Anfragen wegen Features, aber wäre es möglich eine Option einzubauen um standardkonforme DVDs zu erstellen? D.h. dass die Videospur in jedem Fall durch ffmpeg oder mencoder oder was auch immer neu gewandelt wird?


    Ich brenne manchmal Aufnahmen für Kollegen und anscheinend haben doch recht viele normale DVD-Player Probleme mit den DVDs. Da treten dann immer wieder Bildstörungen auf. Mich würde es deshalb auch nicht stören wenn das wandeln etwas (wohl eher deutlich :) ) länger dauert und die DVD dafür sicher keine Probleme macht.


    Was hältst du davon FireFly?


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Komisch, im Moment antworten nur Österreicher :D


    Danke, wilderigel.
    son für dvb-UT sowie sup+pxsub2dast für ttxt UT scheint die beste Lösung zu sein, um die Farben zu erhalten. Allerdings scheint pxsub2dast manchmal etwas abzuschneiden, so dass srt für ttxt UT auch seine Berechtigung hat (srt enthält keine Farben und spumux kann auch ssa lesen, aber die Farben werden ignoriert)


    Brougs78: Danke, aber im Moment war ich nur an Untertitel-Einstellungen interessiert, da durch "unglückliche Umstände" die bisherigen Untertitel nicht mehr funktioniert hatten.
    Die Kanaltrennung scheint mir doch etwas zu speziell zu sein, um sie aufzunehmen.
    Generell finde ich am burn-Plugin das Schöne, dass die (Video-)Daten unverändert gebrannt werden, also in der gleichen Qualität archiviert werden wie sie gesendet werden. In den letzten Jahren habe ich auch von keinen Problemen mehr gehört. Du könntest aber mal probieren, das ffmpeg/mencoder in den mplex-Schritt im Skript vdrburn-dvd.sh einzubauen.


    Gruß
    FireFly

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!