La Fibre

Télécom => Télécom => télécom TV et codecs => Discussion démarrée par: vivien le 26 septembre 2014 à 23:09:27

Titre: Comment regarder simplement Netflix sous Ubuntu en HTML5 ?
Posté par: vivien le 26 septembre 2014 à 23:09:27
Comment regarder simplement Netflix sous Ubuntu en HTML5 ?

Quelles versions de Ubuntu sont compatibles avec Netflix ?
- Ubuntu 12.04 LTS avec toutes les mises à jour de sécurité
- Ubuntu 14.04 LTS avec toutes les mises à jour de sécurité
- Ubuntu 14.10

Quel navigateurs sont compatibles avec Netflix ?
Chrome (version 38 et supérieur) et Firefox
Attention : Chromium n'est pas compatible




Voici le mode d'emploi détaillé pour Ubuntu :

Édit 11 octobre 2014 : Tutoriel simplifié suite à une mise à jour de Netflix pour qu'il fonctionne directement sous Ubuntu sans changer le user-agent

Mettre à jour Ubuntu avec les dernières mis à jour.
Il est impératif de mettre à jour NSS (Network Security Services) en version 3.16.2 ou supérieure pour Netflix.
Ubuntu propose depuis le 22 septembre LibNSS 3.17 :
(https://lafibre.info/testdebit/ubuntu/201409_ubuntu_maj_libnss3_compatible_netflix.png)

Aller sur https://www.google.fr/chrome/browser/ (https://www.google.fr/chrome/browser/) et télécharger Google Chrome (la version stable fonctionne très bien, pas besoin de prendre la version bêta) :
(https://lafibre.info/images/tv/201409_netflix_sous_ubuntu_en_html5_1.png)

Double cliquez sur le fichier téléchargé pour démarrer la logithèque Ubuntu qui vous demande votre mot de passe pour installer Chrome.
Titre: Comment regarder simplement Netflix sous Ubuntu en HTML5 ?
Posté par: vivien le 26 septembre 2014 à 23:09:53
Connectez-vous à Netflix, cela fonctionne !

(https://lafibre.info/images/tv/201409_netflix_sous_ubuntu_en_html5_6.png)

Le player HTML5 permet d'avoir accès aux pistes sonores (VF et VO généralement) et aux différents sous-titrage proposés :
(https://lafibre.info/images/tv/201409_netflix_sous_ubuntu_en_html5_7.jpg)

Pour les séries, en HTML5 on passe automatiquement à l'épisode suivant sans rien avoir à faire (et sans publicité) :
(https://lafibre.info/images/tv/201409_netflix_sous_ubuntu_en_html5_8.jpg)
Titre: Comment regarder simplement Netflix sous Ubuntu en HTML5 ?
Posté par: K-L le 27 septembre 2014 à 10:06:26
Qu'en est-il de la qualité ? HD possible ?
Titre: Comment regarder simplement Netflix sous Ubuntu en HTML5 ?
Posté par: vivien le 29 septembre 2014 à 13:52:20
La HD semble bien proposée mais je ne vois pas comment changer de résolution.

Voici les raccourcis qui fonctionnent sur le lecteur HTML5 :
- Espace, Entrée : Lecture / Pause
- Flèche gauche / droite : Retour en arrière ou avance rapide par paliers de 10 secondes

Voici les raccourcis qui ne fonctionnent pas sur le lecteur HTML5 :
- Alt + Majuscule + Clic gauche : Menu caché (ex: charger un fichier de sous-titre personnalisé, modifier les paramètres de synchronisation audio / vidéo,...)
- Ctrl + Majuscule + Alt + C : Affichage d'informations techniques non détaillées
- Ctrl + Majuscule + Alt + D : Affichage d'informations sur le flux vidéo et les ressources utilisées
- Ctrl + Majuscule + Alt + L : Affichage des logs du lecteur
- Ctrl + Majuscule + Alt + P : Affichage d'informations techniques concernant la machine
- Ctrl + Majuscule + Alt + R : Mise en place d'un système de colorisation (pour debug)
- Ctrl + Majuscule + Alt + S : Gestionnaire de débit, permettant d'afficher et de modifier les paramètres
- F : Lecture en Plein écran
- Majuscule + Echap : Arrêt du mode Plein écran
- Flèche haut et bas : Augmenter ou diminuer le volume
Titre: Comment regarder simplement Netflix sous Ubuntu en HTML5 ?
Posté par: kgersen le 29 septembre 2014 à 14:23:48
La résolution  est automatique en fonction de l'abonnement, du programme, de la taille de l'écran et des conditions réseau (système DASH).
Titre: Comment regarder simplement Netflix sous Ubuntu en HTML5 ?
Posté par: vivien le 29 septembre 2014 à 18:19:15
DASH = Dynamic Adaptive Streaming over HTTP
Un article de Wikipedia en Anglais : Dynamic Adaptive Streaming over HTTP (https://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP)
J'aimerais bien savoir quel choix a fait le DASH sans devoir comparer la quantité de données téléchargées sur une longue période.

Pour ceux qui souhaitent voir comment sont transférées les données en HTML5 avec Netflix, voici une capture Wireshark de la série "Prison Break" en HTML5 (Saison 1, Épisode 1)
Je précise que mon écran est d'une résolution 1024x768 (théoriquement il ne devrait pas m'envoyer du Full HD)
J'utilise Google Chrome 37 sous Ubuntu 14.04 LTS.

La capture : 201409_netflix_html5_ubuntu_ecran_1024x768.pcapng.gz (https://lafibre.info/images/wireshark/201409_netflix_html5_ubuntu_ecran_1024x768.pcapng.gz) (ce fichier s'ouvre directement avec les versions de wireshark récentes)

On remarque :
- Netflix démarre directement avec 5 connexions TCP simultanées vers la même IP. Les connexions inutilisées sont fermées après 60 secondes d'inactivité.
- Sur ma connexion Numericable 100 Mb/s, c'est le transitaire Level3 qui est utilisé. Probablement que le trafic est trop important pour passer par les 40 Gb/s du lien France-IX de Numericable (qui fait passer du trafic autre)
- Les 20 premières secondes il va télécharger 200 secondes de vidéo à un débit de l'ordre de 40 Mb/s si la connexion le permet. Pour ce faire, il va utiliser 3 connexions TCP en simultané.
- Ensuite il télécharge des petits paquets de 4 secondes de vidéo, toutes les 4 secondes, de façon à avoir toujours 200 secondes de vidéos téléchargé en avance, ce qui permet d'encaisser un coup dur, comme un incident réseau de courte durée (avec changement de routage BGP, ce qui met quelques secondes a converger) ou une perte du signal Wi-fi avec connexion sur un autre point d’accès. Bien que les autres connexions TCP sont toujours ouvertes, il utilise toujours la même connexion TCP. Probablement que si le paquet de 4 secondes n'est pas arrivé alors qu'il doit télécharger le suivant, il utiliserait une autre connexion TCP (quitte a la ré-ouvrir, car une connexion TCP inutilisée est fermée après 60 secondes).
Titre: Comment regarder simplement Netflix sous Ubuntu en HTML5 ?
Posté par: Fredwww le 29 septembre 2014 à 21:04:17
Vivien, as tu réussi à récupérer le fichier MDP lié à ta lecture ? (Media Presentation Description, appelé aussi Manifest dans les autres techno d'Adaptive Streaming).

C'est en gros ce qui va indiquer au player le codec utilisé, les différentes résolution/débits disponibles, la segmentation du fichiers vidéo (range). Même en observant le traffic https je ne vois pas à quel moment le player récupère ce fichier.

A noter que tout le trafic n'est pas échangé exclusivement en France.

cbp-eu.nccp.netflix.com : authentification, enregistrement du device, récupération des infos de lecture  (Amazon Cloud)
www2.netflix.com : téléchargement du player, navigation dans le catalogue  (Amazon Cloud)
customerevents.netflix.com : Tracking (Amazon Cloud)
nflxext.com : Fonction inconnu  (Akamai)
nflximg.com : Stockage images (Akamai)
198.38.120.149 : Streaming vidéo (Netflix France)
Titre: Comment regarder simplement Netflix sous Ubuntu en HTML5 ?
Posté par: vivien le 30 septembre 2014 à 08:38:02
Oui, le site web de Netflix est dans le cloud d'Amazon et une partie du player est chez Akamai, mais toutes les vidéos sont sur les caches Netflix.

Tu fais comment pour récupérer le contenu du fichier https ? J'ai tenté avec Firefox (après avoir changé mon user-agent) sans sucés.
Firefox permet simplement de récupérer les différents fichiers récupérés par le navigateur et pour les autres sites, on récupère facilement le player avec Firefox.

(https://lafibre.info/images/tv/201409_netflix_sous_ubuntu_en_html5_9.png)
Titre: Comment regarder simplement Netflix sous Ubuntu en HTML5 ?
Posté par: Marin le 30 septembre 2014 à 08:51:15
Tu fais comment pour récupérer le contenu du fichier https ? J'ai tenté avec Firefox (après avoir changé mon user-agent) sans sucés.

Tu peux capturer les requêtes qui passent en utilisant la console web de Firefox, accessible via « F12 » (ou encore « Ctrl+Shift+K »).

Ensuite, tu vas dans l'onglet « Console », tu fais en sorte que les options « Réseau » et « Clic droit > Journaliser le contenu des requêtes et des réponses » soient cochées, ensuite tu peux voir tout à peu près tout ce qui est envoyé en cliquant sur les éléments qui s'affichent, que ce soient les pages web chargées, leurs images et autres fichiers JS/CSS, ou les requêtes Ajax qui passent. Par contre, si c'est envoyé par un plugin ou peut-être par le fameux DRM Adobe, ce n'est pas sûr que tu puisses les voir aussi facilement.

Il y a aussi l'onglet « Réseau » qui permet d'avoir une vue différente des données envoyées, mais je n'ai pas l'habitude de l'utiliser (il a été introduit plus tard).

Note : je conseille d'activer préalablement l'option « devtools.webconsole.persistlog » dans about:config, autrement la console se videra à chaque fois que tu quitteras la page, même si elle reste ouverte, et c'est un peu embêtant pour capturer le trafic.
Titre: Comment regarder simplement Netflix sous Ubuntu en HTML5 ?
Posté par: vivien le 30 septembre 2014 à 09:10:26
Firefox (avec le user agent Chrome 38 pour Windows 8.1) bloque avant de récupérer le fichier MDP (Firefox n'est pas compatible avec Netflix)
Titre: Comment regarder simplement Netflix sous Ubuntu en HTML5 ?
Posté par: Marin le 30 septembre 2014 à 09:32:57
Tu as aussi la console web de Chrome en appuyant sur « F12 »...
Titre: Comment regarder simplement Netflix sous Ubuntu en HTML5 ?
Posté par: Fredwww le 30 septembre 2014 à 13:49:38
Hello,

J'utilise l'addon HttpFox qui capture tout le traffic http (et https) comprenant les entêtes et les données. Mais je n'ai toujours pas réussi à récupérer ce fameux fichier qui pour moi semble obligatoire au fonctionnement de DASH, je ne sais pas par quel moyen il est récupéré.
Titre: Comment regarder simplement Netflix sous Ubuntu en HTML5 ?
Posté par: vivien le 11 octobre 2014 à 21:37:12
Depuis hier, Netflix fonctionne directement avec Chrome sous Ubuntu 12.04 / 14.04 / 14.10 à jour, sans aucune modification

Je supprime cette partie de mon tutoriel qui est maintenant obsolète :

Démarrez Google chrome et télécharger le plug-in gratuit "User-Agent Switcher for Chrome" sur la page https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/djflhoibgkdhkhhcedjiklpkjnoahfmg (https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/djflhoibgkdhkhhcedjiklpkjnoahfmg)
(https://lafibre.info/images/tv/201409_netflix_sous_ubuntu_en_html5_2.png)

Il rajoute une petite icône à droite de la barre d'adresse. Cliquez avec le bouton droit dessus pour aller dans les option afin de le configurer :
(https://lafibre.info/images/tv/201409_netflix_sous_ubuntu_en_html5_3.png)

Créez un nouvel user-agent comme indiqué ci-dessous :
New User-agent name: Netflix Linux
New User-agent String: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2114.2 Safari/537.36
Group: Netflix
Append : Séléctionez Replace
Flag: Win
(https://lafibre.info/images/tv/201409_netflix_sous_ubuntu_en_html5_4.png)

Dans le menu, cliquez sur Netflix puis Netflix Linux pour activer le user-agent crée :
(https://lafibre.info/images/tv/201409_netflix_sous_ubuntu_en_html5_5.png)