Streaming : déterminer goulot d'étranglement

Fermé
lenainjaune Messages postés 612 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 3 avril 2024 - Modifié le 6 avril 2022 à 12:54
mamiemando Messages postés 33073 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 avril 2024 - 12 avril 2022 à 15:09
Bonjour à tous,

Je réhabilite un vieux PC (voir ci-dessous les détails). Tout fonctionne bien, l'utilisation est assez fluide, sauf le streaming.

Détails : Ordinateur portable HP Pavilion dv5000 avec 2 Go de RAM et 8 Go de swap (peut être surdimensionné ?), un processeur AMD Turion(tm) 64 Mobile Technology ML-32 (i686) et un système Debian Bullseye installé sur un disque SSD avec comme environnement de bureau XFCE4 et le noyau est Linux 5.10 .0-10-686-pae #1 SMP Debian 5.10.84-1 (2021-12-08) i686 et la carte réseau une NIC Fast Ethernet (le test de débit donne : 15,66 Mb/s en téléchargement et 0,833 Kb/ s upload).

Remarque : les autres machines du LAN n'ont aucun problème avec le streaming

J'ai testé le site Youtube sur les navigateurs Firefox v91.4.1esr 32-bits (très lent même en basse qualité 144p et la vidéo saccade en permanence, ce qui rend l'expérience atroce, l'audio reste fluide), Chromium v99.0.4844.84 (un peu mieux, mais pas suffisamment).

J'ai également testé le lecteur mpv v0.32.0 très paramétrable et qui fonctionne bien sauf que le buffer se vide trop vite par rapport à la lecture et qu'il faut patienter pour continuer la lecture ; J'ai testé de nombreux réglages mais sans succès, sauf à télécharger la vidéo entière avant de la regarder ou à attendre assez longtemps que le cache contienne la vidéo.

Quand je regarde ce qui se passe au moment de la lecture, je ne vois rien d'alarmant : le CPU ne sature pas à 100%, ni la RAM, néanmoins je vois que le swap n'est pas du tout utilisé.

Au final, je ne vois pas où est le problème.

Est-ce que quelqu'un pourrait me guider dans la méthodologie pour localiser le vrai problème et le résoudre si possible ?

Avec adelphité,
lnj


Configuration: Linux / Firefox 98.0


A voir également:

5 réponses

T3chN0g3n Messages postés 4970 Date d'inscription samedi 16 février 2019 Statut Membre Dernière intervention 12 avril 2024 1 095
6 avril 2022 à 13:43
Bonjour,

Je ne connais pas ce système, mais ça ne peut pas être une histoire de décodage ? Il n'y aurait pas une option sur votre/vos navigateurs pour désactiver l'accélération matériel, voir si c'est pire ou mieux ?

PS: "Avec adelphité", le mot est élégant, mais je ne suis pas certain de l'usage que vous en faite...

Cordialement.
1
lenainjaune Messages postés 612 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 3 avril 2024 47
Modifié le 6 avril 2022 à 15:22
Bonjour T3chN0g3n :)

Merci pour l'idée de désactiver l'accélération matérielle je n'y pensais plus.

J'ai tenté de le faire sous FF et Chromium => pas de différence notable, la vidéo saccade encore, même en 144p

Je suis en train d'essayer de faire de même avec mpv.

Pour l'usage de adelphité : Fraternité relatif aux frères, Sororité aux sœurs, Adelphité aux frères et aux sœurs pour éviter de privilégier l'un ou l'autre mais les deux en même temps
0
T3chN0g3n Messages postés 4970 Date d'inscription samedi 16 février 2019 Statut Membre Dernière intervention 12 avril 2024 1 095 > lenainjaune Messages postés 612 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 3 avril 2024
Modifié le 6 avril 2022 à 15:46
Oui en y repensant vu que vous avez pas de GPU dédié ça sert un peut à rien ma manip' :/

Ce n'est pas la définition du mot qui me pose question, mais justement l'usage, je n'ai jamais vu personne terminer un message par "Avec fraternité" par exemple :p
0
lenainjaune Messages postés 612 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 3 avril 2024 47 > T3chN0g3n Messages postés 4970 Date d'inscription samedi 16 février 2019 Statut Membre Dernière intervention 12 avril 2024
Modifié le 6 avril 2022 à 18:37
Ah ok :) ! Comme utiliser "cordialement" ne me convenais plus, car trop chargé de hiérarchie et s'éloignant du lien humain, j'ai d'abord utilisé "adelphement" (le neutre du "fraternellement") mais à la longue je le trouvais trop pompeux et puis un jour je suis tombé sur la formule "avec adelphité" qui m'a séduit. Il me permet d'ajouter (avec) la part de considération humaine que j'ai pour l'autre. Par ailleurs depuis quelques années, je m'en sert aussi pour ma communication administrative. Tu es la première personne qui me demande pourquoi je l'utilise ? Ça me fait plaisir de pouvoir te répondre :)

Pour revenir à nos moutons ...

Oui en y repensant vu que vous avez pas de GPU dédié ça sert un peut à rien ma manip' :/

Si j'ai bien une carte graphique intégrée (j'ai oublié de la citer dans les détails) :

root@host:~# lspci -vnn | grep VGA -A 9
01:05.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] RS480M [Mobility Radeon Xpress 200] [1002:5955] (prog-if 00 [VGA controller])
Subsystem: Hewlett-Packard Company RS480M [Mobility Radeon Xpress 200] [103c:30a4]
Flags: bus master, 66MHz, medium devsel, latency 66, IRQ 17
Memory at c8000000 (32-bit, prefetchable) [size=128M]
I/O ports at 9000 [size=256]
Memory at c0100000 (32-bit, non-prefetchable) [size=64K]
Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
Capabilities: [50] Power Management version 2
Kernel driver in use: radeon
Kernel modules: radeonfb, radeon

root@host:~# lshw -numeric -C display
-display
description: VGA compatible controller
produit: RS480M [Mobility Radeon Xpress 200] [1002:5955]
fabriquant: Advanced Micro Devices, Inc. [AMD/ATI] [1002]
identifiant matériel: 5
information bus: pci@0000:01:05.0
version: 00
bits: 32 bits
horloge: 66MHz
fonctionnalités: pm vga_controller bus_master cap_list rom
configuration: driver=radeon latency=66 mingnt=8
0
lenainjaune Messages postés 612 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 3 avril 2024 47 > lenainjaune Messages postés 612 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 3 avril 2024
Modifié le 6 avril 2022 à 19:30
Prise en charge de OpenGL :

user@host:~# glxinfo | grep OpenGL
OpenGL vendor string: X.Org R300 Project
OpenGL renderer string: ATI RS480
OpenGL version string: 2.1 Mesa 20.3.5
OpenGL shading language version string: 1.20
OpenGL extensions:
0
lenainjaune Messages postés 612 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 3 avril 2024 47
7 avril 2022 à 11:48
A l'heure actuelle j'ai réussi à lire des flux vidéos de streaming correctement depuis mpv (je ferais un retour dès que ce sera plus clair pour moi), mais la lecture depuis les navigateurs est atroce.

J'insiste mais est-ce que quelqu'un peut me guider pour déterminer ce qui coince ?
0
T3chN0g3n Messages postés 4970 Date d'inscription samedi 16 février 2019 Statut Membre Dernière intervention 12 avril 2024 1 095
7 avril 2022 à 12:05
Votre configuration matériel étant très limité, c'est peut-être juste les navigateurs testé qui sont trop "gourmands" ? Vous pouvez essayer avec une alternative plus légère pour réduire au maximum l'impact sur les ressources ?
0
lenainjaune Messages postés 612 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 3 avril 2024 47
Modifié le 7 avril 2022 à 12:20
Oui les navigateurs sont certainement trop gourmands mais comme je l'ai dit dans mon 1er post, le CPU fonctionne normalement, la RAM n'est pas pleine et le SWAP n'est pas utilisé. Si les navigateurs étaient réellement trop gourmands je suppose que je devrait être à 100% en RAM et en CPU.

=> je cherche à comprendre où ça coince ...

0
T3chN0g3n Messages postés 4970 Date d'inscription samedi 16 février 2019 Statut Membre Dernière intervention 12 avril 2024 1 095
7 avril 2022 à 13:16
Vous pouvez afficher les "stats pour les nerds" sur Youtube, ça peut peut-être vous aider à diagnostiquer ...
0
mamiemando Messages postés 33073 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 avril 2024 7 748
8 avril 2022 à 17:47
Bonjour,

Si la vidéo une fois téléchargée est dans le même format se lit correctement alors cela exclue la carte vidéo et le codec. Les indications que tu donnes sur le CPU, la RAM ou la swap écarte cette explication. Vu la qualité de la vidéo et le débit de ta connexion réseau, je ne pense pas que ce soit la raison. Personnellement, je suspecte que le problème vient du site de streaming lui même, dont le débit est trop faible.

Peut-être que si tu nous donnes un lien vers une vidéo à problème, on y verrait plus clair (ainsi que la commande que tu as utilisé pour la télécharger).

Bonne chance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lenainjaune Messages postés 612 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 3 avril 2024 47
10 avril 2022 à 09:46
Salut mamiemando :)

Pour être clair, j'essaye de réhabiliter un portable pour qu'il puisse encore servir. Je pense que c'est possible mais que ça nécessitera un paramétrage fin sur un peu tout, rien ne pouvant être laissé au hasard.

Personnellement, je suspecte que le problème vient du site de streaming lui même, dont le débit est trop faible.

Peut-être que si tu nous donnes un lien vers une vidéo à problème, on y verrait plus clair (ainsi que la commande que tu as utilisé pour la télécharger)


Ben non je ne pense pas que ça vienne des site de streaming, mes premiers essais avec mpv je les ai fait depuis Youtube et en particulier j'ai testé cette vidéo (vidéo peu mouvementée) et depuis un replay d'Arte (vidéo mouvementée par moment).

Voici la commande mpv que j'utilise pour voir dans la pire qualité sur Youtube (mpv intègre youtube-dl) :

user@host:~$ mpv --cache=yes --cache-pause-initial=yes --cache-pause=yes --cache-pause-wait=10 --ytdl-format=worst "ytdl://www.youtube.com/watch?v=6-jjyn1yp2o"


Attention : dans l'URL de la vidéo https: devient ytdl:

Et pour la vidéo Arte :

user@host:~$ mpv --cache=yes --cache-pause-initial=yes --cache-pause=yes --cache-pause-wait=10 https://www.arte.tv/fr/videos/011176-000-A/moliere-ou-la-vie-d-un-honnete-homme/


Remarque : au moment de la rédaction de ce post j'ai constaté qu'avec mpv la vidéo sur Arte avait quand même des décrochements désagréables quand il y avait du mouvement et qu'à chacun le CPU montait à 100%. J'ai testé la méthode de ce lien pour ajouter au début les lignes hwdec=auto et demuxer-max-bytes=10M au fichier $HOME/.config/mpv/mpv.conf. Au final la vidéo ne saccade plus et le CPU n'atteint plus 100% ! C'est ce qui me confirme que le paramétrage me permettra d'arriver à mes fins ...

Par contre, quand j'utilise Firefox ou Chromium c'est inacceptable, ça saccade tout le temps !

@T3chN0g3n m'avais aiguillé sur la piste du GPU ! Je ne suis pas très au clair sur ça !

L'idée c'est un 2ème processeur dédié au graphique qui allège le CPU, c'est bien ça ? Comment savoir si j'en ai un intégré ?
0
mamiemando Messages postés 33073 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 avril 2024 7 748
Modifié le 12 avril 2022 à 15:07
Le GPU est le processeur de ta carte graphique. Il est notamment sollicité pour tout ce qui utilise de la 3D. Je doute que ce soit la cause du problème. En admettant que ce soit la cause du problème, pourquoi serait-il capable de lire ta vidéo correctement si tu la télécharges, mais pas si tu la regardes en streaming ?

Vus les symptômes que tu décris, le coupable serait donc le codec utilisé par ton navigateur. Tu peux essayer de voir si ta vidéo se lit mieux si tu demandes à ton navigateur d'utiliser mpv, par exemple en installant l'extension adéquate (par exemple celle-ci pour chrome/chromium)...

Bonne chance
1
lenainjaune Messages postés 612 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 3 avril 2024 47 > mamiemando Messages postés 33073 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 avril 2024
12 avril 2022 à 08:50
Wahou ... super, merci mamiemando :) .

Avant de creuser plus, je peux donner le fruit de mon expérimentation avec Youtube et ce qui a marché pour moi.

L'idée c'est de lire un flux Youtube depuis une fenêtre mpv externe au navigateur.

J'ai suivi le lien de @mamiemando et ai installé en root : mpv, Python 2 ou 3 et pip.

Le reste s'exécute avec l'utilisateur de la session en cours (NON root).

Installer l'extension depuis le navigateur (pour moi Chromium).

Nota : dans le cas de Chromium, j'ai du épingler l'extension pour que le bouton reste affiché

Lors de l'exécution de la commande :
pip install git+git://github.com/thann/play-with-mpv --user


J'ai eu l'erreur "fatal: remote error: The unauthenticated git protocol on port 9418 is no longer supported"

Que j'ai résolu avec ceci (source) :
git config --global url."https://".insteadOf git://


Pour démarrer le serveur play-with-mpv, depuis une console exécuter :
$HOME/.local/bin/play-with-mpv


Nota : c'est depuis la console que l'on verra ce qui se passe, ce qui nous permettra d'améliorer la configuration de l'extension play-with-mpv

Modifier les options de l'extension en adaptant ce qui suit (comme indiqué UNE option par ligne) :
--ytdl-format=bestvideo[height<=?360]+bestaudio/best
--cache=yes
--cache-pause-initial=yes
--cache-pause=yes
--cache-pause-wait=10


"Save" pour sauvegarder les modifications.

Explications : la qualité la plus basse qu'on peut sélectionner depuis les options est de 480p, ce qui dans mon cas est déjà trop et engendre des interruptions (rappel : vieux PC), la première ligne --ytdl-format (que j'ai déterminé grâce à la console) outrepasse ce comportement en spécifiant une qualité de 360p. Les options --cache* permettent de gérer de se mettre en pause avant de constituer un cache initial de 10s et de se remettre en pause dès lors que le cache est vidé afin de re-générer le cache ce qui prend encore 10s (voir man mpv). On comprend alors qu'il est important que le cache ne se vide pas plus vite qu'il ne se remplit => 360p est la plus grande qualité gérable sans interruption dans mon cas et je la trouve "acceptable" (à 480p ça tient un peu plus de 10s).

Il suffit alors d'afficher une vidéo Youtube SANS la lire et de cliquer sur le bouton de l'extension play-with-mpv ; dès lors suivre la sortie en console. Ajuster les options et sauvez les avant de cliquer à nouveau sur le bouton de l'extension.

La page pour installer l'extension indique qu'on peut mettre le serveur dans un autostart. Je n'ai pas testé pour le moment, mais ça ne doit pas être trop compliqué.

----

Comme je l'ai dit c'est un premier jet avant de creuser et aussi, j'ai vu que Firefox le permettait aussi et qu'il existe d'autres extensions plus "user friendly". Du coup ça me donne une piste exploitable pour approcher vers un résultat acceptable. De plus je me suis concentré sur Youtube et je vais tester aussi les autres sites de streaming.

Je suis toujours en recherche d'un outil pour voir ce qui coince.

En 480p le cache n'est pas suffisant mais en 360p il l'est.

Pourquoi ? Mamiemando parle de codecs mais comment les changer ? Quel outil (si possible en graphique) utiliser pour voir qu'un codec est meilleur qu'un autre ?
0
mamiemando Messages postés 33073 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 avril 2024 7 748 > lenainjaune Messages postés 612 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 3 avril 2024
12 avril 2022 à 15:09
Quel outil (si possible en graphique) utiliser pour voir qu'un codec est meilleur qu'un autre ?

Selon moi, ce sera avec une combine du genre de celle que je t'ai indiquée (à savoir : une extension qui permet d'utiliser un autre lecteur, en l'occurrence
mpv
). Du coup, est-ce que tu es satisfait de la combine play with mpv ?
0