1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

OperaTV Store Backdoor

Discussion in 'Developers Corner' started by jgametest, Jul 22, 2014.

  1. jgametest

    jgametest New Member

    117
    0
    Oct 30, 2013
    When Tivo announced we were getting Opera TV Store, there was an SDK floating around that would allow you to test internal code if you knew were to find the DEVICE ID. Guess what? Now we do!

    http://dev.opera.com/tv/testing-your-app-inside-opera-tv-store/

    Today I found a new app above the opera tv store that says "My Opera TV Store Apps" I opened it and sure enough those apps I bookmarked preloaded so what. But what I found caught my attention when you click Menu, About you are given the DEVICE ID

    This is a very long lengthy ID that is bound to the TiVo for app testing.
    For opera this is controlled by Dragonfly part of the Opera Browser.:D

    Happy Hunting!
     
  2. jgametest

    jgametest New Member

    117
    0
    Oct 30, 2013
    Now I will admit this was a challenge, I did not want to write out all those numbers on my screen so I took my phone and captured my device ID.

    [​IMG]

    [​IMG]

    As soon as the pair was done Tivo had a message a request to PAIR from user jhilla2014 is requesting Permission Yes or NO. Naturally I said HELL YEA! or yes and then a blue square appeared at the bottom of my screen representing an app that does not exist yet. By the way to make the pair happen, there is a little box for developers to click on the bottom right of your Tivo screen that presents a smaller number. After you registered on the page you enter this little magic number and then magically the long lengthy number appears in your browser to PAIR together.
     
  3. ntlord

    ntlord New Member

    183
    0
    Nov 30, 2013
    Unless I'm misunderstanding you, this functionality has been around for a pretty long time. I've been able to pair the tivo to an opera dev account from the get go.
     
  4. moyekj

    moyekj Well-Known Member

    11,140
    29
    Jan 23, 2006
    Mission...
    Yes, there's nothing new here.
     
  5. Aug 2, 2014 #5 of 14
    jgametest

    jgametest New Member

    117
    0
    Oct 30, 2013
    Yes that part is true, but there was something new added. Go in store, and look to the top left there is a new bar that says "Develop" this is found by moving the cursor to the left which you will find there is a browser called URL Loader that can launch internally now that was not there before I paired the connection. I was able to connect to plex.tv and bing.com but because the handler is not being allowed full access to the streams I get a default error message that the server is not available. I will upload images later kids have my Lumia 520.
     
  6. Aug 2, 2014 #6 of 14
    moyekj

    moyekj Well-Known Member

    11,140
    29
    Jan 23, 2006
    Mission...
    Yes I can't say I saw the URL Loader before so that's new. It seems to take any arbitrary URL as well. I was hoping that after pairing that I would be allowed to use MindRPC uiNavigate directly to enter a URL which used to work, but no dice. So we are stuck with primitive way of entering URL through this app. It kind of works with Roamio remote keyboard at least, though everything is uppercase. Also for arbitrary web pages basic navigation works and even pages with videos play which is better than before.

    NOTE: Instant replay button acts like browser "back" button which is useful.
    Also new is that my simple javascript key code tester now responds to most buttons on the remote (before some buttons didn't work):
    Code:
    <!DOCTYPE HTML>
    <HTML>
     <HEAD>
      <TITLE>Keypress detector</TITLE>
     </HEAD>
     <BODY style="background-color: #000000;">
      <HEADER><p style="color: #FFFF00">Press a key to show keycode</p></HEADER>   
      <SECTION style="border-style: solid; border-width: 2px; width: 100px; color: #FFFF00">
       <CANVAS id="textarea" tabindex="1" width="10" height="10"></CANVAS>
       <label id="label1">LAB1</label>
      </SECTION>
      <SCRIPT type="text/javascript">
          var label = document.getElementById("label1");
          var count = 1;
          document.onkeydown=doKeyDown;
          function doKeyDown(evt) {
             evt = evt || window.event;
             label.innerHTML = "" + count + " " + evt.which;
             count++;
          };
       </SCRIPT>   
     </BODY>
    </HTML>
    
    For video support, it doesn't seem much better than before - I couldn't get H.264 + AC3 audio in mp4 container to work, and webm and ogg videos didn't play.
    EDIT: I did get H.264 video in TS container to play though aspect ratio was all wrong and AC3 audio in it wasn't audible, but I don't believe TS container was working previously so that's interesting...
     
  7. Aug 3, 2014 #7 of 14
    jgametest

    jgametest New Member

    117
    0
    Oct 30, 2013
    Since the Plex stream failed, attempting another 3rd party test from AirPlayIT it allows a personal local connection that works in conjunction with the mobile app. Will post results in few moments. Nope that didn't work either. So I'm coming to the conclusion this is mainly for testing out personal apps before submitting to the store to see if your feature will work in the mainstream of services. It handles basic loading of websites like bing pretty decently did image searching without a problem. Video playback, no so much luck. The one thing that seems to be missing yet tells us it's there in our information is the lack of FlashPlayer. Yet when you look up your TiVo settings it says a Flash Player is installed. So I'm guessing that player has been put to rest or disabled from our use.
     
  8. Aug 3, 2014 #8 of 14
    telemark

    telemark New Member

    1,544
    0
    Nov 12, 2013
    I pulled a random stream from the Opera Store:
    Code:
    GET /30/items/MIT6.851S12/MIT6_851S12_lec01_300k.mp4 HTTP/1.1
    Host: ia601000.us.archive.org
    Accept: */*
    
    HTTP/1.1 200 OK
    Server: nginx/1.1.19
    Date: Sun, 03 Aug 2014 15:12:51 GMT
    Content-Type: video/mp4
    Content-Length: 304171974
    Last-Modified: Thu, 31 Oct 2013 16:59:15 GMT
    Connection: keep-alive
    Expires: Sun, 03 Aug 2014 21:12:51 GMT
    Cache-Control: max-age=21600
    Accept-Ranges: bytes
    
    VLC reports it as H.264 & AAC.

    Other apps used:
    GET ...m3u8
    Content-Type: application/vnd.apple.mpegurl

    GET ...ts
    Content-Type: video/mp2t

    GET ...mp3
    Content-Type: audio/mpeg
     
  9. Aug 3, 2014 #9 of 14
    moyekj

    moyekj Well-Known Member

    11,140
    29
    Jan 23, 2006
    Mission...
    Yes, the TiVo Opera browser has always played mp4 container with H.264 + AAC audio with no problems, but that's not a very interesting format. AC3 audio and TS container would be much more useful (because you can transcode to that on the fly) but it seems like the TiVo Opera browser doesn't support AC3 audio at all. I haven't tried yet but I would guess TS container with H.264 video + AAC audio may work.
     
  10. telemark

    telemark New Member

    1,544
    0
    Nov 12, 2013
    I did see a .ts in that combination so ya, should work.

    Dev.Opera also lists H264 + MPEG audio layer 3 within .mp4 as supported.
     
  11. ntlord

    ntlord New Member

    183
    0
    Nov 30, 2013
    Which app uses "m3u8"? That is HLS...
     
  12. telemark

    telemark New Member

    1,544
    0
    Nov 12, 2013
    Looks like it's DailyMotion backed apps...
    "Indie Game HQ"
    "YALLWIRE"

    The UI's look about the same.

    Code:
    GET /cdn/manifest/video/x162w1u.m3u8?auth=...&default=720 HTTP/1.1
    http://proxy-37.dailymotion.com/sec(975fa2e34cd4e1d56fda4c95de44e4db)/video/227/876/70678722_mp4_h264_aac_hd_2.m3u8
    http://proxy-14.dailymotion.com/sec(975fa2e34cd4e1d56fda4c95de44e4db)/video/227/876/70678722_mp4_h264_aac_hd_2.m3u8
    http://proxy-37.dailymotion.com/sec(4e8242fccc7629857dae0b096ab367ec)/video/227/876/70678722_mp4_h264_aac_ld_2.m3u8
    http://proxy-14.dailymotion.com/sec(4e8242fccc7629857dae0b096ab367ec)/video/227/876/70678722_mp4_h264_aac_ld_2.m3u8
    http://proxy-37.dailymotion.com/sec(a2dfb60ccab7108de0f8450c3fbc01b3)/video/227/876/70678722_mp4_h264_aac_2.m3u8
    http://proxy-14.dailymotion.com/sec(a2dfb60ccab7108de0f8450c3fbc01b3)/video/227/876/70678722_mp4_h264_aac_2.m3u8
    http://proxy-37.dailymotion.com/sec(ac32c5da119c73da0f6d3693e3a119f4)/video/227/876/70678722_mp4_h264_aac_hq_2.m3u8
    http://proxy-14.dailymotion.com/sec(ac32c5da119c73da0f6d3693e3a119f4)/video/227/876/70678722_mp4_h264_aac_hq_2.m3u8
     
  13. telemark

    telemark New Member

    1,544
    0
    Nov 12, 2013
  14. ntlord

    ntlord New Member

    183
    0
    Nov 30, 2013
    Check out the Plex thread. I got HLS working. It just needs to be .ts with h264 for video and aac for audio.
     

Share This Page