Ruckelnde Videos mit Emby auf Synology

Sonntag, 14. August, 2022

Es ist ein halbes Jahr her, dass ich Synology von DSM 7 auf Version aktualisierte. Dies bedingte eine neue Installation einer neueren Version von Emby. Und irgendwie war die Video-Wiedergabe seither immer nur am Ruckeln, dass ich den Spass verlor. Verursacher war Ffmpeg, das on-the-fly das Video-Ausgangsfile für eine Wiedergabe auf einem Ziel in eine Auflösung umrechnet. Mit Herunterschrauben der Auflösung während der Videowiedergabe kam man dem bei, aber schlechtere Auflösungen trüben auch den Filmgenuss.

Wie es der Zufall will habe ich mich nun nochmals in den Emby-Einstellungen verirrt (von der Emby Startseite rechts oben das Zahnrad-Symbol).
Unter Wiedergabe -> Video -> Heimnetzwerkqualität habe ich “auto” voreingestellt.
Im Menü unterhalb “Server” gibt es den Eintrag “Transcodiere“, wo man Hardware-Beschleunigung und andere Transcoding-Einstellungen setzen kann. Ich habe weder Emby Premiere noch würde ich mit der Synology eine Hardware-Beschleunigung aktivieren können. Aber auf dieser Einstellungsseite ist ja noch mehr.

Unter “H264-Kodiereinstellung” war “auto” gewählt. Und was soll ich sagen: das bewusste wählen einer langsameren Einstellung wirkt Wunder. Während bei Einstellung “auto” bei Fimlwiedergabe die CPU nahezu ausgelastet war und der Load sich bei 15 einpegelte … hingegen bei “superfast” wird die CPU nur noch kurz zu 20% belastet und liegt dann im einstelligen Bereich. Und bei Videowiedergabe die gewählte Videoqualität mit “auto” besser, als die zuvor gedrosselte Bandbreiten-Auswahl, damit es nicht ruckelte.

2022-08-14-emby-settings-for-h264-encoding-on-synology.png

Wer mag, kann es von der schlechtesten Qualitätsstufe “superfast” schrittweise noch hochsetzen. Aber das ist eine gute Stellschraube, bei der man ansetzen kann.

Toyota Auris - Herstellerangabe des Kraftstoffverbrauchs

Mittwoch, 5. Januar, 2022

Ich habe seit gut einem Jahr einen gebrauchten Toyota Auris Hybrid. Für jenen wird ein Kraftstoffverbrauch von 3.9 l auf 100 km angegeben - was ich bisher nicht erreichte. Ich war grundsätzlich darüber - und im Schnitt habe mit Auswertung bei Tankfüllungen gut 0.7 l mehr.

Nun war einen ganzen Tag mitsamt Kind und Kegel unterwegs - nur per Ortsverkehr und Landstrasse. Es geht also doch irgendwie. Nun kam ich für eine Tour einmal auf den Wert des angegebenen Werksverbrauchs.

2022-01-05__verbrauch.jpg

Manches glaubt man auch erst, wenn man es einmal mit eigenen Augen sieht :-)

Der Trick ist wohl generell, dass es längere Fahrwege braucht, bis alles warmgelaufen und die Batterie gut genug geladen ist, um effizient daherzurollen.
Ansonsten braucht es zum kraftstoffsparenden Fahren:

  • vorausschauendes Ausrollen bei Ampeln oder Kreuzungen
  • manuelles Einschalten der Rekupation für sanftes Bremsen oder bei Bergab-Fahrt
  • Gebrauch des Tempomat - ich nutze den auch im Stadtverkehr

Aber egal ob 3.9 oder 4.5 Liter - irgendwie ist das nicht schlecht, für meinen 7 Jahre alten Kombi - mit immerhin 1.5t Leergewicht.

2022-01-05__toyota_1.jpg 2022-01-05__toyota_2.jpg

SSD Einbau in Laptop Acer E 15

Sonntag, 29. März, 2020

Ich habe beim Laptop - ein Acer Aspire 15 mit Winows 10 - die Performance verbessern wollen. Und fing bei der SSD an…

Vorbereitungen

Eingebaut war eine Festplatte mit 1 TB. Also habe ich eine SSD gleicher Grösse gekauft.

2020-03-29-ssd-into-acer-aspire-ee15-01.jpg

Da mit dem Ausbau des Datenträgers alle Daten “weg” (auf dem dann ausgebauten Datenträger) sind, muss man die komplette Festplatte mit einem Backup-Programm sichern. Ich habe das Backup auf eine externe USB Disk gemacht. In meinem Fall hatte ich eine Festplatte mit

  • Recovery Daten (von Acer+MS)
  • System-Partition C (ca. 500 GB)
  • Daten Partition D (ca. 500 GB)

Mit einem System-Image für Recovery und C: und einem Partitions-Image brauchte es 2 Backups:

2020-03-29-backup-system.jpg 2020-03-29-backup-data.jpg

Und sofern noch nicht zur Hand: man kann sich auch ein bootbares Medium der Backup-Software erstellen. Das wird man gleich brauchen :-)

[Weiterlesen…]

Virtualbox: Protocol error beim Mounten der Shared Folders

Mittwoch, 17. April, 2019

In meiner Virtualbox 6.0(.x) Instanz habe ich ein lokales Webentwicklungsverzeichnis mit mehreren Domains von Entwicklungsumgebungen als Shared Folder in eine CentOS VM geteilt. In jener sind die Verzeichnisse als Apache Webroots via /var/www/[Domainname]/public_html/ angesprochen.

Und wie das so bei Computern ist: von einem Tag auf den anderen funktioniert irgendwas nicht mehr. Heute: das Mounten der Verzeichnisse.

Versuch 1:

Ein Reboot der VM … brachte nichts.

Versuch 2:

Shared Folders funktionieren nur, wenn die Gästetools installiert sind. Es hätte ja durch ein OS-Update der VM einen neuen Kernel gegeben haben. Diese habe ich nochmals installiert. Es wurde ein neuer Kernel compiliert… was einen weiteren Reboot brauchte … es geht aber nicht.

Versuch 3:

So kommt man dem Problem dann näher:
Man öffnet die Logs - das geht via dem Icon rechts einer VM (oh, ich hatte beim Umstellung von Virtualbox 5 auf V 6 lange die Sicherungspunkte gesucht :-)) - hier Logs auswählen. Dann erscheinen mehrere Tabs - das erste davon brauchen wir - die VBox.log.

2019-04-17-virtualbox-01-show-logs.png

Darin taucht ein Fehler auf:

00:36:51.618960 ASSERT_GUEST_LOGREL F:\tinderbox\win-rel\src\VBox\HostServices\SharedFolders\mappings.cpp(762) 
... int __cdecl vbsfMapFolder(struct _SHFLCLIENTDATA *,struct _SHFLSTRING *,unsigned short,bool,unsigned int *): 
... pFolderMapping->cMappings == 0 || pFolderMapping->fGuestCaseSensitive == fCaseSensitive
00:36:51.618981 Incompatible case sensitivity setting: C:\data\htdocs: 2 mappings, insenitive, requested senitive!
00:36:51.619183 VMMDev: Guest Log: 06:57:31.461002 automount Error: vbsvcAutomounterMountIt: Failed to mount 
... 'htdocs' on '/media/sf_htdocs': Protocol error (-1,71)

Nach jenem

automount Error: vbsvcAutomounterMountIt: Failed to mount ‘htdocs’ on ‘/media/sf_htdocs’: Protocol error (-1,71)

kann man im Internet micht der Suchmaschine seiner Wahl suchen. Leider wurde ich trotz des Fehlercodes und Wortlaut der Meldung nicht fündig. Das fand ich unlustig. Ich bin also der erste Mensch auf der Welt, der dieses Problem hat :-)

Schauen wir bei den gemeinsamen Ordnern - das hatte ich eingestellt:

2019-04-17-virtualbox-02-shared-folder.png

Was aber klappte:

Ich habe die Shared Folder Defintion gelöscht … rechts das Order Symbol mit dem X … im Log erschien

00:39:53.656135 SharedFolders host service: Removing host mapping 'htdocs'
00:39:53.743943 GUI: UIMediumEnumerator: Medium-enumeration finished!

Dann wurde das zuvor Gelöschte 1:1 wieder eingerichtet.

00:40:26.398568 SharedFolders host service: Adding host mapping
00:40:26.398589     Host path 'C:\data\htdocs', map name 'htdocs', writable, automount=true, automntpnt=, create_symlinks=false, missing=false
00:40:26.452420 GUI: UIMediumEnumerator: Medium-enumeration finished!
00:40:27.403966 VMMDev: Guest Log: 07:01:07.246159 automount vbsvcAutomounterMountIt: Successfully mounted 'htdocs' on '/media/sf_htdocs'

Dies hat er eingerichtet - und sofort war es auch in der VM ohne weiteres Zutun gemountet.
Last but not least habe ich die VM nochmals rebootet, um zu schauen, ob es auch nach einem Neustart noch funktioniert … yep, auch dies ging.

Unterbinden von Load_file() in Mysql und MariaDB

Sonntag, 17. Februar, 2019

Ich benötige zum Betreiben von Applikationen keine Dateizugriffe via Mysql. Wenn es weder Dateien vom Server noch vom Client braucht, fühle ich mich wohler, wenn die Funktion komplett deaktiviert ist, weil das ein offenes Scheunentor sein kann.

Um das Laden von Dateien innerhalb SQL zu vermeiden, gibt es in Mysql die Möglichkeit, in der Konfiguration den Dateizugriff zu unterbinden

[mysqld]
local-infile = 0|1 oder ON|OFF
secure_file_priv = [Wert]

Kurz in der Dokumentation die Werte nachlesen, ins Puppet kippen und auf alle Server verteilen.

Als Test, ob ich erfolgreich bin, dient der Aufruf … dieser muss NULL ausgeben und keinen Dateiinhalt.

#  mysql -e "SELECT  load_file('/etc/passwd');"
+--------------------------+
| load_file('/etc/passwd') |
+--------------------------+
| NULL                     |
+--------------------------+

Das war die Idee. Eigentlich klingt es einfach.
Leider verhalten sich aber die Einstellungen von Mysql und MariaDB unterschiedlich.

Der Wert für local-infile muss bei beiden 0 oder OFF sein. local-infile ist aber eine dynamische Variable - das ist aber lediglich der Startwert, der mit einem SQL Befehl in der laufenden Instanz neu gesetzt werden kann.

Heisst: es braucht zwingend den Wert für secure_file_priv, der sich wiederum NICHT zur Laufzeit verändern lässt.

(1)
Variante für Mysql:

[mysqld]
(...)
local-infile = 0
secure_file_priv = NULL
(...)

Danach einmal den Service neu starten systemctl restart mysql … dann habe ich das Verhalten wie in meinem Testaufruf.
Dieses Setup funktioniert nicht auf MariaDB - es wird mit einem Fehler in der Variable secure_file_priv beendet.

Die Dokumentation sagt: wenn secure_file_priv fehlt, würde der Dateizugriff verhindert werden…

Description: LOAD DATA, SELECT … INTO and LOAD FILE() will only work with files in the specified path. If not set, the default, the statements will work with any files that can be accessed.

Aber das ist nicht korrekt! Wenn ich secure_file_priv nicht setze, und es aus der laufenden Datenbank abfrage, ist der Wert leer

# mysql -e "SHOW VARIABLES LIKE 'secure_file_priv';"
+------------------+------------+
| Variable_name    | Value      |
+------------------+------------+
| secure_file_priv |            |
+------------------+------------+

… und ein SELECT load_file(’/etc/passwd’); zeigt mir den Dateiinhalt an!
Wer Percona oder einen anderen Mysql-Abkömmling verwendet, sollte das Verhalten austesten.

MariaDB erwartet einen existierenden Verzeichnisnamen. Ich habe mich entschieden, /dev/null zu nehmen, weil es sowohl existiert als auch ein User hier keine Datei ablegen kann:

(2)
Variante für MariaDB:

[mysqld]
(...)
local-infile = 0
secure_file_priv = /dev/null
(...)

(3)
Bliebe noch die Software-Verteilung… wenn in Puppet die Mysql-Klasse aufgerufen wird, muss diese von irgendwoher wissen, ob das Produkt am Zielsystem MariaDB oder Mysql ist. Die Lazy Variante wäre, auf das OS zu reagieren, weil Defaults in den Repos beispielsweise von Debian oder CentOS sich unterscheiden. Besser und sicherer ist natürlich ein echtes Flag.

Update zu (3):

Meine Variante für ein vom Mysql Daemon nicht verwendbares, aber stets existierendes Verzeichnis für beide Mysql-Varianten ist … “/root”

[mysqld]
(...)
local-infile = 0
secure_file_priv = /root
(...)

weiterführende Links:

  1. Golem: Lange bekannte MySQL-Lücke führt zu Angriffen (27.1.2019)
  2. secure_file_priv - mysql - Docs (en)
  3. secure_file_priv - mariaDB - Docs (en)

Wieder ein Nokia

Samstag, 21. Juli, 2018

Seit dieser Woche habe ich ein neues Smartphone. Ein Nokia. Als ich mein letztes Nokia hatte - puh das ist locker 10 Jahre her… danach kamen mehrere Sony Ericson… dann 2 Samsung… ähm, ich will gar nicht sagen, dass dies ein Gradmesser sein könnte, wie alt man geworden ist :-)

Einmal ausgepackt. Nach dem ersten Einschalten kam diese bekannte Nokia-Tonfolge - die vor 10 Jahren quasi omipräsenter Klingelton um einen herum (… und zwischenzeitlich fast vergessen) war.

Nach diesem kurzen Flashback kam dann auch ein Android zum Vorschein. Kaum auf dem “Desktop” … ein System-Update! Sowas hatte mein Samsung Galaxy Alpha seit 2 Jahren nicht mehr gesehen! Das ist schön: endlich wieder ein suppportetes Gerät! Das war auch einer der wichtigsten Kaufgründe: ich wollte ein Gerät mit AndroidOne.

Die meisten bisherigen Apps wurden automatisch installiert. Was fehlte, war Öffi - das ging aber auch durch die Techi-Presse, dass es von Google aus dem Google Store geworfen wurde, weil es einen Spenden Button enthält, der aber bei der Installation aus dem Google Store heraus aber gar nicht sichtbar ist. Aaalso: im Google Store sind Apps OK, die Werbung einblenden und einen heimlich ausschnüffeln toleriert - aber wenn man den Spenden Button unsichtbar macht, ist das ein Grund zum Rauswurf. Wer das tatsächlich verstanden hat, kann es mir gern nochmal erklären. Aber von Öffi kann man auch als APK herunterladen - oder in Kürze auch von F-Droid.

Das Samsung Galaxy hielt i.d.R. 1 Tag durch - hatte aber zwischendurch seine Rappel und war trotz reinem Standby nach 4 Studen saftlos.
Das Nokia bei meiner seltenen Gebrauchsweise musste ich nach 3 Tagen aufladen.

Kurz: im Moment habe ich Freude!

weiterführende Links:

  1. Öffi: oeffi.schildbach.de
  2. Heise: Öffi wird Open Source und landet auf F-Droid (17.7.2018)
  3. F-Droid - installierbarer Katalog mit FOSS-Apps (Free and Open Source Software) für Android

Windows10 - wenn man gar kein Handy anschliesst …

Donnerstag, 12. Juli, 2018

… kommt ein Dialog, was man mit seinem gar nicht angeschlossenen Handy machen kann. Oder aber könnte, wenn man denn ein Handy angeschlossen hätte.
Kommen Sie gerade noch mit?

Ach, ich verstehe es selbst nicht: ich habe doch nur eine Uhr per USB am Rechner aufladen wollen… und jene ist bereits entsperrt. Mein Handy zusätzlich zu entsperren wird nicht viel bringen.

2018-07-12-uhr-angeschlossen-win10.png

Magix Music Maker - keine Abspielanzeige und mehr

Samstag, 20. Januar, 2018

Quasi von einem Tag zum anderen mochte “meine” Musiksoftware nicht mehr so recht.

  1. Die senkrechte Linie zur Anzeige der Position beim Abspielen bewegte sich nicht mehr
  2. Die Zeit-Anzeige der Abspielposition verblieb immer auf “001:01:000”
  3. Öffnete man den Mixer während des Abspielens, war die Anzeige des Equalizers zur Amplitude der Ausgabekanäle tot
  4. Diverse Menüpunkte waren nicht mehr wählbar. Darunter alle Export-Funktionen (das ist dann schon eine erhebliche Einschränkung)
  5. das Userinterface war bei geladenen Songs extrem langsam.

2018-01-19-mmm-keine-abspielanzeige.png

Meine Setup-Binaries habe ich alle da - sowohl von der Software, als auch den Soundpools und Synthesizern.
Was ich alles versuchte, und NICHT half:

  1. Programmeinstellungen -> Audio: Treiber umstellen - funktionierte in keiner Kosntellation - egal ob Wave, DirektSound, ASIO, …
  2. Setup von MMM ausführen und “Reparieren”
  3. Setup von MMM ausführen und “Deinstallieren” - anschliessend erneut ausführen und komplett neu “installieren”

Lösung Teil 1:

Von Magix gibt es ein Uninistall Tool, das noch weitere Installationsreste findet.

  1. Setup von MMM ausführen und “Deinstallieren”
  2. MX Uninstaller herunterladen - ausführen - Es gab einen Registry Eintrag, den ich gelöscht habe. Achtung: nicht wahllos alles löschen, was das Cleanup-Werkzeug so hergibt: Soundpools und die erstellten Dateien will man ja nicht unbedingt wegwerfen.
  3. Reboot des Rechners (kann sein, dass es das nicht braucht, aber wenn man schon “ewig” frustriert daran herumschraubt…)
  4. Setup von MMM ausführen und “Installieren”
  5. Meine Soundpools waren noch da - die Setup von MMM Premium Synthesizer mussten nochmals installiert werden.

Jetzt ist “nur” noch der Punkt mit dem langsamen Userinterface. Das ist etwas subtil. Nach Programmstart ist alles normal flüssig schnell. Nach Laden eines meiner Songs schläft die GUI ein. Simple Dinge, wie eine Einzelspur stumm oder solo schalten braucht ca. 2 Sekunden. Aber halt nicht nur das: sobald auch nur irgendein Objekt-Synthesizer in irgendeiner Spur verwendet wird, werden sämtliche Aktionen inder UI langsam. Sei es einen Snthesizer zu öffnen oder den MIDI Editor oder Verschieben/ Anpassen von Blöcken in den Tracking-Spuren - kurz: gefühlt alles.

Das bin ich noch am Untersuchen.

Dieselben Songs in einer älteren Version geladen - dort ist die UI auch nach dem Laden unverändert. Es hängt zum einen definitiv an der MMM Version 2017. Alos zurück zur 2017er Version. Durch Entfernen einzelner Spuren in einem Song wurden die Verursacher ausgemacht: Sobald ein Objekt-Synthesizer in einer Spur ist, ist die Behandlung jener Spur extrem langsam. Das Verhalten ist allen Objekt-Synthesizern gemein - alle unter Instrumente -> Objekt-Synthesizer gelisteten habe ich durchprobiert.

2018-01-20-mmm-objektsynthesizer.jpg

Nochmal das Setup von MMM ausführen und “Reparieren” … bringt nichts.

Im Moment habe ich gerade noch keine weitere Idee. Hmmm :-(

weiterführende Links:

  1. magix.com - Download Magix-uninstaller-deinstallationsprogramm

Immer wieder hilfreich: SMS mit Roaming-Kosten

Donnerstag, 18. Januar, 2018

Zum Jahreswechsel war ich mal wieder St. Petersburg. Von meinem Mobilanbieter bekomme ich stets eine SMS mit Roamingkosten für das jeweilige Land, sobald er mich irgendwo neu lokalisiert.
Auch wenn wir 2017/2018 haben - und ich “mitten in Europa” war (der Ural als Europagrenze zu Asien ist 1.500 km weg), war dies eine hilfreiche Info:

2018-01-18-roaming-kosten.jpg

Ich nehme mal an, das meinen sie ernst: 10 Franken für 1 Megabyte.
Wenn man es hochrechnet: 1GB Datenvolumen kosten 10.000 Franken (=9.000 Euro). *Schluck*

OWA: die “Kalender von Pers”

Freitag, 21. Juli, 2017

Im OWA-Kalender des aktuellen Exchange 2016 kann man die Breite der linken Spalte nicht verschieben.
“Kalender von Pers” steht dann dort. Und wenn man Ausleihgeräte über einen Exchange Kalender verwaltet, sieht man leider nicht sofort den kompletten Namen.

2017-07-21-kalender-von-pers.png

Bis Microsoft das behebt, kann man sich ein Bookmarklet [01] in seinem Browser ablegen. Jenes funktioniert unabhängig von der Domain/ URL, wo sich eure OWA-Installation befindet und unabhängig vom Webbrowser (Anm.: leider weis ich nicht, wie man in Edge ein Bookmarklet erzeugt).

Anleitung:

  • Den nachfolgenden Link per Drag and Drop in die Lesezeichenliste ziehen: Kalenderbreite
  • OWA im Browser starten und in den Kalender wechseln
  • In der Lesezeichenliste auf das eben erstellte Bookmarklet “Kalenderbreite” anklicken. Die Kalenderbreite wird dann angepasst. Und bleibt so bis zum Neuladen der Seite.

Wie das Bookmarklet funktioniert:

In das aktuelle Dokument im Browser wird zusätzlicher CSS-Code eingeschleust.

Der Wert für die Breite wird in 2 DIVs benötigt, die unterhalb des DIV der Klasse “._wx_P” sind.
Ich setze eine Variable w auf die Breite von 300 Pixel und weise dem 1. Div nach dem Div der Klasse “._wx_P” die Breite auf w und beim 2. Div den Wert left auf w.
Wenn man im Inspektor schaut – die 2 Originalwerte “210px” werden mit “300px” übersteuert. Wem das nicht breit genug ist, kann das Bookmarklet bearbeiten und den Wert hinter w=… anpassen.

2017-07-21-kalender-von-pers-2.png

weiterführende Links:

  1. Wikipedia: Bookmarklet
  2. Nochmal das Bookmarklet … Drag and Drop: Kalenderbreite