[Smart TV] Tester für "VDR on Smart TV" gesucht

  • Wie hast Du denn den Fehler korrigiert?


    Ganz so einfach wie ich es mir heute Morgen vorgestellt hatte ist es anscheinend doch nicht. Da bin ich davon ausgegangen dass der VDR die Namen der Aufnahmen auf genau 40 Zeichen beschränkt. Bei ein paar Tests mit Aufnahmen mit langen Namen bin ich aber auf unterschiedliche Ergebnisse gekommen (zwischen 37 und 40 Zeichen).



    Direkt nachvollziehen kann ich dies bei mir schon im Live-Plugin. Wenn ich einen Timer einer Sendung mit langem Namen (> 40 Zeichen) mache dann ist dieser Name in der Liste der Timers komplett, in der Liste der Aufnahmen ist der Name aber dann abgeschnitten.
    Ich habe einen ARM-Rechner mit Ubuntu und VDR 2.1.1 mit 2 Technisat SkyStar USB DVB-S2.


    Warum und nach welchen Kriterien der VDR hier die Namen der Aufnahmen abschneidet weiß ich nicht.



    Kannst du oder evtl. jemand anderes mein Problem mit den langen Namen überhaupt nachvollziehen?



    Als Lösung würde mir nach meinem Momentanen Kenntnisstand (und der ist bisher nur sehr oberflächlich) nur einfallen, bei diesem Vergleich der Namen der Aufnahmen mit den aktiven Timern nur soviel Zeichen heran zu ziehen wie der Name der Aufnahme lang ist und evtl. weitere Zeichen des Timer-Namen zu ignorieren. Ich werde es versuchen und dann hier Bescheid geben.

    Mein VDR: Odroid X2 (ARM), 2x Technisat SkyStar USB DVB-S2
    Ubuntu 13.04, Kernel 3.8.13, VDR 2.1.1, Samsung TV

  • For VDR-2.1.2 you need to change httpresource.c line 498 to this:-if (mPath.compare(0, strlen(cVideoDirectory::Name()), cVideoDirectory::Name()) == 0) {



    and responsememblk.c line 1995 to this:-percent = cVideoDirectory::VideoDiskSpace(&free, &used);



    Graet Plugin



    Rgds



    Mike

  • Aus dem Changelog von VDR-1.7.37:

    Zitat

    - cTimer no longer does any special "VFAT" handling to shorten directory names to 40 characters. When a string is used as a directory name for a recording, the maximum length of the directory path, as well as the individual directory names, is now limited to the values specified by the new command line option --dirnames (see man vdr(1) for details). For backwards compatibility the option --vfat is still available and has the same effect as --dirnames=250,40,1.

    Mach den entsprechenden Eintrag in dein Startscript, dann wird da auch nix mehr gekürzt ;)


    Gruß
    iNOB

  • Aus dem Changelog von VDR-1.7.37:

    Mach den entsprechenden Eintrag in dein Startscript, dann wird da auch nix mehr gekürzt ;)


    Gruß
    iNOB

    Hi iNOB,


    danke, du hast recht, bei mir war die Option --vfat gesetzt (warum auch immer?!?!?).
    Habs raus gemacht und mein Problem hat sich damit von lelbst gelöst.

    Mein VDR: Odroid X2 (ARM), 2x Technisat SkyStar USB DVB-S2
    Ubuntu 13.04, Kernel 3.8.13, VDR 2.1.1, Samsung TV

  • For VDR-2.1.2 you need to change httpresource.c line 498 to this:-if (mPath.compare(0, strlen(cVideoDirectory::Name()), cVideoDirectory::Name()) == 0) {



    and responsememblk.c line 1995 to this:-percent = cVideoDirectory::VideoDiskSpace(&free, &used);

    thanks Mike. I have added your suggestions into the git version.

    danke, du hast recht, bei mir war die Option --vfat gesetzt (warum auch immer?!?!?).


    Habs raus gemacht und mein Problem hat sich damit von lelbst gelöst.

    Gut, das sich das Problem gelöst hat. Jetzt habe ich auch noch ein weiteres Indiz, was das Problem verursacht haben könnte.


    Grüße,
    T.

    Server: Asrock J3455-ITX with Ubuntu 20.04, ubuntu vdr dist, streamdev-server, live, smarttvweb, vnsiserver, dynamite
    Clients: Samsung UE40ES5700 (VDR on Smart TV widget), Kodi

  • Sollte es nicht mal die Möglichkeit geben, das sich das Plugin für die Aufnahmen


    die eingestellte Sortierung für das nächste Mal merkt ?

    Jep, sollte möglich sein.


    Grüße,
    T.

    Server: Asrock J3455-ITX with Ubuntu 20.04, ubuntu vdr dist, streamdev-server, live, smarttvweb, vnsiserver, dynamite
    Clients: Samsung UE40ES5700 (VDR on Smart TV widget), Kodi

  • Muß ich was an den Konfigs/Einstellungen ändern ?

    Oh. Hab' ich wohl in der Beschreibung vergessen.


    Mit dem Element <sortType> im widget.conf kannst Du die default Einstellung vorgeben. Die Werte 0 und 1sind für "Name / Datum". Die Werte 2 und 3 sind für "Datum / Name".


    Grüße,
    T.

    Server: Asrock J3455-ITX with Ubuntu 20.04, ubuntu vdr dist, streamdev-server, live, smarttvweb, vnsiserver, dynamite
    Clients: Samsung UE40ES5700 (VDR on Smart TV widget), Kodi

  • Sorry, für meine Ungenauigkeit.... :wand


    0: ist für "Name / Datum" abwärts sortiert
    1: ist für "Name / Datum" aufwärts sortiert
    2: ist für "Datum / Name" abwärts sortiert
    3: ist für "Datum / Name" aufwärts sortiert


    Der Slash bezieht sich auf die prio zwischen Namen und Datum. Eine ganze Zahl wird von sortType erwartet.


    zum Beispiel:
    <sortType>2</sortType>


    Grüße,
    T.

    Server: Asrock J3455-ITX with Ubuntu 20.04, ubuntu vdr dist, streamdev-server, live, smarttvweb, vnsiserver, dynamite
    Clients: Samsung UE40ES5700 (VDR on Smart TV widget), Kodi

  • Hallo !



    Mit den aktuellsten Sourcen aus dem git klappt der Compile nicht mehr:



    WARNING: plugin smarttvweb is using an old Makefile!
    ( if [ -f .standalone ] ; then ( rm -f .standalone; make clean ; make objects ) ; else exit 0 ;fi )
    g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"smarttvweb"' -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/backup/privat/tv/dvb/vdr-2.0.4/include -I/include -o smarttvfactory.o smarttvfactory.c
    smarttvfactory.c: In member function ‘void cCmd::trim(std::string&)’:
    smarttvfactory.c:96:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for (int i=0; i<t.size(); i++)
    ^
    smarttvfactory.c: In member function ‘void SmartTvServer::addHttpResource(int, cHttpResourceBase*)’:
    smarttvfactory.c:401:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if (clientList.size() < (rfd+1)) {
    ^
    smarttvfactory.c: In member function ‘void SmartTvServer::acceptHttpResource(int&)’:
    smarttvfactory.c:511:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if (clientList.size() < (rfd+1)) {
    ^
    smarttvfactory.c: In member function ‘std::string SmartTvServer::processNestedItemList(std::string, cList<cNestedItem>*, std::vector<cCmd*>*)’:
    smarttvfactory.c:717:37: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘std::vector<cCmd*>::size_type {aka long unsigned int}’ [-Wformat=]
    (pref + itm->mTitle).c_str());
    ^
    smarttvfactory.c:717:37: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘std::vector<cCmd*>::size_type {aka long unsigned int}’ [-Wformat=]
    g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"smarttvweb"' -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/backup/privat/tv/dvb/vdr-2.0.4/include -I/include -o httpresource.o httpresource.c
    httpresource.c: In member function ‘virtual int cHttpResource::handleRead()’:
    httpresource.c:218:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if ((pos > buflen) or (pos == string::npos)) {
    ^
    g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"smarttvweb"' -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/backup/privat/tv/dvb/vdr-2.0.4/include -I/include -o responselive.o responselive.c
    responselive.c: In member function ‘virtual int cResponseLive::fillDataBlk()’:
    responselive.c:257:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
    g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"smarttvweb"' -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/backup/privat/tv/dvb/vdr-2.0.4/include -I/include -o httpresource_base.o httpresource_base.c
    httpresource_base.c: In member function ‘virtual int cHttpResourcePipe::handleRead()’:
    httpresource_base.c:42:41: error: ‘read’ was not declared in this scope
    int buflen = read(mFd, mBuf, MEMBUFLEN);
    ^
    make[1]: *** [httpresource_base.o] Fehler 1



    Grüße,


    Dirk

  • Klappt doch nicht ...


    Habe mal Debugging eingeschaltet, aber ich sehe nichts.


    ...
    <widgetdebug>true</widgetdebug>
    <sortType>3</sortType>
    ...


    # cat /tmp/smarttvweb.txt


    Log Created: So, 08 Dez 2013 19:45:42 GMT
    LogFile= /tmp/smarttvweb.txt
    reccmds.conf parsed
    commands.conf parsed
    printConfig:
    ConfigDir: /var/lib/vdr/plugins/smarttvweb
    LogFile: /tmp/smarttvweb.txt
    MediaFolder:/medien/Videos
    SegmentDuration: 10
    HasMinBufferTime: 30
    HasBitrateCorrection: 1.1
    LiveChannels: 200
    GroupSeparators: Ignore
    ServerAddress:
    UseStreamDev4Live: true
    BuiltInLiveStartMode: 2
    BuiltInLivePktBuf4Hd: 150
    BuiltInLivePktBuf4Sd: 75
    HTTP server listening on port 8000
    SmartTvServer Thread Started
    mServerFd= 30
    WARNING in SmartTvServer::TimerChange - Timer is NULL. Method= TCMOD, returning
    SmartTvServer::Recording:
    Recording started Msg= {"type":"RECSTART","name":"Breaking Dawn -
    Bis(s) zum Ende der Nacht
    I","guid":"/video0/Breaking_Dawn_-_Bis(s)_zum_Ende_der_Nacht_I/2013-12-08.20.12.60-0.rec"}
    WARNING in SmartTvServer::TimerChange - Timer is NULL. Method= TCMOD, returning
    SmartTvServer::Recording:
    Recording started Msg= {"type":"RECSTART","name":"Stonehenge
    Apocalypse - Die letzten Tage der
    Erde","guid":"/video0/Stonehenge_Apocalypse_-_Die_letzten_Tage_der_Erde/2013-12-08.20.12.14-0.rec"}
    WARNING in SmartTvServer::TimerChange - Timer is NULL. Method= TCMOD, returning
    SmartTvServer::Recording:
    Recording started Msg= {"type":"RECSTART","name":"Das Privatleben des
    Sherlock
    Holmes","guid":"/video0/Das_Privatleben_des_Sherlock_Holmes/2013-12-08.20.12.1-0.rec"}


    Grüße,


    Dirk

  • Klappt doch nicht ...


    Habe mal Debugging eingeschaltet, aber ich sehe nichts.


    ...
    true
    3
    ...


    Hi Teddy,


    ich dachte, ich hätte das zu genüge getestet, aber scheinbar doch nicht. Ich muß mir das mal genauer angucken.


    Grüße,
    T.

    Server: Asrock J3455-ITX with Ubuntu 20.04, ubuntu vdr dist, streamdev-server, live, smarttvweb, vnsiserver, dynamite
    Clients: Samsung UE40ES5700 (VDR on Smart TV widget), Kodi

  • Hi,


    seit über einem Monat habe ich jetzt Plug In und Widget im Einsatz und bin echt begeistert: Die zusätzliche Wiedergabe-Hardware im Wohnzimmer hat sich damit ja wohl erledigt. Genial!
    Ein Riesendankeschön an thlo und alle die außerdem dazu beigetragen haben! :tup :] :tup


    Die vereinzelten Probleme, die mir bisher aufgefallen sind, scheinen an einer grenzwertigen SAT-Signalqualität zu liegen, die den etwas empfindlichen Player zum Straucheln bringen oder das schrittweise Weiterspringen verhindern. Da das bisher immer bei Aufnahmen zu beobachten war, die bei schlechtem Wetter erfolgten, sollte sich das geben, sowie die zweite SAT-Leitung liegt und der eben noch vorgeschaltete 2-fach Verteiler entfernt ist.


    Einen Feature-Wunsch hätte ich: Bisher haben wir viele Jahre einen VDR 1.4.x als einzigen SAT-Receiver genutzt und uns dabei sehr an das "automatische Springen an Schnittmarken" gewöhnt. Beim VDR 2.0.x ist jumpplay wohl nicht mehr möglich, aber das manuelle Springen zu Schnittmarken per Fernbedienung müsste gehen. Früher war das auch ab und an nötig: noad setzte die Marken zwar meist sehr gut, manchmal wurde es aber durch Einblendungen in die laufende Sendung oder Sendungsvorschau zwischen der Werbung in die Irre geführt. Dann ging es mit Taste 9 zur nächsten Marke, oder mit 7 zur vorherigen. So etwas - gerne über andere Tasten, da die Ziffern ja schon belegt sind - wünsche ich mir. Vielleicht würde das auch manchmal helfen, wenn die vorhandene Sprungfunktion nicht will.


    Ansonsten ist mir noch aufgefallen, dass beim Streamen aus der Web-Übersicht z.B. auf einen Androiden, in den Aufnahmen das springen nicht im Abspieler (vlc) angeboten wird, aber komischerweise beim Channel Live-Stream, wo es nichts bringt. Da dieses beim Live-PlugIn genau so ist, vermute ich aber mal, dass es nicht aus dem smarttvweb PlugIn kommt.


    Nochmal vielen Dank und viele Grüße,
    bemika

  • Hallo und frohe Weihnachten,

    seit über einem Monat habe ich jetzt Plug In und Widget im Einsatz und bin echt begeistert: Die zusätzliche Wiedergabe-Hardware im Wohnzimmer hat sich damit ja wohl erledigt. Genial!

    Danke, Danke. Ja, weniger HW, bzw, Weiterverwendung der existierenden, fand ich auch gut. Zudem hatte ich den Eindruck, daß der Input über HDMI ein wenig "matschig / unscharf" wirkt. Der eingebaute Player scheint ein besseres Bild zu liefern. Allerdings nerven die regelmäßigen SmartHub Updates.


    Die vereinzelten Probleme, die mir bisher aufgefallen sind, scheinen an einer grenzwertigen SAT-Signalqualität zu liegen, die den etwas empfindlichen Player zum Straucheln bringen oder das schrittweise Weiterspringen verhindern. Da das bisher immer bei Aufnahmen zu beobachten war, die bei schlechtem Wetter erfolgten, sollte sich das geben, sowie die zweite SAT-Leitung liegt und der eben noch vorgeschaltete 2-fach Verteiler entfernt ist.

    Ja, der Player ist etwas peniebel. Zudem scheint der Player ein Problem mit dem Überlauft der Zeitstempel zu haben. Wenn der Player auf "HLS" steht ist die Wiedergabe deutlich robuster. Hierfür muß Du "<format>hls</format>" und "<usePdlForRecordings>false</usePdlForRecordings>" im "widget.conf" setzen.


    Einen Feature-Wunsch hätte ich: Bisher haben wir viele Jahre einen VDR 1.4.x als einzigen SAT-Receiver genutzt und uns dabei sehr an das "automatische Springen an Schnittmarken" gewöhnt. Beim VDR 2.0.x ist jumpplay wohl nicht mehr möglich, aber das manuelle Springen zu Schnittmarken per Fernbedienung müsste gehen. Früher war das auch ab und an nötig: noad setzte die Marken zwar meist sehr gut, manchmal wurde es aber durch Einblendungen in die laufende Sendung oder Sendungsvorschau zwischen der Werbung in die Irre geführt. Dann ging es mit Taste 9 zur nächsten Marke, oder mit 7 zur vorherigen. So etwas - gerne über andere Tasten, da die Ziffern ja schon belegt sind - wünsche ich mir. Vielleicht würde das auch manchmal helfen, wenn die vorhandene Sprungfunktion nicht will.

    Hmm, zur Zeit ignoriert das Plugin / Widget die Schnittmarken. Muß mal gucken, wie das mit den Schnittmarken funktioniert.

    Ansonsten ist mir noch aufgefallen, dass beim Streamen aus der Web-Übersicht z.B. auf einen Androiden, in den Aufnahmen das springen nicht im Abspieler (vlc) angeboten wird, aber komischerweise beim Channel Live-Stream, wo es nichts bringt. Da dieses beim Live-PlugIn genau so ist, vermute ich aber mal, dass es nicht aus dem smarttvweb PlugIn kommt.

    Ja, ist mir auch schon aufgefallen, hatte aber noch keine Zeit ins Detail zu gucken. Mit der PC Version des VLC funktinoniert das Springen. Mir dem "Mx Player" auf meinem Android kann ich auch springen. Vielleicht kannst Du einfach den Mx Player nutzen, bis ich den Fehler für Android VLC gefunden habe. Habs mal auf meine TODO Liste für diesen Weihnachtsurlaub gesetzt...



    Klappt doch nicht ...

    Ich denke, ich hab' Teddy's Bug. Fix kommt dann mit dem nächsten Release.


    Grüße,
    T.

    Server: Asrock J3455-ITX with Ubuntu 20.04, ubuntu vdr dist, streamdev-server, live, smarttvweb, vnsiserver, dynamite
    Clients: Samsung UE40ES5700 (VDR on Smart TV widget), Kodi

  • Hallo thlo,


    besten Dank für die Grüße und die Tipps! Ob bei der aktuellen 8er Serie der HDMI Input matschig ist, kann ich nicht gut beurteilen. Mein einziger Zuspieler ist ein Raspberry Pi mit RaspBMC. Der ist zwar etwas träge, aber matschig kommt mir das eigentlich nicht vor. Nach zwei Monaten hatte ich dann heute auch das erste TV-Firmware Update eingespielt - war echt begeistert, alle ausgewählten Apps wurden aus dem Smart Hub geworfen. Immerhin blieb VDR On TV drin. Da gibt es bei Samsung noch Verbesserungspotenzial. :)


    Format HLS und usePdlForRecordings "false" hatte ich hier schon gefunden und seit einiger Zeit ausprobiert, leider ohne merkliche Verbesserung. Neulich gab es wieder den Effekt, dass beim Timeshift das Springen gar nicht ging (dabei wurde der Zeitbalken aber richtig dargestellt - der läuft sonst oft über). Als die Aufnahme dann fertig war, ließ sich bei neuer Wiedergabe ohne Probleme springen und spulen.


    Mit der PC Version des VLC funktinoniert das Springen. Mir dem "Mx Player" auf meinem Android kann ich auch springen. Vielleicht kannst Du einfach den Mx Player nutzen, bis ich den Fehler für Android VLC gefunden habe. Habs mal auf meine TODO Liste für diesen Weihnachtsurlaub gesetzt...


    Habe ich eben auf dem PC mit dem VLC PlugIn für Firefox aus der Web-Übersicht ausprobiert, da ist der Effekt der gleiche: Bei Aufnahmen ist kein Springen möglich, bei AVIs oder MKVs aus "Media" auch nicht, aber bei alten VDR Aufnahmen, die unter Media liegen, geht es...


    Hmm, zur Zeit ignoriert das Plugin / Widget die Schnittmarken. Muß mal gucken, wie das mit den Schnittmarken funktioniert.


    Super! Wenn da was möglich wäre, würde es den Komfort noch deutlich heben. :)


    Ich wünsche schon mal einen guten Rutsch und ein schönes neues Jahr!


    Grüße,
    bemika

Jetzt mitmachen!

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