TiVo Community
TiVo Community
TiVo Community
Go Back   TiVo Community > Underground Playground > TiVo Underground
TiVo Community
Reply
Forum Jump
 
Thread Tools
Old 09-01-2013, 02:04 PM   #241
gonzotek
tivo_xml developer
 
gonzotek's Avatar
 
Join Date: Sep 2004
Location: Outside Phildadelphia
Posts: 2,220
If possible, can someone with a Roamio try a page with HLS embedded in the video tag? If that works, it's probably possible to implement a pytivo plugin (or other servers like Plex) to transcode to hls on-the-fly.
Here's an Opera pdf that seems to indicate it's a part (or perhaps an option) of the devices sdk that TiVo is using:
http://media.opera.com/media/b2b/tv/..._Streaming.pdf

And here are some sample HLS streams embedded in web pages listed at the bottom of Apple's spec page for HLS:
https://developer.apple.com/library/...8332-CH102-SW1
They work in Safari on a Mac and iPhone.
__________________
Follow @pytivo on Twitter for project updates and more!
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
A Web app for Roku Remote Control
gonzotek is offline   Reply With Quote
Old 09-01-2013, 02:18 PM   #242
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,185
Quote:
Originally Posted by gonzotek View Post
If possible, can someone with a Roamio try a page with HLS embedded in the video tag? If that works, it's probably possible to implement a pytivo plugin (or other servers like Plex) to transcode to hls on-the-fly.
Here's an Opera pdf that seems to indicate it's a part (or perhaps an option) of the devices sdk that TiVo is using:
http://media.opera.com/media/b2b/tv/..._Streaming.pdf

And here are some sample HLS streams embedded in web pages listed at the bottom of Apple's spec page for HLS:
https://developer.apple.com/library/...8332-CH102-SW1
They work in Safari on a Mac and iPhone.
Tried the links on the bottom of the page. The page comes up with player controls but there is no video and play time indicated is 0. Pressing Play does nothing.
__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
moyekj is offline   Reply With Quote
Old 09-01-2013, 02:29 PM   #243
gonzotek
tivo_xml developer
 
gonzotek's Avatar
 
Join Date: Sep 2004
Location: Outside Phildadelphia
Posts: 2,220
Dang, oh well. Thanks for checking.
__________________
Follow @pytivo on Twitter for project updates and more!
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
A Web app for Roku Remote Control
gonzotek is offline   Reply With Quote
Old 09-01-2013, 09:23 PM   #244
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,185
Quote:
Originally Posted by moyekj View Post
Setting up a mini web server with basic html5 video tag worked. The TiVo built in web player adds its own basic player with play/pause with "controls" as part of the video tag. As with Flash by default the resolution of the web player is 1280x720, so 720p video fills the screen.
NOTE: mp4 container with ac3 audio resulted in no audio, but aac audio worked.
Code:
<!DOCTYPE HTML>
<html>
<body>
<video width="1280" height="720" controls>
  <source src="h264_aac.mp4" type="video/mp4">
  Your browser does not support the video tag.
</video>
</body>
</html>
Playing with this a little more I noticed when I set source H.264 video as 1080p/24 my TV switches to 1080p/24 mode once the video starts playing which looks promising.

The video was > 6GB in size and I monitored total bytes sent to the TiVo and saw it go way beyond the 1.1GB limit that plagues HME streaming, so looks like that is not an issue. Note that likely this is because the transfer is dynamic - i.e. If I pause play then bytes stop transferring to the Roamio so looks like there's no/little buffering happening and this is streaming not transferring. So I think it's very likely that if/when the Mini gets 20.3 software update it will be able to stream video in this manner as well without a problem.

The built in player is very, very basic with only play & pause capabilities and a play bar (I don't see a way to drag/move the play bar) and showing the play bar at all times. But theoretically using HTML5 it should be possible for someone to build a fully custom player that can honor some of the TiVo remote buttons for full trick play functionality.

Of course there's also still the restriction that it seems only mp4 container with h.264 video & AAC audio is supported (and probably requires MOOV atom at start of the file as well though I haven't tested that yet).

I'll release kmttg with Web tab soon so that others that have experience with HTML5 programming can perhaps play with this some more to see what is possible...

EDIT: Actually I did find a way to move the play bar by 1st highlighting it and pressing select and the left/right arrows to move it left/right. However I'm using the very simple/frugal python SimpleHTTPServer as web server and it couldn't handle the scrubbing. Shall have to see if using a real web server solves that issue.

EDIT 2: Switching to use a better web server (I used mongoose) allows scrubbing to be handled properly using the built in TiVo player.
__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by moyekj : 09-02-2013 at 10:29 AM.
moyekj is offline   Reply With Quote
Old 09-02-2013, 10:27 AM   #245
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,185
FYI, kmttg v1p0e version just released with new Web remote tab for those with Roamio units that want to experiment.
__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
moyekj is offline   Reply With Quote
Old 09-02-2013, 04:22 PM   #246
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,185
A little progress on a video player with custom controls. This code doesn't display the built in TiVo player controls but instead responds to PAUSE, FF, REW and 1 TiVo remote buttons. I used '1' for toggling info display since I can't seem to get 'Info' button press event (among some other buttons).

I think this is enough for proof of concept that a custom player is possible.
Code:
<!DOCTYPE HTML>
<html>
<body style="overflow:hidden;">
<label id="info" style="color :#FFFFFF; position:absolute; left:30px; top:30px;"></label>
<video id="video" autoplay>
  <source src="h264_aac.mp4" height="auto" type="video/mp4">
  Your browser does not support the video tag.
</video>
<SCRIPT type="text/javascript">
   var sized = 0; // Used by sizeVideo to mark when video sizing is complete
   document.addEventListener( "keypress", doKeyDown, false )
   updateInfo();
   
   function doKeyDown(evt) {
      var video = document.getElementById("video");
      var info = document.getElementById("info");
      // 1 = Toggle info display (Info key doesn't register key event  for some reason...)
      if (evt.which == 49) {
         if (info.style.display == "none") {
            info.style.display = "inline";
         } else {
            info.style.display = "none";
         }
      }
      
      // Pause = toggle pause state
      if (evt.which == 80) {
         if (video.paused == true) {
            video.play();
         } else {
            video.pause();
         }
      }
      
      // REW = skip back 8 seconds
      if (evt.which == 89) {
         video.currentTime -= 8;
      }
      
      // FF = skip forwards 30 seconds
      if (evt.which == 90) {
         video.currentTime += 30;
      }
   };
   
   function pad2(number) {
      return (number < 10 ? '0' : '') + number;
   }
   
   function formattedTime(totalSecs) {
      totalSecs = Math.floor(totalSecs);
      var hours = Math.floor(totalSecs / 3600);
      totalSecs %= 3600;
      var mins = Math.floor(totalSecs / 60);
      var secs = totalSecs % 60;
      
      var display = pad2(mins) + ":" + pad2(secs);
      if (hours > 0) {
         display = pad2(hours) + ":" + display;
      }
      return display;
   }
   
   function sizeVideo() {
      var video = document.getElementById("video");
      if (sized == 0 && video.videoWidth != 0) {
         var w = video.videoWidth;
         var minw = 1280; // Want this min width
         if (w < minw) {
            scale = minw/w;
            w = Math.floor(w * scale);
         }
         video.width = w;
         sized = 1;
      }
   }
      
   function updateInfo() {
      sizeVideo();
      var video = document.getElementById("video");
      var info = document.getElementById("info");
      var duration = video.duration;
      var current = video.currentTime;
      info.innerHTML = formattedTime(current) + " / " + formattedTime(duration); 
      setTimeout("updateInfo()",1000); // Update label text every second
   }
</SCRIPT>
</body>
</html>

__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
moyekj is offline   Reply With Quote
Old 09-02-2013, 04:43 PM   #247
Fofer
༺♥༻
 
Fofer's Avatar
 
Join Date: Oct 2000
Location: Neither here nor there
Posts: 69,897
TC CLUB MEMBER
This is great stuff! Thanks for sharing the exciting news!
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
- a list of some favorite browser add-ons that help make TCF even more enjoyable!
Fofer is offline   Reply With Quote
Old 09-02-2013, 06:00 PM   #248
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,185
I just realized my Mini does have 20.3 software already (I guess it updated when Roamios released?) and this HTML5 stuff works fine on the Mini as well, including the custom video player.
__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
moyekj is offline   Reply With Quote
Old 09-03-2013, 08:19 PM   #249
AdamNJ
Registered User
 
Join Date: Aug 2013
Location: Dunellen, NJ
Posts: 343
any chance that you are able to navigate to hbogo.com and somehow lightning bolts shoot out of the screen and hbogo works?
__________________
Roamio Pro, wired ethernet
Mini using MOCA (from the Pro)

on Cablevision Raritan Valley system (Central NJ)
w/ Cisco PKM803 CableCARD on firmware 1.5.3.1101

*** 2013 newbie to Tivo ***
AdamNJ is offline   Reply With Quote
Old 09-03-2013, 09:45 PM   #250
Fofer
༺♥༻
 
Fofer's Avatar
 
Join Date: Oct 2000
Location: Neither here nor there
Posts: 69,897
TC CLUB MEMBER
Very doubtful as hbogo.com isn't wholly HTML5... it's largely Flash dependent too.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
- a list of some favorite browser add-ons that help make TCF even more enjoyable!
Fofer is offline   Reply With Quote
Old 09-03-2013, 10:22 PM   #251
herbman
Registered User
 
Join Date: Apr 2008
Posts: 106
Any way to set the user agent? I have found much success in life with certain flash sites by disabling flash (already done in this case) and setting UA to an iPhone. This often pulls down nice h264 mp4 video.
herbman is offline   Reply With Quote
Old 09-04-2013, 03:41 PM   #252
gonzotek
tivo_xml developer
 
gonzotek's Avatar
 
Join Date: Sep 2004
Location: Outside Phildadelphia
Posts: 2,220
Quote:
Originally Posted by herbman View Post
Any way to set the user agent? I have found much success in life with certain flash sites by disabling flash (already done in this case) and setting UA to an iPhone. This often pulls down nice h264 mp4 video.
No, not yet anyway. Opera on the desktop allows this (or did the last I checked anyway), but they haven't exposed any browser options on the TiVo so far.
__________________
Follow @pytivo on Twitter for project updates and more!
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
A Web app for Roku Remote Control
gonzotek is offline   Reply With Quote
Old 09-04-2013, 05:45 PM   #253
bradleys
It'll be fine....
 
Join Date: Oct 2007
Posts: 1,945
Have you tried putting - opera:config in the url?

It is how you access all the setting in Opera Mobile 6.1
__________________
TiVo S2 (Retired)
TiVo Series 3 (Sold)
TiVo HD (Sold)
TiVo Premier (2 TB Upgrade)
TiVo Roamio Plus
TiVo Mini
iPad TiVo app
TiVo Stream (Sold)
Personal Video Share powered by PyTiVo
bradleys is offline   Reply With Quote
Old 09-04-2013, 10:49 PM   #254
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,185
Quote:
Originally Posted by bradleys View Post
Have you tried putting - opera:config in the url?

It is how you access all the setting in Opera Mobile 6.1
Interesting suggestion. When doing that the TiVo actually brings up an Opera "Invalid address" box saying that URL is "not currently available" along with some links for opera help. That's the 1st time I've seen that I guess because I didn't try entering invalid URLs previously.

However, the following DID work:
opera:about

Some of the info given:
Version 3.5
Build LSDK5877
Platform Linux
System mips, 3.3.8-2.3
Vega backend DirectFB

Browser identification:
Opera/9.80
...
__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by moyekj : 09-04-2013 at 10:54 PM.
moyekj is offline   Reply With Quote
Old 09-04-2013, 11:03 PM   #255
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,185
Some other opera: links that do work:
Code:
opera:plugins
(Reports None found)

opera:cache
(Empty list shown here)

opera:history
(This showed me all of URLs I've entered over last few days)

__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
moyekj is offline   Reply With Quote
Old 09-05-2013, 12:30 AM   #256
bradleys
It'll be fine....
 
Join Date: Oct 2007
Posts: 1,945
Just try config: - see if that works...

Others that work with Opera Mini

*o:A-will go to start page
*o:B-will open a page that contains the menu items
*o:C-will open the page that contains the options in the tools menu
*o:X-opens the about page.
*o:Y-add bookmark page
*o:Z-bookmarks
*opera:config-opens the power user settings
*server:sourceURL-shows the source code of the referenced page
*server:refresh-refreshes the page

Not sure the will work on this browser, but worth a try.
__________________
TiVo S2 (Retired)
TiVo Series 3 (Sold)
TiVo HD (Sold)
TiVo Premier (2 TB Upgrade)
TiVo Roamio Plus
TiVo Mini
iPad TiVo app
TiVo Stream (Sold)
Personal Video Share powered by PyTiVo
bradleys is offline   Reply With Quote
Old 09-05-2013, 01:57 PM   #257
gonzotek
tivo_xml developer
 
gonzotek's Avatar
 
Join Date: Sep 2004
Location: Outside Phildadelphia
Posts: 2,220
I wasn't planning on getting a Roamio until early next year or possibly if there was a decent sale before then...but I may just have to put it on a credit card and dive in... :-) It sounds like there's a lot of fun to be had with it (as a tinkerer), between the hard drive upgrade process and the built-in browser .
__________________
Follow @pytivo on Twitter for project updates and more!
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
A Web app for Roku Remote Control
gonzotek is offline   Reply With Quote
Old 09-06-2013, 08:24 PM   #258
bradleys
It'll be fine....
 
Join Date: Oct 2007
Posts: 1,945
Some fun tv apps to try

http://www.theonion.com/video/googletv/

http://vimeo.com/couchmode/staffpick...:date/73790095

http://iptv-app.dailymotion.com/dm-f...x.jsp?&lang=us

http://redux.com/tv

http://www.clicker.tv/

http://www.crackle.com/gtv/#

Of course porn is available! (NSFW) - don't be shy, tell us how it works!

http://www.vivid.com/
__________________
TiVo S2 (Retired)
TiVo Series 3 (Sold)
TiVo HD (Sold)
TiVo Premier (2 TB Upgrade)
TiVo Roamio Plus
TiVo Mini
iPad TiVo app
TiVo Stream (Sold)
Personal Video Share powered by PyTiVo

Last edited by bradleys : 09-07-2013 at 09:10 PM.
bradleys is offline   Reply With Quote
Old 09-06-2013, 11:00 PM   #259
Fofer
༺♥༻
 
Fofer's Avatar
 
Join Date: Oct 2000
Location: Neither here nor there
Posts: 69,897
TC CLUB MEMBER
Quote:
Originally Posted by bradleys View Post
Wow, if these work, my interest in a Roamio just skyrocketed...
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
- a list of some favorite browser add-ons that help make TCF even more enjoyable!
Fofer is offline   Reply With Quote
Old 09-06-2013, 11:16 PM   #260
bradleys
It'll be fine....
 
Join Date: Oct 2007
Posts: 1,945
Quote:
Originally Posted by Fofer View Post
Wow, if these work, my interest in a Roamio just skyrocketed...
Yeah, I was going to wait a little bit, but very intrigued! Hoping someone will test these and report on the experience.
__________________
TiVo S2 (Retired)
TiVo Series 3 (Sold)
TiVo HD (Sold)
TiVo Premier (2 TB Upgrade)
TiVo Roamio Plus
TiVo Mini
iPad TiVo app
TiVo Stream (Sold)
Personal Video Share powered by PyTiVo

Last edited by bradleys : 09-06-2013 at 11:24 PM.
bradleys is offline   Reply With Quote
Old 09-08-2013, 08:41 PM   #261
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,185
Most of the URLs posted above don't work as far as video goes. Unlike normal Opera browsers currently the TiVo one only supports mp4/H264/aac - confirmed this with html5 code and by visiting video test pages. Also there's no flash fallback option either (used by many sites). There is a way to launch to TiVo flash player similar to how to launch to web player, but both are independent of each other.

So I'd say using built in browser for video is fairly worthless right now. If/when TiVo launches an SDK presumably they will provide methods of launching video which cover all the TiVo supported types.
__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
moyekj is offline   Reply With Quote
Old 09-08-2013, 08:57 PM   #262
Fofer
༺♥༻
 
Fofer's Avatar
 
Join Date: Oct 2000
Location: Neither here nor there
Posts: 69,897
TC CLUB MEMBER
Well, that's bummer. I guess I can leave the Roamio off the shopping list for now. Wish list for the future, maybe.

RE: Flash fallback

Many times when I visit a video site that has flash content, I am able to change the browser agent to iOS:iPad, and then the site gives me an HTML5/mp4 page instead. Not with every site though of course.

On desktop Safari I also use this amazing extension called ClickToFlash that does an excellent job substituting the HTML5/mp4 version of Flash video on many popular sites. It also had an AirPlay button to send that video to an AppleTV.

Just mentioning these to see if such a suggestion may help in this scenario. Since we can't change the Roamio's browser user agent string I am guessing it won't. In that case, we'll have to keep waiting until Flash is declared dead(er) and buried, and these web content creators remove it once and for all and use HTML5/mp4 exclusively instead.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
- a list of some favorite browser add-ons that help make TCF even more enjoyable!
Fofer is offline   Reply With Quote
Old 09-08-2013, 11:17 PM   #263
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,185
Note that multiple source video failover does work with the TiVo player as it does with most browsers. i.e. If you specify multiple encodings the player will pick one that is supported when possible. For example the TiVo browser doesn't support webm, but failover to mp4 works:
Code:
<video id="video" autoplay>
  <source src="sample.webm" height="auto" type="video/webm">
  <source src="sample.mp4" height="auto" type="video/mp4">
  Your browser does not support the video tag.
</video>
(In above example Firefox doesn't support mp4 but picks the webm version, IE 9 picks the mp4 version, etc.).
__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
moyekj is offline   Reply With Quote
Old 09-09-2013, 01:52 PM   #264
herbman
Registered User
 
Join Date: Apr 2008
Posts: 106
Can Roamio be configured to use any kind of HTTP proxy?

If so it wouldn't be too hard to write a quick webapp/filter/servlet/etc to simply catch requests and forward them along with a different user agent.
herbman is offline   Reply With Quote
Old 09-09-2013, 02:25 PM   #265
gonzotek
tivo_xml developer
 
gonzotek's Avatar
 
Join Date: Sep 2004
Location: Outside Phildadelphia
Posts: 2,220
Quote:
Originally Posted by herbman View Post
Can Roamio be configured to use any kind of HTTP proxy?

If so it wouldn't be too hard to write a quick webapp/filter/servlet/etc to simply catch requests and forward them along with a different user agent.
Interesting thought..just did some googling around and found old (2006 and earlier) references to TiVos having issues with proxy servers (people trying to get tivos to be transparently proxied, for the purpose of running them in areas where TiVo doesn't provide service support, like South Africa). I've been working with transparent/intercepting proxies for some work-related stuff lately. After I pick up a Roamio, this might be something I can help test.
__________________
Follow @pytivo on Twitter for project updates and more!
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
A Web app for Roku Remote Control
gonzotek is offline   Reply With Quote
Old 09-21-2013, 09:35 PM   #266
onovotny
Registered User
 
Join Date: Aug 2013
Posts: 11
Zeroconf on Windows Phone

Quote:
Originally Posted by swythan View Post
At least the mDNS/Bonjour advertising is happening on the VM TiVO, but with slightly different content. Unfortunately there's no way to do mDNS on Windows Phone (my target platform). Anyway, that's a separate question that I'm working around by getting users to enter the IP address themselves, and then getting the TSN from the TLS server certificate.



That was exactly what I was looking for. Thanks! I should now be able to support "Away Mode" in my app(s), which will make them useful to loads more people.

Note that the standard configuration in the UK is for the TiVo NOT to be connected to the LAN. It has it's own internal cable modem which it uses for EPG data, VoD, apps, etc. Even if you are using Virgin as your ISP the TiVo has it's own IP address and there is no routing between the TiVo IP and your LAN.

I'm pretty sure that getting this "Away Mode" (i.e. middlemind) working was what made Virgin wait for 12-18 months before releasing an iPad app, as it would have been worthless to the majority of their customers without the "Away Mode" support.
If you're looking for mDNS/Bonjour/Zeroconf on Windows Phone, you can use my Zeroconf NuGet package. Seach for Zeroconf there. Docs and source are on GitHub.

This does require WP8.
onovotny is offline   Reply With Quote
Old 09-22-2013, 08:41 PM   #267
onovotny
Registered User
 
Join Date: Aug 2013
Posts: 11
Windows 8.1 app impossible

It would seem to be currently impossible to build a "real" Win8.1 app for TiVo that uses the MindRPC interfaces.

The real issue is that Win8 and 8.1 do not support sockets with client certificates. Kinda cuts things short very fast

In Windows 8.1, it is possible to finally ignore SSL errors for HTTP requests, so it'd be possible to use the TTG XML interface. And plain sockets are no problem, so the older remote control API is available too. It'd just be far more limited.

Bummer though that the "real" API can't be called. It also means TiVo can't write an app themselves for either WP8 or Win8 without a software update on the devices that changes the auth.
onovotny is offline   Reply With Quote
Old 09-23-2013, 06:51 AM   #268
swythan
Registered User
 
Join Date: Apr 2011
Location: High Wycombe, UK
Posts: 21
Smile

Quote:
Originally Posted by onovotny View Post
It would seem to be currently impossible to build a "real" Win8.1 app for TiVo that uses the MindRPC interfaces.

The real issue is that Win8 and 8.1 do not support sockets with client certificates. Kinda cuts things short very fast

In Windows 8.1, it is possible to finally ignore SSL errors for HTTP requests, so it'd be possible to use the TTG XML interface. And plain sockets are no problem, so the older remote control API is available too. It'd just be far more limited.

Bummer though that the "real" API can't be called. It also means TiVo can't write an app themselves for either WP8 or Win8 without a software update on the devices that changes the auth.
That did cause me issues for a while, but then I discovered the Bouncy Castle crypto library. It needed a bit of work to get working on the phone, but it made it possible to connect. :-)

The next problem is that you need a client certificate (which the TiVo does check). I've not come across any obvious method by which TiVo (or Virgin Media) would enable you to get one. So you need to get hold of one of that will work from, err... somewhere else. <cough> ;-)

Anyway, once you've got that (and commented out a check that Bouncy Castle makes on the server certificate that the TiVo is using), then the MindRPC stuff can be used with no problem!

I've not mentioned it on this forum before, but my app is available here. I've only released it in the UK, as that's the only TiVo I've got access to.

Quote:
Originally Posted by onovotny View Post
If you're looking for mDNS/Bonjour/Zeroconf on Windows Phone, you can use my Zeroconf NuGet package. Seach for Zeroconf there. Docs and source are on GitHub.

This does require WP8.
Thanks for pointing out your mDNS package. I'd already spotted it over the summer, and I was thinking of switching to it for the WP8 version of my app, as the cobbled together solution I'm using at the moment seems to be a bit unreliable. It's nice that you found me, too!
swythan is offline   Reply With Quote
Old 09-23-2013, 07:05 AM   #269
swythan
Registered User
 
Join Date: Apr 2011
Location: High Wycombe, UK
Posts: 21
Big Grin Capturing traffic

Quote:
Originally Posted by swythan View Post
BTW: Do you (or anyone else) know if it's still possible to capture the traffic from the iPad (or Android) app? I've been assuming that it's at least "really quite hard" since they changed to authenticating the TLS certificates, but I've never looked to see whether it's actually impossible (given e.g. a jailbroken iPad, some specific network switch, etc).
Writing above about the client cert reminded me of some work I did on this over the summer...

In an attempt to find out how the new VM iPad app was doing a "Home Mode" connection to a local TiVo without asking for the MAK, I decided to look at capturing the traffic between the iPad app and the "Away Mode" servers. To my surprise, a very simple MitM app worked! I just created some self-signed certificates and opened a TLS socket listening on the relevant port. After editing the hosts file on my (jailbroken) iPad it happily connected to my proxy instead!

Bizarrely it looks like although the TiVo and the Away Mode servers are checking the client certificate; the iPad app itself just completely ignores the server certificate. I didn't even do anything to make my self-signed cert look valid (e.g. editing the trusted root authority lists on the iPad)!

If people are interested I could post the code. It's in C# and probably Windows specific. I imagine Arantius's original script would also probably work if someone who knows Python could make it establish a TLS (server) connection over the socket.

The answer to my orginal question, incidentally, was that the MAK comes back in the "bodyAuthenticateResponse" from the Away Mode servers, but ONLY if you increase the SchemaVersion in your MRPC header to 10. In an amusing quirk, if you send a message with a SchemaVersion higher than 9 to connect directly to a Virgin Media TiVo it will instantly crash and reboot. Luckily my wife was not watching TV when I did that!
swythan is offline   Reply With Quote
Old 09-23-2013, 08:04 AM   #270
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,185
Yes please do post the MitM related code. It would be interesting to try and figure out how the iPad app requests an MRS stream from series 4 and 5 TiVos.

Also, for USA the RPC interface connects to TiVo port 1413 as a specific partnerId (3787). That partnerId only has access to very limited Mind operations (I'd say only 5% or less of them). When you try and execute most operations you get message that partnerId doesn't have access to them. It would be really powerful to figure out how to connect to the local Mind with a higher authentication level that is not limited to the tiny set of operations we currently have available.
When connecting to middlemind.tivo.com with username & password for example the # of operations available increases quite significantly, so it implies different authentication methods when connecting to the Mind have different access levels. I'm hoping there is perhaps a different port on the TiVo that once connected to has full Mind operation access.
__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by moyekj : 09-23-2013 at 08:14 AM.
moyekj is offline   Reply With Quote
Reply
Forum Jump




Thread Tools


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Advertisements

TiVo Community
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
vBulletin Skins by: Relivo Media

(C) 2013 Magenium Solutions - All Rights Reserved. No information may be posted elsewhere without written permission.
TiVoŽ is a registered trademark of TiVo Inc. This site is not owned or operated by TiVo Inc.
All times are GMT -5. The time now is 08:08 AM.
OUR NETWORK: MyOpenRouter | TechLore | SansaCommunity | RoboCommunity | MediaSmart Home | Explore3DTV | Dijit Community | DVR Playground |