[markad] überarbeiteter Decoder

  • Hat jemand Interesse, die command line Version von markad als mingw64 (Windows) Binary zu bauen?

  • Hat jemand Interesse, die command line Version von markad als mingw64 (Windows) Binary zu bauen?

    markad braucht einige ffmpeg Libs, ob sich die unter Windows bauen lassen ???


    Edit:

    Scheint möglich zu sein: Anleitung

    2 Mal editiert, zuletzt von kfb77 ()

  • Die Libs gibt es alle in mingw64. Und ja - die Liste der nötigen DLLs (libs) ist lang.


    Kompilieren und Linken klappt ja mittlerweile mit einem extra Makefile.mingw64, einer extra README.mingw64, so einigen #ifdefs und einem subfolder win32 in command.


    Es ist eher die Frage nach OS-abhängigen Benutzer-Pfaden für icons (wohin), Schreibrechten etc. und ob das außer mir irgendwann jmd braucht.

    Und klar ist auch, dass nicht alles von Posix zu Win32 portiert werden kann: kein background, nice, chown, ..


    Aber könnte man ne minimale GUI drüber stülpen und damit einige per samba/NFS gemountete Verzeichnisse im Loop abarbeiten lassen.

    Mein win Rechner hat meist weniger zu tun. :)


    Ich überlege, ob überhaupt/was man daraus macht - der Weg bis zu einem funktionierenden Binary wäre jetzt nicht mehr so sehr weit.

    Nur sehe ich auch, dass ein separater Fork absolut doof wäre. Nie aktuell, immer von Hand die letzten Änderungen nachziehen.

  • Aber könnte man ne minimale GUI drüber stülpen und damit einige per samba/NFS gemountete Verzeichnisse im Loop abarbeiten lassen.

    Mein win Rechner hat meist weniger zu tun.

    Das würde mir auch sehr gefallen und ich würde es nutzen.

    Software: yaVDR0.7-Ansible Ubuntu 22.04 (jammy) mit vdr-2.6.7
    Fernseher: SONY KDL-32D3000


  • Wenn wir schon bei Wünschen sind:


    markad standalone auf einem Linux-Server, um Videos zu bearbeiten. Im *.ts-Format, aber von z.B. Enigma2-Boxen. Idealerweise inkl. Erstellung der *.cuts-Datei, die bei Enigma2 verwendet wird...

  • Das würde mir auch sehr gefallen und ich würde es nutzen.

    Als GUI würde ich ein vorhandenes Lazarus Projekt abwandeln, das wäre kein großer Aufwand.

  • Wenn wir schon bei Wünschen sind:


    markad standalone auf einem Linux-Server, um Videos zu bearbeiten.

    Mach doch. Eine command line Version ist doch per default dabei.


    Zitat

    Im *.ts-Format, aber von z.B. Enigma2-Boxen.

    Was ist an dem Format anders? Beides ist ts, die Daten müssten sich ähnlich bis identisch sein.

    Wo liegt der Unterschied, bzw. welche Features verhindern mit dem aktuellen Code und einer ts Datei der enigma2 die Erstellung von VDR-kompatiblen marks?

    Wenn das schon klappt, wäre die Erweiterung um eine weitere Ausgabedatei mit Schnittmarken in einem anderen Format kein großes Problem. Vorausgesetzt man weiß den Dateinamen etc.


    Zitat

    Idealerweise inkl. Erstellung der *.cuts-Datei, die bei Enigma2 verwendet wird...

    VDR verwendet Zeitstempel hh:mm:ss.ff, enigma2 64bit PTS timestamps.

    Solange keine größeren Stücke der TS Daten fehlen, sollte das eine in das andere direkt umrechenbar sein:

    Code
    PTS = seconds * PTS_per_sec;

    Wobei ich PTS_per_sec als Vielfaches von 90000 annehmen würde.

  • Solange keine größeren Stücke der TS Daten fehlen

    Sogar das kann man lösen: markad hat einen undokumentierten Parameter "--pts", den ich mal für mich zur Fehlersuche eingebaut habe. Damit wird zusätzlich zu den VDR kompatiblen Zeitstempeln auch PTS kompatible Zeitstempel in die marks geschrieben. Diese können dann wie von wirbel beschrieben exakt rückgerechnet werden.

  • Damit reduziert sich die Frage nach dieser Möglichkeit auf eventuelle Unterschiede in den ts Dateien bzw. woran es aktuell hakt VDR marks zu erstellen. Und natürlich Dateinamen.

  • Bei E2 nennen sich Videos so wie der Timer und alle anderen haben einfach eine extra Erweiterung...


    Code
    '20220922 0530 - ORF1 HD - Mr_ Griffin - Kein Bock auf Schule - Durbins Absturz  (S01E10).eit'
    '20220922 0530 - ORF1 HD - Mr_ Griffin - Kein Bock auf Schule - Durbins Absturz  (S01E10).ts'
    '20220922 0530 - ORF1 HD - Mr_ Griffin - Kein Bock auf Schule - Durbins Absturz  (S01E10).ts.ap'
    '20220922 0530 - ORF1 HD - Mr_ Griffin - Kein Bock auf Schule - Durbins Absturz  (S01E10).ts.cuts'
    '20220922 0530 - ORF1 HD - Mr_ Griffin - Kein Bock auf Schule - Durbins Absturz  (S01E10).ts.meta'
    '20220922 0530 - ORF1 HD - Mr_ Griffin - Kein Bock auf Schule - Durbins Absturz  (S01E10).ts.sc'

    Im Reciever wird nur das. ts angezeigt:

    Code
    Mr_ Griffin - Kein Bock auf Schule - Durbins Absturz  (S01E10)

    Die .ap und .sc sind wohl index-Daten.

    .eit das entsprechende eÉPG glaube ich.

    .meta ähnelt der info vom VDR:

    Code
    1:0:19:132F:3EF:1:C00000:0:0:0::ORF1 HD
    Mr. Griffin - Kein Bock auf Schule - Durbins Absturz  (S01E10)
    Durbins Absturz  (S01E10)
    1663817400
    SerienRecorder
    242641501
    2797549792
    f:1000
    188
    0

    Alle Videos liegen im /movie/ Verzeichnis. Mit dem Serienrecorder kann man Serien in Unterverzeichnisse mit dem Seriennamen packen

    Code
    [/mnt/ST32000542AS/movie] # ls
    'Better Call Saul (2015)'                   'No Tomorrow (2016)'  'Star Trek Discovery (2017)'     The_Archer
    'Mr Griffin - Kein Bock auf Schule (2018)'   Papierkorb           'Star Trek Lower Decks (2020)'  'The Neighborhood (2018)'
  • Auf meinem Ubuntu-VDR gibt es /usr/bin/markad und /usr/local/bin/markad. Ersteres ist wohl eine ältere Version aus einem Ubuntu-repository, letztere die aus Deinem Plugin.

    Ich habe nie einen Parameter für

    Code
    --bindir=DIR          use DIR as location for markad executable
    (default: /usr/bin)

    vorgegeben, also hat das Plugin bei mir wohl noch nie Deine Version benutzt. :(


    Wäre es nicht besser, wenn das markad-binary standardmäßig von der Lokation verwandt würde, wie es auf dem jeweiligen System in der $PATH-Variable geregelt ist? Standardmäßig bevorzugt Ubuntu lokale Installationen, so dass /usr/local/bin verwandt worden wäre.


    Darüber gestolpert bin ich auf dem Odroid, wo es eine Fehlermeldung gab:

    Code
    markad: cannot find /usr/bin/markad, please install

    Das Plugin hatte den Start abgebrochen und vdr kam nicht hoch. Gewundert habe ich mich zunächst, weshalb das Plugin eine Datei, die es selbst (entsprechend der Standard-Werte für PREFIX und BINDIR aus vdr's Makefile) installiert hat, dort nicht zuerst sucht und findet.... und dann habe ich mich gefragt, warum ich das Problem auf dem anderen VDR nicht auch hatte...

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Wäre es nicht besser, wenn das markad-binary standardmäßig von der Lokation verwandt würde, wie es auf dem jeweiligen System in der $PATH-Variable geregelt ist?

    Nein, weil ich mich nicht darauf verlassen, wie beim Start von VDR die $PATH Variable gesetzt ist. Das ist je nach Distribution oder selbst gebauten Start Script anders.


    Standardmäßig bevorzugt Ubuntu lokale Installationen, so dass /usr/local/bin verwandt worden wäre.

    Das hängt davon ab, ob selber gebaut (dann /usr/local/bin) oder aus einer Distribution installiert (dann /usr/bin).


    Es ist auch durchaus möglich, dann man produktiv in /usr/bin das markad aus der Distribution hat und zu Testzwecken ein selbst gebautes in /usr/local/bin.


    Es ist Aufgabe der Distribution die Parameter korrekt zu setzen, bzw. von jedem selbst, wenn er selbst baut.

  • Die Version 3.0.27 ist auf vdr-plugin-markad verfügbar. Sie enthält o.g. Patch.

    Code
    2022-11-07: Version 3.0.27
    - fix variable init for getline and sscanf (thx to durchflieger@vdr-portal.de)
    - some minor bug fixes and optimizations, see git
  • Normalerweise wollte ich zum 30.11., so wie immer, wieder eine Geburtstagsversion dieses Threads veröffentlichen.

    Das hat diesmal leider nichts funktioniert, weil die Tests noch nicht erfolgreich waren.

    Dann eben ein paar Tage verspätet: Die Version 3.0.28 ist auf vdr-plugin-markad verfügbar. Sie enthält vor allem Verbessrungen beim Erkennen von senkrechten Balken für alle, die gerne auch alte Serien/Filme schauen.

  • Hi,


    Mein compiler mosert ... :




    Also, das Format für size_t sollte %zu oder %zd sein.

    Die Zahlen hier sind wohl nicht so lang, dann kannst du auch (z.B.)


    (int)logoInfoVector[corner].size()


    schreiben


    ~ Markus

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Hi kfb77,


    Tatsächlich hatte mein Compiler auf arm64 gemosert. Der ist jetzt zufrieden.

    Mein Compiler auf arm32 mosert noch:

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

Jetzt mitmachen!

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