Netflix HD on tab s2

Search This thread

Rhala

Senior Member
Nov 17, 2011
53
23
Aachen
Is anyone of you getting Netflix in HD in your tab s2? I installed the app and realised it only supports 480p streaming which is really poor on this screen... I know it has something to do with widevine drm certification, but I don't see why the tab s2 shouldn't when the note 4 with the exynos 5433 gets hd Netflix... The tab s definitely supports it, do you know if this will be upgraded later? Kind of a deal breaker for me because 480p videos are awful on 10 inch tablets .

Chenxiaolong has found a solution to it posting his instructions here http://forum.xda-developers.com/showpost.php?p=65001865&postcount=12 feel free to hit the thanks button for letting us all know. :)

Gesendet von meinem SM-T810 mit Tapatalk
 
Last edited:
  • Like
Reactions: Jens1969

Fritzy62

Member
Dec 6, 2015
49
18
I also have Netflix on my S2 and it streams and shows beautifully in HD. Do you have HD enabled in your subscription? The standard subscription (in Germany) is not HD as far as I know. I have HD enabled with 2 simultaneous devices and it works beautifully.

Sent from my SM-T810 using Tapatalk
 
  • Like
Reactions: Niii4 and Rhala

Rhala

Senior Member
Nov 17, 2011
53
23
Aachen
Thanks for your reply! Yeah we even have the 4 devices plan because my while family uses Netflix. Are you on 5.0.2 or on 5.1.1? Did you confirm that it was really HD? You can See it by watching this Video: Check out "Example Short 23.976" on Netflix
www.netflix.com/title/70136810?source=android
Which bitrate and Resolution do you get?
 

danyvw

Senior Member
Dec 28, 2010
354
181
USA, my plan is 2 screens + HD.
SM-T810 with 5.1.1
Bitrate: 1750 kbps
Resolution: 720 x 480

Sent from my SM-T810 using Tapatalk
 
  • Like
Reactions: Rhala

Rhala

Senior Member
Nov 17, 2011
53
23
Aachen
Yeah that's what I thought. That's the standard resolution Netflix supports on every android device, while 1080p and 720p are the actual hd resolutions. I know it has something to do with Drm certification, which could be just a ROM thing or it could actually be something hardware specific.
The content providers which give Netflix the rights to stream their series want certain Drm technology like widevine, hdcp etc. to protect their content from piracy, which depends on the hardware to support decoding and encoding the content viewed but also on the libraries as I understand which are implemented in the ROM. So I thought ok, this is a new flagship tablet looking to contend with the ipad air 2, it should support HD streaming, but since I don't know much about the exynos 5433 and whether it is a ROM or software issue, I thought maybe they added support in 5.1.1, which doesn't seem to be the case

Gesendet von meinem SM-T810 mit Tapatalk
 
  • Like
Reactions: danyvw

Rhala

Senior Member
Nov 17, 2011
53
23
Aachen
So after researching a little more, I realized even Google play movies doesn't show hd, although the drm info app shows the tab s2 supports widevine L1. It has to be the unlocked bootloader that keeps Netflix from certifying. Is there a way to make it seem like the bootloader is locked, or is it even possible to lock the bootloader on the tab s2?
 

Fritzy62

Member
Dec 6, 2015
49
18
HD works fine here. Watch loads of Netflix and Amazon prime. Both show in HD.

Sent from my SM-T810 using Tapatalk
 

BigBot96

Senior Member
Mar 17, 2012
1,558
2,377
Ooltewah
android.garrettek.com
This device is more than able to run HD video on netflix and hulu. However I ran across an issue where I had to delete the following file for hulu to work at all. Worth a try for those of you who are rooted. Just make a backup first.

I deleted this file and hulu works.
/system/lib/liboemcrypt.so
 
  • Like
Reactions: Rhala

chenxiaolong

Senior Member
Sep 29, 2011
2,991
7,473
Got HD Netflix working on my Tab S2! Proof first, explanation second:



From what I can tell, this tablet completely supports Widevine L1 (w/hardware backed DRM). However, the Netflix servers are sending a device configuration file that blocks Widevine L1 (and thus HD) when requested from the Tab S2. In particular, when the Tab S2 (SM-T810) requests the device configuration, the HTTP response contains:

Code:
      "enableWidevineL1": false,
      "disable_widevine": true,
      "enableWidevineL3": false,

When my Galaxy S6 Edge+ (SM-G928T), which natively supports Netflix HD, requests the device configuration, the HTTP response contains:

Code:
      "enableWidevineL1": true,
      "disable_widevine": false,
      "enableWidevineL3": false,

The differences between the complete requests and responses can be found here: https://www.diffchecker.com/w3etqdvq

So what can be done about that? Well, the app can be modified to report the device model as one of the officially supported HD devices, but it is far easier to simply ignore "enableWidevineL1" from the JSON response and always set it to true. Note that this does NOT disable DRM nor does it let you view HD content without an HD subscription. In fact, it enables the strongest Widevine DRM method.

I will not be providing a patched apk for various reasons (country I live in, employment, etc.), but it's an easy one-liner change for those who are familiar with editing smali. Just make the method return true instead of querying the deserialized JSON data.

-----

EDIT: Here are instructions for patching the apk. Note that this whole procedure must be done for each Netflix app update and the app will no longer automatically update from the Play Store. This same trick can also be done with Xposed, but my device isn't rooted, so I won't be writing a module to do that.

Again, I want to stress that:

  • This does not bypass DRM. This simply tells Netflix to use Widevine L1 DRM on devices where they didn't officially enable its usage. Videos are still fully encrypted and protected.
  • This does not let you watch HD content if you didn't pay for an HD subscription.

These instructions are for Linux, but it should be similar for other OS's.

  1. Install adb and apktool on your computer
  2. Install Netflix from Google Play and copy the apk to your computer
    Code:
    adb pull /data/app/com.netflix.mediaclient-1/base.apk
    #                                         ^ Might be "-2", "-3", etc. if the app was updated
  3. Decompile the apk using apktool:
    Code:
    apktool d -r base.apk
  4. Edit base/smali/com/netflix/mediaclient/service/webclient/model/leafs/DeviceConfigData.smali and look for the following line:
    Code:
    .method public isWidevineL1Enabled()Z
    Just a few lines below that, change the following line:
    Code:
        iget-boolean v0, p0, Lcom/netflix/mediaclient/service/webclient/model/leafs/DeviceConfigData;->enableWidevineL1:Z
    to
    Code:
        const/4 v0, 0x1
    This causes Netflix to always enable Widevine L1 DRM. Note that the modified apk will not work on any other device that doesn't support Widevine L1.
  5. Rebuild the apk
    Code:
    apktool b base
  6. Sign the apk
    Code:
    jarsigner -keystore ~/.android/debug.keystore -storepass android -keypass android -sigalg MD5withRSA -digestalg SHA1 -sigfile CERT -signedjar base/dist/base.apk base/dist/base-signed.apk androiddebugkey
  7. Zipalign the apk
    Code:
    zipalign -f 4 base/dist/base-signed.apk base/dist/base-signed-zipaligned.apk
  8. Uninstall the official Netflix app and install base/dist/base-signed-zipaligned.apk :)
    Code:
    adb shell pm uninstall com.netflix.mediaclient
    adb install -r base/dist/base-signed-zipaligned.apk
 
Last edited:

Rhala

Senior Member
Nov 17, 2011
53
23
Aachen
Thank you so much kind sir! :) You will be remembered until eternity and my thankfulness will always seek you but never reach you :victory: :highfive:
Since chenxiaolong decided to share his instructions, some usefull links you might be interested in:

adb http://forum.xda-developers.com/showthread.php?t=2317790
apktool https://ibotpeaches.github.io/Apktool/
how to use apktool http://forum.xda-developers.com/showthread.php?t=2617435
apk-signer https://shatter-box.com/knowledgebase/android-apk-signing-tool-apk-signer/
how to use apk-signer http://forum.xda-developers.com/showthread.php?t=2617435
and dont forget that for signing apks you will need the JDK
 
Last edited:

Rhala

Senior Member
Nov 17, 2011
53
23
Aachen
thanks for sharing your instructions, i went with the DeviceConfiguration.smali and changed enableWidevineL1(), this should also work(?) at least i get in the test video the same results and other streams also look HD and you get the HD mark near the title subscription.
 

chenxiaolong

Senior Member
Sep 29, 2011
2,991
7,473
thanks for sharing your instructions, i went with the DeviceConfiguration.smali and changed enableWidevineL1(), this should also work(?) at least i get in the test video the same results and other streams also look HD and you get the HD mark near the title subscription.

That will work as well, but if you have the LTE model of the tablet, you won't be able to turn on the Data Saver option to disable HD on mobile data :)
 
  • Like
Reactions: Rhala

Rhala

Senior Member
Nov 17, 2011
53
23
Aachen
Alright boys and girls, so spamming the Netflix and samsung customer service worked! Maybe with that we will get support for amazon instant video, too. :)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 44
    Got HD Netflix working on my Tab S2! Proof first, explanation second:



    From what I can tell, this tablet completely supports Widevine L1 (w/hardware backed DRM). However, the Netflix servers are sending a device configuration file that blocks Widevine L1 (and thus HD) when requested from the Tab S2. In particular, when the Tab S2 (SM-T810) requests the device configuration, the HTTP response contains:

    Code:
          "enableWidevineL1": false,
          "disable_widevine": true,
          "enableWidevineL3": false,

    When my Galaxy S6 Edge+ (SM-G928T), which natively supports Netflix HD, requests the device configuration, the HTTP response contains:

    Code:
          "enableWidevineL1": true,
          "disable_widevine": false,
          "enableWidevineL3": false,

    The differences between the complete requests and responses can be found here: https://www.diffchecker.com/w3etqdvq

    So what can be done about that? Well, the app can be modified to report the device model as one of the officially supported HD devices, but it is far easier to simply ignore "enableWidevineL1" from the JSON response and always set it to true. Note that this does NOT disable DRM nor does it let you view HD content without an HD subscription. In fact, it enables the strongest Widevine DRM method.

    I will not be providing a patched apk for various reasons (country I live in, employment, etc.), but it's an easy one-liner change for those who are familiar with editing smali. Just make the method return true instead of querying the deserialized JSON data.

    -----

    EDIT: Here are instructions for patching the apk. Note that this whole procedure must be done for each Netflix app update and the app will no longer automatically update from the Play Store. This same trick can also be done with Xposed, but my device isn't rooted, so I won't be writing a module to do that.

    Again, I want to stress that:

    • This does not bypass DRM. This simply tells Netflix to use Widevine L1 DRM on devices where they didn't officially enable its usage. Videos are still fully encrypted and protected.
    • This does not let you watch HD content if you didn't pay for an HD subscription.

    These instructions are for Linux, but it should be similar for other OS's.

    1. Install adb and apktool on your computer
    2. Install Netflix from Google Play and copy the apk to your computer
      Code:
      adb pull /data/app/com.netflix.mediaclient-1/base.apk
      #                                         ^ Might be "-2", "-3", etc. if the app was updated
    3. Decompile the apk using apktool:
      Code:
      apktool d -r base.apk
    4. Edit base/smali/com/netflix/mediaclient/service/webclient/model/leafs/DeviceConfigData.smali and look for the following line:
      Code:
      .method public isWidevineL1Enabled()Z
      Just a few lines below that, change the following line:
      Code:
          iget-boolean v0, p0, Lcom/netflix/mediaclient/service/webclient/model/leafs/DeviceConfigData;->enableWidevineL1:Z
      to
      Code:
          const/4 v0, 0x1
      This causes Netflix to always enable Widevine L1 DRM. Note that the modified apk will not work on any other device that doesn't support Widevine L1.
    5. Rebuild the apk
      Code:
      apktool b base
    6. Sign the apk
      Code:
      jarsigner -keystore ~/.android/debug.keystore -storepass android -keypass android -sigalg MD5withRSA -digestalg SHA1 -sigfile CERT -signedjar base/dist/base.apk base/dist/base-signed.apk androiddebugkey
    7. Zipalign the apk
      Code:
      zipalign -f 4 base/dist/base-signed.apk base/dist/base-signed-zipaligned.apk
    8. Uninstall the official Netflix app and install base/dist/base-signed-zipaligned.apk :)
      Code:
      adb shell pm uninstall com.netflix.mediaclient
      adb install -r base/dist/base-signed-zipaligned.apk
    15
    Updated APK.
    Is there anybody using this file? If not, I'll stop updating the app.

    Vote by hitting thanks, please.

    Update: if no file is linked here, this is not the last post! Scroll down! :)
    8
    2017-12-05: Updated APK.
    Update: if no file is linked here, this is not my last post! Scroll down, please!
    7
    Thank you so much kind sir! :) You will be remembered until eternity and my thankfulness will always seek you but never reach you :victory: :highfive:
    Since chenxiaolong decided to share his instructions, some usefull links you might be interested in:

    adb http://forum.xda-developers.com/showthread.php?t=2317790
    apktool https://ibotpeaches.github.io/Apktool/
    how to use apktool http://forum.xda-developers.com/showthread.php?t=2617435
    apk-signer https://shatter-box.com/knowledgebase/android-apk-signing-tool-apk-signer/
    how to use apk-signer http://forum.xda-developers.com/showthread.php?t=2617435
    and dont forget that for signing apks you will need the JDK
    6
    Jens1969, please attach the most recent netflix version.

    Sure. But since the apk is slightly too big, I can't upload it here. Try this link instead.
    [The filehoster seems to be ok. If there is anything about this hoster, feel free to suggest an alternative hoster]

    2018-01-22: Updated APK