Jump to content
MarkusK

Rec. Service App (iOS 8.x & 9.x)

Recommended Posts

Keyser

Hi Markus

 

Any idea when the updated app will be available?

Share this post


Link to post
MarkusK

Behause of Problems, I pulled it. I will submit a new one in the next days. Sorry.

Share this post


Link to post
Keyser

No need to apologize. It's great work you are doing !

Share this post


Link to post
MarkusK

The update is approved by Apple. It will be released, when RS 1.32 comes out.

Share this post


Link to post
Keyser

Great News!!

 

Do you have any idea when that will happen?

Share this post


Link to post
MarkusK

I think very soon.

 

I can´t release the update yet, because it needs the new iOS web interface. And the new web interface depends on the new RS version. So you couldn't use them without a lot of issues at the moment. Watching TV would be impossible :original:

Share this post


Link to post
Keyser

It cool. I understand and I can wait. No worries.

 

Thanks for all the work you're putting into this :-)

Share this post


Link to post
Keyser

Hi Markus

 

I updated to RS 1.32 and the new APP today. Excellent work you have done so far!

 

I have however noticed two problems:

 

1: I have my RS running on port 80 internally and via a reverse proxy on port 443 externally. Works perfectly - including live streaming - from a normal browser. Due to my splitDNS setup, I have the same DNS name available internally and externally.

If I use the same DNS name both int. and ext., your client always tries the internal port and thus times out when i'm externally located (i'm guessing your app determines if I'm externally located by the succes of DNS resolution of the internal DNS name).

I can work around that by using my IP address internally, so it's no biggie, but other users should be aware if they have split DNS as well :-)

 

2: This second issue is probably not your APP's fault, but the RS webservice.

I cannot live stream when located externally and using the /IOS interface of the web service through a reverse proxy. When trying from safari on my iPhone I get a second login screen right after accepting the streaming settings. If I complete the login I just get to the screen where the sream should be, but there's no content. If I use your app, I don't see the second login and just go directly to the streamscreen with no content.

 

The streaming works externally through the reverse proxy because i can do it in the regular web interface (non /IOS), both on a browser and in safari on my iPhone. So it's something the /IOS interface does in combination with being reverse proxied on 443 to 80 on the internal server.

If I move the external reverse proxy service to port 80 (the same as the server internally) live streaming works in the APP and /IOS web interface.

I'll post this second issue as a seperate thread as well, since it's not necessarily related to the APP.

 

Thanks for the great work you are all doing :-)

Edited by Keyser

Share this post


Link to post
Keyser

Hi

 

I updated to RS 1.32 and the new APP today. Excellent work you have done so far!

 

I have however noticed an issue with the /IOS webservice.

I have a reverse proxy in my firewall which allows me to access RS over HTTPS from the outside (even though the service is running on port 80 on the inside). It's great for security :-)

 

The streaming works great externally through the reverse proxy If I do it in the regular web interface (non /IOS), both on a computer browser and in safari on my iPhone.

 

But I cannot live stream when located externally and using the /IOS interface of the web service through a reverse proxy. When trying from safari on my iPhone I get a second login screen right after accepting the streaming settings. If I complete the login I just get to the screen where the sream should be, but there's no content. It doesn't work in the Rec. Service APP either.

 

If I move the external reverse proxy service to port 80 (the same as the server internally) live streaming starts working from the /IOS web interface. So it's something the /IOS interface does in combination with being reverse proxied on 443 to 80 on the internal server.

 

Any Ideas?

Thanks for the great work you are all doing :-)

Share this post


Link to post
Tjod

The RS is not aware that you use a reverse proxy. There for all streaming URL are generate for the RS web interface port and URL.

 

And it is the responsibility of the reverse proxy to change all URLs which are included in web pages.

 

Are you sure that all streamin URL, after the reverse proxy are correct?

Share this post


Link to post
Keyser

Well i haven't investigated much yet since the streaming works thru the reverse proxy if i use the regular web interface.

It's only when using the /IOS interface it happens, and i'm guessing - like you suggest - this is related to the URL generation in RS under /IOS as my reverse proxy automatically redirects requests for the port 80 service to 443 (and that's probably the reason for the second login request).

 

So I'm guessing that the /IOS webservice returns a "hardcoded" URL referring to a portnumber (the port the service is running on) instead of a relative path since the reverse proxy does not catch and translate it correctly as it does with the normal webservice.

Share this post


Link to post
Keyser

Any chance I can correct that faulty generated URL myself in a file under /IOS?

It must be in the code for the page that calls the embedded stream itself. It should just call a URL relative to the session it's already running instead of a new URL including the service portnumber.

 

The normal web interface must have the correct code for the call since it works there.

Edited by Keyser

Share this post


Link to post
Tjod

German post moved to the German Topic.

I don't know if and when were the /iOS interfaces uses a absolute instead of relative path. I would have to investigate this in the same way you can do this.

Most likely it is not possible to change this in the teplets in SVCweb\iOS.

 

But do you add a authentication with reverse proxy? If yes you shroud check if HLS support this type of authentication.

 

Are you testing the streaming in the regular web interface with the same streaming method (HLS or do you use WebM or Flash)?

Share this post


Link to post
MarkusK

I can't detect in inspector, that the generated URL for streaming is different from all other XHR requests made by the web interface. Hmm...

Edited by MarkusK

Share this post


Link to post
Keyser

I'm not requesting Auth. In the proxy. That's done by RS. The proxy is just a reverse proxy for secure 443 (TLS) traffic to internal servers.

Since I get an auth. Prompt for the streaming session itself when using /IOS vs. No prompt when using the regular interface, I assume RS sees the stream request as a new session. I'm not sure it comes from a hardcoded call for port 80 which is then redirected by my reverse proxy to 443, serviced and then proxied into port 80 on RS. That's just a guess as it would explain what I see.

 

I just think it's strange that it works in the regular interface, so it must be something related to a difference in the way the /IOS service requests the stream.

 

Any ideas? I'll do some further research later tonight.

Share this post


Link to post
Keyser

German post moved to the German Topic.

 

I don't know if and when were the /iOS interfaces uses a absolute instead of relative path. I would have to investigate this in the same way you can do this.

 

Most likely it is not possible to change this in the teplets in SVCweb\iOS.

 

But do you add a authentication with reverse proxy? If yes you shroud check if HLS support this type of authentication.

 

Are you testing the streaming in the regular web interface with the same streaming method (HLS or do you use WebM or Flash)?

I believe i checked both WebM and HLS in the regular webinterface, but will try again later this evening.

 

EDIT: yes, i just checked HLS and WEbM in the regular webinterface from the outside. They both work flawlessly. But using /IOS i get the second prompt for login and no stream

Edited by Keyser

Share this post


Link to post
MarkusK

Does streaming work with external access in Safari with the iOS web interface?

 

yourIP:yourPort/ios/iphone-en.html

yourIP:yourPort/ios/ipad-en.html

Edited by MarkusK

Share this post


Link to post
Keyser

I have no MAC computer to test from. When trying /IOS from Chrome in windows i have very unexpected behavior and are unable to select Stream type and so forth

Share this post


Link to post
MarkusK

I meant on your iOS device

Share this post


Link to post
Keyser

I meant on your iOS device

Ahh, no it doesn't. That's where i see the second authentication prompt. From within your app I don't see the prompt, the stream page just loads with no stream window within. (I assume because it doesn't show the prompt)

Share this post


Link to post
Keyser

Btw: your app and /IOS from safari works perfectly internally on my network, so it is definately an issue related to the translation in the reverse proxy. And like I said, it's a funny issue, because it works externally in the regular (not /IOS) webservice.

Share this post


Link to post
MarkusK

Yes, that's the reason. Then, it has nothing to do with the app itself. Did streaming work in the past with your configuration?

Share this post


Link to post
Keyser

Markus: It certainly has nothing to do with your APP. It's related to the way the /IOS webservice requests the stream.

 

I just did some testing and packetcapture. The problem originates from what I suspected:

 

The /IOS webservice somehow hardcodes or creates the request for the stream differently than the standard webservice. On my firewall I can see a request from my client coming in on port 80 even though the session is on 443. That means the request is formatted so that my reverse proxy chooses not to translate it (as it does with the requests from the regular webservice).

 

The request is denied and (as configured on my proxy) redirected to 443. This is then handled as a new session and RS asks for authentication again.

This request for port 80 service does not happen when requesting the stream from the regular webinterface - or if it is, it's formatted so the reverse proxy chooses to translate it correctly.

 

EDIT: The request on port 80 contains a: GET /upnp/stream.m3u8?streamid=%7BB14071A0-B6D7-469A-8B42-51AD15838B46%7D HTTP/1.1

So it is definately the stream request itself that is tried at port 80. And that means the reverse proxy does not translate the URL of the link that the Webserver gives the client. Which means it must be different from the URL the regular webservice gives the client.

 

Any ideas ?

Edited by Keyser

Share this post


Link to post
Chrisw74

I'm the best betatester jajaja

 

CSS style doesn't work now Markusk :-) a litlte bug.

 

Capture:

 

a9wrh4.png

 

I too am having this problem, on my iPad (ios 8.4), I cant seem to find the update in the Members Area, I am looking in https://www.DVBViewer.tv/members/ is this the right place? All I can see here to do with IOS is iOS Webinterface (iOS 6.x only!) & iOS Webinterface (iOS 7.x only!)

Share this post


Link to post
Tjod

The current iOS web-interface is part of the RS 1.32 setup.

 

Stop the iOS app (not only pushing it in the background).

Restating the iPhon is not a alternative, this will not stop the app.

 

If this doesn't help. Try uninstalling an reinstalling the iOS app.

Share this post


Link to post
Chrisw74

Tried force closing the app by double tapping the button and swiping it away and uninstalling and reinstalling the app but still the same problem.

Share this post


Link to post
MarkusK

It seems, that *.css and/or *.js files are missing in your "ios" folder. Do you have Recording Service 1.32 installed? If no, please install it. If yes check your ios folder in ...\DVBViewer\svcweb, which should contain "css" and "js" subfolders with the js and css files. If they do not exist, please reinstall Recording Service.

Edited by MarkusK

Share this post


Link to post
test

Same problem here. 1.32 iOS does not work correctly for whatever reason. Using the latest ios.zip which was available before 1.32 make it work again.

Share this post


Link to post
Chrisw74

It seems, that *.css and/or *.js files are missing in your "ios" folder. Do you have Recording Service 1.32 installed? If no, please install it. If yes check your ios folder in ...\DVBViewer\svcweb, which should contain "css" and "js" subfolders with the js and css files. If they do not exist, please reinstall Recording Service.

 

I shutdown recording service, then uninstalled it, then checked that the SVCWeb folder had been deleted, which it had been deleted by the uninstall. I then reinstalled it but still no difference, still cant get it too display properly on my iPad tried in the recording service and in Safari both the same.

 

My ios folder has a css folder with 3 files (ipad37.css, main37.css and panel37.css) it also has a js folder with 8 files (index.js, input-mask.js, ipad-de37.js, ipad-en37.js, iphone-de37.js, iphone-en37.js, main37.js & timeline.js).

 

Any ideas what's going on?, the web interface is fine in IE and so is the Android App, just IOS is having trouble (currently running IOS 8.4.1)

Share this post


Link to post
MarkusK

Please create a zip file from your "...DVBViewer\svcweb\ios" folder and post it here

Share this post


Link to post
Idefix007

I just wanted to say that i have exactly the same problem. Also when I open the website you told I have the same issue with the first page displayed normal but Live TV etc. not.

Share this post


Link to post
MarkusK
first page is fine

 

No, it isn't. The page title is in the top right corner, it have to be centered. That means, that your "iphone-en37.js" or "ipad-en37.js" file were not loaded and seems to be from browser cache. Please go to Settings -> Safari on your device and delete all history and website data. Then close Safari with the App switcher and open the page (as I said above) again.

 

In the Rec. Service App, try a PullToRefresh to reload the webinterface. The page title in the top right corner on initial page is your indicator, that something went wrong.

Share this post


Link to post
Chrisw74

No, it isn't. The page title is in the top right corner, it have to be centered. That means, that your "iphone-en37.js" or "ipad-en37.js" file were not loaded and seems to be from browser cache. Please go to Settings -> Safari on your device and delete all history and website data. Then close Safari with the App switcher and open the page (as I said above) again.

 

In the Rec. Service App, try a PullToRefresh to reload the webinterface. The page title in the top right corner on initial page is your indicator, that something went wrong.

 

Tried what you suggested clearing Safari history and website data and then close safari with app switch, but the problem still persists, I have also tried it in Chrome for ios and have the same problem.

Share this post


Link to post
MarkusK

Did you try to restart your device and your machine? If this doesn't help, try to load the page on Desktop with Chrome.

Share this post


Link to post
Tjod

Is the iOS web-interface OK if you open it on the RS PC http://127.0.0.1:8089/ios/iphone-en.html in a web browser?

(streamin will not work but nearly everything else should)

 

Are you using the new adblock capabilities of iOS?

Share this post


Link to post
MarkusK

Do you have disabled JavaScript in Settings -> Safari -> Extended?

Share this post


Link to post
Idefix007

I tried it in Chrome (Desktop) and everything works fine. Than again i tried it in Safari on the Computer (also in private mode) and it doesn't work.

Next I tried Chrome on the iPhone and it also doesn't work.

JS is enabled on the phone.

Share this post


Link to post

Join the conversation

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

Guest
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.


  • Similar Content

    • MarkusK
      By MarkusK
      Voraussetzungen sind der Recording Service >= 1.32.0, iOS >= 8.x und aktiviertes JavaScript in den Safari Einstellungen. Für den externen Zugriff muss der Recording Service in der Firewall freigegeben und das Portforwarding im Router eingerichtet sein. Beachtet für externen Zugriff diese Warnung.
       
      Die App gibt es hier: https://itunes.apple.com/sl/app/rec.-service/id966396749
       
      Wenn ihr die App aus dem Store heruntergeladen habt, öffnet auf eurem Gerät die Einstellungen > Rec. Service und gebt eure Daten ein. Danach könnt ihr die App starten.
       
      Folgende Angaben müssen gemacht werden:
       
      Sprache: Deutsch oder Englisch (diese bezieht sich nicht auf den RS selbst, sondern auf die Hinweise innerhalb der App)
      Layout: iPhone/iPod (Single View) oder iPad (Split View)
       
      Intern (erforderlich):
      Protokoll: Auf HTTP belassen, HTTPS ist nur für Sonderfälle
      IP/Host: IP des Rechners, auf dem der Recording Service installiert ist
      Port: Standard Port ist "8089", sofern ihr diesen nicht geändert habt
       
      Extern (optional):
      Protokoll: Auf HTTP belassen, HTTPS ist nur für Sonderfälle
      IP/Host: z.B. dyndns Adresse (Firewall Einstellungen und Portforwarding im Router nicht vergessen)
      Port: Standard Port ist "8089", sofern ihr diesen nicht geändert habt
       
      Ordner: Standard Ordnerpfad ist "ios", sofern ihr im SVCweb Verzeichnis nichts geändert habt
      Benutzername: Optional, euer gewählter Benutzername in den Einstellungen des RS
      Passwort: Optional, euer gewähltes Passwort in den Einstellungen des RS
       
       
      Was läuft unter der Haube ab?
      Die App versucht grundsätzlich erst einmal, eine interne Verbindung herzustellen, indem sie eine Anfrage an den Server sendet. Anwortet dieser, wird die interne URL mitsamt Benutzernamen und Passwort (sofern angegeben) generiert und die Verbindung aufgebaut. Antwortet der Server nicht (weil man eben unterwegs ist bzw. keine VPN Verbindung aufgebaut hat), wird die externe URL generiert und die Verbindung aufgebaut. Schlägt diese fehl, bekommt man nach fünf Sekunden einen Seitenladefehler angezeigt. Wenn die App im Hintergrund lief, wird das Webinterface bei einer Adressänderung (intern/extern) immer neu geladen.
       
       
      Bekannte Probleme:
      - wer extern keinen Zugriff bekommt, testweise die Firewall deaktivieren und erneut probieren und das Portforwarding kontrollieren
      - das Namensschema bei Aufnahmen erzeugt wirre Dateinamen: Namensschema erneut abspeichern (z.B. %year-%date_%time_%station_%event_%title)
       
       
      Bei einem Update des iOS-Webinterface ist wie folgt vorzugehen:
      Ladet euch das Update aus dem Mitgliederbereich und entpackt das Archiv. Löscht erst den Ordner "ios" in ...\DVBViewer\SVCweb und kopiert dann den heruntergeladenen "ios" Ordner wieder dorthin.
       
      Wichtig: Die Ordnerstruktur hat folgendermaßen auszusehen, sonst findet die App auf eurem iOS Gerät das Webinterface nicht mehr:
       
      - DVBViewer
      |
      SVCweb
      |
      ios
      |_css
      js
      ....html
      ....html
      ....html
      ....
       
      Bei weiteren Fragen sind wir hier gerne behilflich.
       
      Historie:
      Version 1.4.0
      Fix: Swipeout im Menü Timer für iPhone 4s, iPhone 5 und iPhone 5s optimiert
      Fix: Beim Tappen auf einen angelegten Timer öffnete sich die "Details" Seite nicht
      Change: Beim Tappen auf eine Sendung, Aufnahme oder ein Video erscheint jetzt grundsätzlich die "Details" Seite (war bei Aufnahmen nicht gegeben, man musste erst swipen)
      Change: Man kann jetzt im Menü Programm mit einem Swipeout direkt eine Aufnahme programmieren, ohne über die "Details" Seite gehen zu müssen
      Change: Man kann jetzt im Menü Videos mit einem Swipeout direkt zum Stream wechseln, ohne über die "Details" Seite gehen zu müssen
      Change: Die "Details" Seite öffnet sich nun grundsätzlich als Popup, so muss man nach dem Programmieren einer Aufnahme nicht mehr über diese zurück springen
      Change: Nach dem Programmieren einer Aufnahme wird nun automatisch zurück gesprungen
      Add: Man hat nun in der "Über" Seite die Möglichkeit, die App per Appstore Link zu bewerten (wäre ganz nett )
       
       
      Version 1.5.0
       
      Add: Timeline
      Change: UI Dialoge entfernt
       
      Zur Timeline gibt es folgendes zu sagen:
      Tap auf das Datum öffnet den Kalender Tap auf das Senderlogo bzw. den Sendernamen springt direkt zum Stream des jeweiligen Senders Tap auf eine Sendung öffnet die Details Es besteht nun die Möglichkeit, direkt aus der Timeline einen Timer anzulegen. Dazu tappt ihr mit dem Finger auf die Sendung und haltet solange gedrückt, bis die Zelle kurz grau "aufblitzt" (300ms). Dann könnt ihr loslassen und das Timerfenster wird geladen. Oben kann man die Sendergruppen wählen, zu "Jetzt" oder "Abend" springen und mit "+, -" die Zellenbreite des Zeitstrahls ändern Die Timeline springt beim erneuten Aufruf grundsätzlich zu "Jetzt"  
      Version 1.6.0
       
      Add: EPG-Suche Add: Im den EPG Detailfenstern habt ihr nun die Möglichkeit, nach Wiederholungen zu suchen Add: Im Timerfenster wird nun die Anzahl der Timer angezeigt   Zur EPG-Suche gibt es folgendes zu sagen: Im Gegensatz zur Version für iOS7 könnt ihr nun auch Suchvorgaben benutzen, anlegen und löschen sowie Sender gezielt auswählen Tap auf das Datum öffnet wie erwartet den Kalender Tap auf die Zeit bzw. Dauer öffnet auf dem iPhone das Nummernfeld und auf dem iPad die Zahlentastatur. Ihr müsst einfach nur die vier Zahlen eintippen, der Doppelpunkt wird automatisch gesetzt. Somit wird die Eingabe meiner Meinung nach erheblich erleichtert Tap auf eine Sendung in der Ergebnisliste öffnet die Details (wie immer und überall) Möchtet ihr einen Timer anlegen, so funktioniert das genauso wie aus der Timeline bekannt: Mit dem Finger so lange auf die Sendung tappen, bis der Haken gesetzt wird (300ms). Wenn Ihr eine Sendung abwählen möchtet, geht das natürlich genauso. Danach oben auf Aufnahme tappen, um den Timer anzulegen, das war es schon. Wenn ihr einen Suchbegriff manuell eingebt, habt ihr auf der Tastatur eine "Suchen" Taste. Diese hat KEINE Funktion. Ihr müsst leider die Tastatur schließen bzw. oben könnt ihr auch auf Suche tappen, ohne zu schließen. Leider ein kleiner Wermutstropfen  
      Version 1.6.5
       
      Fix: Wenn man mehrere einzelne Sender in der EPG-Suche angewählt hatte, wurde nur im ersten Sender gesucht Fix: Auf der Detailseite hatte sich unten ein Zeichen eingeschlichen Change: Das Eingabesuchfeld auf den einzelnen Seiten ist nun standardmäßig ausgeblendet. Zum Ein- bzw. Ausblenden einfach auf die Lupe in der Navigationsbar tappen. Das Suchfeld schließt sich auch, wenn man auf "Abbrechen" tappt.   Version 1.7.0
       
      Fix: Das Streamen von Live TV sollte nun wieder funktionieren Change: Es gibt in den Stream Einstellungen keinen variablen Buffer mehr, ihr müsst nur noch auswählen, ob ihr Live TV oder ein Video/Aufnahme streamen wollt   Version 1.7.1
       
      Change: Variable Vorlaufzeit für Streams wieder hinzugefügt (20-30 Sekunden)   Version 2.2.1
       
      siehe Changelog vom RS 1.32   Version 2.4.1
       
      New: Fernbedienung hinzugefügt New: Stream Profile hinzugefügt New: Zurücksetzen des Web Interface per Button möglich New: Internet TV und Radio hinzugefügt
    • Raistlin
      By Raistlin
      Moin,
       
      ich habe ein octopus net sat ip Server im lan.
       
      wo / wie kann ich in der App die Server iP eintragen?
       
      ich finde hier leider keine entsprechende Anleitung und bitte um DAU Unterstützung 😊
       
      Der octopus Server hat im LAN ip 192.168.178.38 das iPhone hängt im Linksys wlan mit der ip 192.168.1.161
       
      wenn ich kanalsuche in den App Einstellungen ausführe kommt die Meldung kein Empfang.
       
      kurz, wie sage ich der iOS App wo der sat ip Server zu finden ist???
      vg
    • Bluemchenblau
      By Bluemchenblau
      Hallo,
      dummerweise habe ich das neueste iOS auf meinem iPad installiert und nun funktioniert leider der Recording Service über die App nicht mehr bzw auch nicht über die HTML-Seite per Safari.
      Meine Vermutung ist die fehlende Unterstützung des Quicktime Plugins. Ich glaube, die Abschaffung war angekündigt und ich finde auch keine Hinweise oder Aktivierungsmöglichkeiten mehr dazu.
      Man kommt bis "Stream starten" und dann wird kein Video angezeigt: "Der Stream konnte nicht geladen werden". Habe ich vielleicht etwas übersehen?
      Obwohl es schon relativ umständlich war, bis man den Stream sehen konnte, vermisse ich das jetzt doch sehr.
      Die jeweils neuesten Versionen DVBViever und Recording Service habe ich auf dem PC installiert, V6.0.3 und 1.33.2.1. Die PC-Programme finde ich übrigens genial.
      Beste Grüße.
       
      support.zip
    • Tjod
      By Tjod
      For all questions and discussions about the Rec. Service App By Markus Kiefer use this topic:
      http://www.DVBViewer.tv/forum/topic/56466-rec-service-app-ios-8x-9x/
      and not this forum here
×
×
  • Create New...