Jump to content

Android DVBViewer Controller


VinoRosso

Recommended Posts

Grad mal schnell getestet auf einem Nexus 10. Funktioniert ohne Probleme.

 

Könnte man etwas mehr Detail zu  "Noch mehr Tablet Anpassungen" erfahren?

 

LG, Goggo

 

Link to comment

Ich habe immer noch Problem mit dem Aufnahmeverzeichnis,

die XML kann nicht gelesen werden unter Android 5.5.

Alles andere läuft prima, auch Streaming.

Link to comment

Da ist ne Aufnahme mit kaputtem EPG in deiner Aufnahmeliste, kein update wird das jemals fixen. Da hilft nur die betroffene Aufnahme zu löschen.

Link to comment

Eventuell reicht es auch im RS Webinterface bei der Aufnahme die gespeicherten Informationen zu bearbeiten und die fehlerhaften Zeichen zu löschen.

Webinterface > Aufnahmen > mit der Maus über den Eintrag gehen und auf den Stift klicken.

Link to comment
  • 3 weeks later...

Danke VinoRosso und Tjod,

ich habe sehr viele kleine Clips ca. > 1000, wird wohl in Fleißarbeit ausarten.

Wäre eben schön gewesen wenn man einfach nicht "verständliche" Zeichen unterdrückt oder ignoriert denn es kann ja jederzeit passieren das ein Sender Quatsch macht oder man zB. was von CCTV (chinesisch) oder JSTV (japanisch) aufnehmen will. Ich weiß allerdings nicht ob die überhaupt EPG unterstützen. Man merkt nicht weil das Web Interface reibungslos funktioniert.

Irgend wann nutzt man dann den DVB Controller bemerkt den Fehler und dann geht die suche los.

 

Grüße Klaus

Link to comment

Ruf mal http://127.0.0.1:8089/api/recordings.html?utf8= im Webbrowser auf und guck wo der über Fehler meckert. Das dürften eigentlich nicht an vielen stellen sein.

Link to comment

Support für von Nutzern erstelle aufgaben wäre noch nützlich. Also http://127.0.0.1:8089/api/getconfigfile.html?file=config\tasks.xml abrufen und da alle bei allen task Elementen den name auslesen z.B. aus <task name="Start DVBViewer on server PC" tasktype="1">

Und dann unten an die Liste mit den vordefinierten Aufgaben anhängen.

 

Grade da es jetzt mit dem DMS ja möglich ist darüber z.B. den DVBViewer auf dem Server PC zu starten wäre das durch aus interessant.

 

Link to comment
3 hours ago, VinoRosso said:

Kann man die vordefinierten tasks mittlerweile auch abrufen?

 

Ja.

 

http://127.0.0.1:8089/api/getconfigfile.html?file=config\tasks.xml

 

Der RS/DMS berücksichtigt, dass die Datei nicht im Konfigurationsverzeichnis, sondern im Installationsverzeichnis liegt.

 

P.S. Sehe gerade, das hat Tjod bereits angegeben. Also was willst du genau?

 

Edited by Griga
Ergänzung
Link to comment

Eine Möglichkeit die internen Tasks auch per API abzurufen. Geht das mittlerweile?

Wenn nicht auch nicht schlimm, wenn ja dann sollte ich das mal ändern.

Link to comment

1.2.1-1 ist als Beta verfügbar.

APK

 

Unterstützt jetzt HLS streams.

Springen in transkodierten streams funktioniert dabei mit dem MX player wunderbar, VLC bestimmt auch aber den hab ich nicht probiert.

Edited by VinoRosso
Link to comment

Hallo VinoRosso

Server 2.0 (Recording Service)

Android Vers 4.4.2

1.2.1 build 1

bei mir kommt keine Auswahl für transcodierte Streams

nur direkt Stream möglich, was mach ich falsch ?

Ostergrüße

Link to comment

Hi,

 

gerade mal getestet. Hier auch alles OK. Also direktes und transkodiertes Streaming auf einem Nexus Tablet.

 

Wollte noch das Springen bei transkodierten Streams (Aufnahmen) ausprobieren. Klappte allerdings nicht. Bei direktem Streaming klappt es. Liegts daran, dass ich noch den alten RS habe?

 

LG, Goggo

Link to comment

Springen klappt nur bei HLS Profilen.

Ob HLS über Verbindungen die eine Authentifizierung verlangen klappt, weiss ich auch nicht :-D

 

@Griga

Klappt das streaming von HLS über die URL /master.m3u8 mit RS 1.33?

Und klappt das auch passwortgeschützt?

Edited by VinoRosso
Link to comment

Dann hast du aus irgend einem Grund keine iphoneprefs.ini

Wie kann das denn sein? :-D

Bei mir liegt die im config Ordner neben der ffmpegprefs.ini

 

Link to comment

Der DMS legt die iphoneprefs.ini und ffmpegprefs.ini leider, wie alle Dateien erst an wenn er die Braucht. Das heißt die existiert erst wenn ein entsprechender Stream gestartet wurde.

Und in Firefox oder Chrome geht das starten von HLS streams oder erstellen entsprechender Playlisten nicht da, der DMS so intelligent ist die da raus zu filtern (bis auf TS wird alle ausgeblendet was nicht geht, warum es für TS eine Ausnahme gibt für die anderen Formate aber nicht ob wohl die da genau so viel Sinn machen würde kann ich nicht sagen).

 

Soll heißen du kannst beim DVBViewer oder RS leider nie davon ausgehen das Standard Dateien oder Standard Einträge in Dateien vorhanden sind. Erst wenn man geändert wurde ist es sicher vorhanden.

 

Zur Lösung unter Android im Webbrowser könnte es möglich sein HLS Streams einmal zu starten oder Edge oder auf iOS/Mac Geräten sofern vorhanden. Sonst bleibt nur kompliziert über die API eine stream zu starten oder manuell die Dateien dahin zu kopieren.

 

Hier mal die momentan aktuellen Dateien  prefs.ini.zip die gehören in C:\Program Files (x86)\DVBViewer\config\

Link to comment
12 hours ago, VinoRosso said:

Dann hast du aus irgend einem Grund keine iphoneprefs.ini

 

Also das Problem ist hier, dass der DVBViewer Controller die iphoneprefs.ini braucht, um HLS anbieten zu können, die jedoch nicht existiert, weil HLS noch nicht benutzt wurde, richtig? Ein typisches Henne und Ei-Problem :) Muss man was gegen tun.

 

Eine Lösung innerhalb der App wäre, bei fehlender iphoneprefs.ini zunächst einen generischen HLS-Eintrag anzubieten. Bei einer URL ohne Preset-Angabe nimmt der DMS den Default (HLS Mid 1200 kbit, wenn ich mich recht erinnere). Und danach gibt es auch die iphoneprefs.ini.

 

Ich werde mal darüber nachdenken, wie sich das besser regeln lässt...

Link to comment

Hi,

 

hab gerade die neue Version mal auf dem Nexus installiert. Bekomme beim Streaming auch HLS-Profile angeboten. Die haben bei ein paar kurzen Test soweit funktioniert, auch das Springen.

 

Hatte beim Springen aber hin und wieder Tonaussetzer, oder der Ton blieb nach einem Sprung ganz weg. 

 

Laufen beim Streaming eigentlich immer zwei ffmpeg-Prozesse, die die CPU ziemlich auslasten? Dann waere mir klar, weshalb mein Server mit DualCore-CPU beim Streamen schnell an seine Grenzen kommt. Haben die Tonaussetzer mit dem zweiten ffmpeg-Prozess zu tun, weil er sich mit den Standardporzessen des Rechners um CPU-Power streitet, oder ab und zu ganz abzuschmieren scheint (Ton ganz weg)?

 

Schoenes, bisher noch unentdecktes Feature ist, dass man nach Unterbrechungen (z.B. bei Geraetewechsel) an der gleichen Stelle wieder fortsetzen kann.

 

LG, Goggo

Link to comment
42 minutes ago, Goggo16 said:

Laufen beim Streaming eigentlich immer zwei ffmpeg-Prozesse, die die CPU ziemlich auslasten?

 

Sollte nur bei zwei Clients vorkommen, die verschiedene transkodierte Streams empfangen. Sonst passt da irgendwas nicht ;) Schaue mal auf der Statusseite des Web Interface nach, welche und wie viele Clients dort angezeigt werden.

 

Link to comment

Aaalso. Hab mal etwas intensiver getestet, und zwar mit dem Nexus und zum Vergleich mit MacBook mit VLC.

 

Als Profil habe ich auf dem Nexus HLS das "HLS High 1800 kbit" genommen (Beim "HLS HD 3600 kbit" wird ja nix skaliert, also ohne ffmpeg)

 

Es hat sich jetzt verfestigt, dass beim Streamen von Aufnahmen (wenns läuft) von/zum Nexus zwei ffmpeg-Prozesse laufen. Die Command-Line zeigt nur Unterschiede in den Optionen bei der "pipe". Im Status-Fenster des RS-GUI sieht man dann tatsaechlich zwei Clients.

 

Das läuft aber nicht ganz stabil und ist nicht immer wiederholbar.

 

Beim Versuch des Neustarts eines Streams sieht man in der Prozessliste des RS (Prozess Explorer auf Windows Server 2011) auch zwei ffmpeg-Prozesse. Nach ein paar Sekunden beginnt auch die Wiedergabe auf dem Nexus. Fast gleichzeitig schmiert ein ffmpeg-Prozess ab (verschwindet auf der Prozessliste) und ein paar Sekunden spaeter ist der Ton auf dem Nexus weg. Bild läuft weiter. Im Status-Fenster wird dann nur noch ein Client gezeigt.

 

Aehnliches Verhalten (abschmieren des zweiten ffmpeg-Prozesses) sehe ich beim Springen. Entweder bleibt der Ton weg oder es geht garnicht mehr. Ein ffmpeg-Prozess war noch mit reichlich CPU-Last am Laufen, aber am Nexus war Standbild.

 

Hab dann noch mit anderen Profilen experimentiert. Bei einem war dann auch mal in den Command-Line Optionen des ffmpeg was mit 127.0.0.1 zu sehen. Dachte dann, dass das doch vielleicht ein Hinweis ist.

 

Koennte ja in den RS Einstellungen noch vergessen haben, eine ggf. noch aktive, zweite Netzwerk-Schnittstelle zu deaktivieren. Hab dann die 127.0.0.1 in den RS-Einstellungen fuer WebServer und UPNP-AV-Server ausgeschlossen und somit nur die normale LAN-IP-Adresse aktiv gelassen. Damit wird der RS auch immer angesprochen.

 

Dann gingen auf dem MacBook die transcodierten Streams nicht mehr. Direkt-Streams aber schon. Ob es auf dem Nexus was geaendert hat, da bin ich mir nicht sicher. Bei ersten Streaming-Versuchen war nur noch ein ffmpeg-Prozess zu sehen. Koennte aber sein, dass dann das o.g. Problem sich überlagert hatte.

 

Hab dann den Auschluss der 127.0.0.1 wieder rausgenommen. Dann liefen die transcodierten Streams auf dem Macbook wieder.

 

Bin jetzt erst mal etwas ratlos, wo der Hase im Pfeffer liegt. Ist zu viel Konfigurations-Muell auf meinem Server? Oder erst mal auf DMS2.0 upgraden, um ggf. kleine Fehlerchen vom RS 1.33 auszuschliessen? Oder andere ffmpeg-Version? Meine ist N-79173-gbe746ae.

 

LG, Goggo

 

Edited by Goggo16
Link to comment
7 minutes ago, Goggo16 said:

Oder erst mal auf DMS2.0 upgraden, um ggf. kleine Fehlerchen vom RS 1.33 auszuschliessen?

 

Du benutzt noch den RS... dann ist der wahrscheinlich für die zwei FFmpeg-Instanzen verantwortlich, oder besser gesagt, dein Nexus, und der RS tut nichts dagegen. Im DMS 2.0 gibt es Gegenmaßnahmen.

 

Welchen Player verwendest du unter Android? Zumindest mit Chrome wird doppelt auf den Stream zugegriffen. Einmal durch den Browser und einmal durch die beauftragte Player-Engine (die User Agents findest du im svcdebug.log verzeichnet). Der Browser will nur mal ein bisschen gucken, was das ist, startet dadurch aber eine zusätzliche FFmpeg-Instanz. Das hat der RS nicht auf der Rechnung. Der DMS sorgt dagegen dafür, das zwei Zugriffe auf den selben Stream nur eine FFmpeg-Instanz beschäftigen. Das steht auch im Change Log:

 

Quote

Geändert: Transkodiertes Streaming (HLS): Zwei oder mehr Media Server Clients, die einen Stream mit identischen Parametern anfordern, können nun gemeinsam den Output einer einzigen FFmpeg-Instanz erhalten, vorausgesetzt die Quelle ist TV/Radio oder eine Datei, auf die zwei Clients mit der selben IP-Adresse zugreifen. Dies vermeidet die unnötige Erzeugung von zwei FFmpeg-Instanzen, wenn z.B. erst ein Browser und dann ein von ihm beauftragter Player auf den Stream zugreifen.

 

Es gibt noch weitere Verbesserungen:

 

Quote

Geändert: Transkodiertes Streaming (HLS): Einige Anpassungen, die die Wiedergabe des Media Server-HLS-Outputs in Edge unter Windows 10 / auf Windows Phones ermöglichen und die Wiedergabe unter Android verbessern (insbesondere mit Chrome sowie dem MXPlayer und BSPlayer).

 

Change Log lesen lohnt manchmal doch...

Link to comment
vor 2 Stunden schrieb Griga:

 Im DMS 2.0 gibt es Gegenmaßnahmen.

 

Ah, OK. Geht klar. Dann mach ich mich erst mal an den Upgrade.

 

vor 2 Stunden schrieb Griga:

Change Log lesen lohnt manchmal doch...

 

OK, Point taken. Asche über mein Haupt. Hatte das Change Log dann doch zu sehr nur überflogen und nicht erkannt, dass da ein Zusammenhang zum Verhalten mit dem DVBViewer-Controller gibt.

 

Nutze übrigens den MX-Player auf Android/Nexus. 

 

Vielen Dank fuer die Tipps.

 

LG, Goggo

Link to comment

Verfolge die Thematik grad interessiert, weil ich es schon immer schade fand, dass das Springen im Film nicht funktioniert.

 

Bei meiner Konstellation (Android 6 mit LG, DMS 2.01) und den von Tjod bereitgestellten Dateien wird mit dem VLC-Player der Stream abgebrochen. Hab dann versuchsweise den MX-Player eingesetzt und siehe da, ich kann in den Aufnahmen vor und zurückspringen. Die Zeitverzögerung ist zwar noch etwas groß, aber die Sache gefällt mir schon sehr gut ...

 

 

Gruß GBWebmaster

Link to comment

Die Zeitverzögerung ist davon abhängig wieviele Pferdchen der Rechner hat der Transkodiert. Je stärker desto kürzer.

Und VLC ist für mich einer der schlechtesten aller ffmpeg fähigen Player im Store. Schade eigentlich.

Link to comment

Ich hab das mit dem generischen Eintrag in die App eingebaut.

Aber nachdem ich bei mir test weise die inis im config folder gelöscht habe, wurden sie trotzdem nicht angelegt.

 

Auch nicht nachdem ich einen Stream über das webinterface gestartet habe.

 

 

Link to comment

Ok, who cares :-)

 

Die 2 inis sind jetzt als resource in der App und falls der Server keine ausliefert, werden die Presets als Fallback aus den resourcen gelesen.

 

1.2.1 ist im Store

APK

Link to comment
16 hours ago, VinoRosso said:

Ich hab das mit dem generischen Eintrag in die App eingebaut.

Aber nachdem ich bei mir test weise die inis im config folder gelöscht habe, wurden sie trotzdem nicht angelegt.

 

Hast du im Konfigurationsordner\config geguckt oder im Installationsordner\config? Letzterer ist richtig. Weil man nämlich via FFmpeg, da das ja auch mit Systemrechten läuft,  böse Sachen machen kann. Deshalb nur Schreibzugriff mit Adminrechten.

 

Wenn ich mit TransEdit eine URL wie

 

http://127.0.0.1:8089/upnp/master.m3u8?chid=0

 

verwende, ist die fehlende  iphoneprefs.ini sofort da. Ich kann mich nicht erinnern, das speziell für deine App unterbunden zu haben. :)

 

1 hour ago, VinoRosso said:

Die 2 inis sind jetzt als resource in der App

 

Solange die mit den Default-INIs im DMS konform sind, kein Problem.

 

Link to comment

Ich hab's auch gleich mal probiert. Funktioniert gut mit HLS.

 

Allerdings: Die vorher gelöschte iphoneprefs.ini wurde tatsächlich nicht erzeut :blink:

 

Also habe ich den DMS unter Debugger-Überwachung laufen lassen und an der Stelle, wo die Datei erzeugt wird, einen Breakpoint gesetzt. Dort wurde bei den nächsten Versuchen auch prompt angehalten und die INI geschrieben. Jedes mal. Seitdem kann ich es nicht mehr reproduzieren. Laut Code kann der DMS auch gar nicht anders, als die Datei schreiben, wenn ein HLS-Stream startet.

 

So ist das immer: Sobald man genau hinguckt, trauen sich die Anwendungen nicht mehr, was falsch zu machen. :)

 

Um mein Seelenheil zu retten, glaube ich inzwischen fest daran, dass ich übersehen habe, dass der DMS noch lief, als ich die Datei gelöscht habe. Dann wird sie natürlich erst nach dem nächsten DMS-Start erzeugt. Und der fand anlässlich der Debugger-Überwachung statt.

 

Link to comment

Schon im Installationsordner\config.

Einmal gelöscht und sie sind nie wieder erschienen, egal was ich probiert hab. Streamen übers Webinterface, per App, DMS neustart.....

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...