Raspbmc et lecture film 1080p depuis le réseau

Bonjour, 
J’ai acheté il y a quelques jours un raspberry et y est installé l’os raspbmc.
Mon objectif était de lire les films pour l’instant depuis mon pc windows (câble ethernet RJ45 5e 1000M) mais port rj45 100 et Freebox 100M. Par la suite je souhaite ajouter un NAS et le tout branché en Giga.
 
J’ai pu tester le lecture de plusieurs films. En local via une clé usb 32Go, aucun problème de lecture rencontré.
J’ai ensuite mis un dossier partager sur mon pc pour y lire des films.

Test des films : 

  • XXXX HD 13Go (dessin animé) ~ Passe correctement (2-3 coupure sur tout le film)
  • XXXX HD 21Go ~ Saccade un peu au début le temps de remplir le cache mais surtout perte de qualité sur tout le film. Je me retrouve avec des sortes de “mouches” sur tout le films, je perds en faite du contraste ou luminosité. 
  • XXXX HD 12Go ~ Passe correctement mais toujours en perdant du contraste avec les mouches.

    J’aimerais savoir ce que vous en pensez, d’ou le problème peut venir. Est ce un problème de débit qui réduit la qualité du film HD alors qu’il y a peu ou pas de saccade?
    J’aimerais résoudre le problème de cette perte de qualité? J’avais eu le même soucis il y a des années avec mon WD Live.

Merci d’avance !

Cordialement,
Totosh.

Tu partages comment déjà, via des shares smb (dossiers partagés classiques windows) ou bien avec un soft de stream? Chez moi j’ai un serveur de fichiers sous win 2012 avec des shares smb classiques et le raspberry lit toute ma médiathèque sans souci et sans perte de qualité vu que c’est comme si le bouzin lisait les fichiers en local.

Je partage en share smb classique sous Windows 7. Tu as aucun soucis pour les des films 1080p?
Pour être plus précis :
Mon film dure 2h29 et est donc de qualité 1080p avec 20,7Go. Il y a un son audio EN en DTS et un son Audio FR en AC3.
J’ai tout de même plus de cascade que je pensais sur ce film de 20Go.

J’ai également testé avec des films de 12-13Go et pareil j’ai un soucis de contraste dans les moment sombres.

C’est bizarre ton souci de contraste, t’es certain d’avoir bien réglé ta télé déjà?

Aucune problème au niveau des réglages de la tv.
J’ai regardé hier sur une autre télé plus grande (140cm), un film en local qui fait environ 18Go HD 1080p et DTS 5.1, qualité vraiment parfaite !
J’ai ensuite lancé ce même film à distance, la réduction de la qualité est moins voyante et invisible à l’oeil nu à distance pour ce film vu que c’est rarement sombre mais j’ai eu tout de même des saccades répétitifs surtout au début.

J’ai lancé l’autre film de 20,7Go qui possède énormément d’images assez sombres, et la on voit bien que l’image n’est pas la même en local et à distance! L’écriture du texte (pour les auteurs/producteur/chaîne/nom du film …) n’est pas totalement net même si peu voyant. Lorsque qu’il y a un fond sur le texte/logo avec une couleur dégradé, on voit que c’est un dégradé de mauvaise qualité, pareil sur un fond totalement noir ou proche du noir, des points gris foncés apparaissent ?.
Je pense que c’est du au chargement incomplet de l’image.

Quand il y a un freeze sur une scène sombre, on voit très fortement les “mouches”/pixels non chargés, je m’oriente donc plus vers un problème de débit.

Voici l’infrastructure :
PC BUREAU <==== Câble Cat6 5m ====> FREEBOX V5 <==== Câble Cat6 20m ====> Switch NETGEAR 10/100/1000 GS605 <==== Câble  cat5e 5m ====> Raspberry Pi <==== Câble HDMI ====> TV Samsung

Ce weekend, de retour dans mon vrai chez moi, je vais tester sans utilisation de la box puis avec une Livebox. Peut être que le problème ce situe sur la freebox car le propriétaire a déjà eu quelques soucis avec.

J’ai remarqué qu’en moyenne les films tournent à 8-10Mb/s et lorsque qu’il y a une cascade, ça grimpe à 30 voir 50Mb/s surement du à un enchaînement d’image plus lourd/complexe !

Pour le problème de saccade, tu dois être limité si tu n’es pas en Gigabit. Sur des gros mkv de 40 Go, je n’ai pas eu de soucis sur mon WD TV Live pourtant limité à 100 Mbps, mais bon ça doit effectivement dépendre des scènes, je vois pas trop de solution si le raspi est limité à 100 Mbps :/.

Pour la qualité, là clairement il ne devrait y avoir aucune différence si tu ne stream/réencode pas.

Ou alors t’as un élément défectueux dans ta chaine, ce qui entraine

  1. des pertes/corruption de pixels d’où la perte de qualité
  2. des pertes de débit car les pixels perdus sont renvoyés x fois ?

(c’est qu’une hypothèse, je ne sais pas comment se passe l’envoi d’une vidéo en ethernet, même si je pencherais plus pour des blocs de données que pixel par pixel)

En effet peut être élément défectueux, c’est pourquoi je vais faire différent test chez moi vendredi soir pour essayer d’isoler le problème

  • Test lien direct Raspberry 100M <=== Câble Cat 5e ===> PC bureau 10/100/1000
- Test lien Raspberry 100M <=== Câble Cat 5e ===> switch Netgear 100M ou 1000M <=== Câble Cat 5e ===> PC bureau  10/100/1000
- Test lien Raspberry 100M <> cpl <> PC bureau 10/100/1000
- Test lien Raspberry 100M <> cpl <> switch Netgear <> PC bureau 10/100/1000
- Test lien Raspberry 100M <> liveBox <> cpl <> switch Netgear <> PC bureau 10/100/1000
 
Bon par contre chez moi, il y a du cpl mais il y en aura plus dans quelques mois :P. Ca me permettra tout de même de voir comment ça passe par courant..
J'ai pas fait attention aux pertes, je vais me mettre dessus ce soir.
 
Edit : J'ai pas pensé à le faire hier, je vais test de lire de PC à PC avec vlc pour voir le rendu également.

Serieux, lire du full hd de bourrin sur un pi, forcement c’est de la merde le résultat.

Il est pas sensé le lire le HD de bourrin avec son truc graphique spécialisé ? Le monsieur a l’air de dire qu’en local USB ça passe sans problème, et que le problème ne serait donc pas lié au circuit graphique.

Me semble que son pc n’a pas de gigabit, ça doit foirer à ce niveau là.

@AnA-l : Comme dis Quercus et moi même, le HD est lu sans aucun problème en local, c’est même magnifique et ça change de mon 24" du  PC bureau! Ce n’est donc pas la partie graphique qui pose problème.

@Glasofruix : En effet, le pc actuel n’a pas de port gigabit. Ce soir je test sur mon vrai PC en Gigabit, je vais voir s’il y a une amélioration (j’espère).

Le Pi est plus limité par sa prise réseau (100Mb max) que par son GPU qui effectivement décode le 1080p sans souci.
Par contre, ce qui me parait bizarre, c’est la qualité d’image dégradée. Selon moi, tu devrais plutôt avoir des saccades et du buffering.
C’est peut-être un paramètre dans XBMC pour streamer de façon fluide en dégradant la qualité quand le flux vidéo est trop important et sature la connexion ?

Bonjour,
Je reviens vers vous.
Ce matin lorsque j'ai connecté mon Raspberry, xbmc s'est mis à jour V12.2. J'ai constaté que la perte de qualité sur l'image n'est plus présent.
Aucun idée réellement pourquoi j'ai eu ce problème car personne en parle.
 
Cependant je vois pas mal de saccade sur les films.
 
Infra :
PC 10/100/1000 <=== Câble Cat5e ===> Raspberry Pi 100M
 
Raspberry ==> PC
root@raspbmc:~# iperf -c 192.168.1.10
------------------------------------------------------------
Client connecting to 192.168.1.10, TCP port 5001
TCP window size: 21.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.199 port 56172 connected with 192.168.1.10 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  53.8 MBytes  44.9 Mbits/sec
root@raspbmc:~#
 
PC ==> Raspberry
C:\Users\toshi>F:\Utilitaires\iperf-2.0.5-2-win32\iperf.exe -c 192.168.1.199
------------------------------------------------------------
Client connecting to 192.168.1.199, TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.10 port 48677 connected with 192.168.1.199 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  75.9 MBytes  63.5 Mbits/sec
C:\Users\toshi>
 
Infra :
PC 10/100/1000 <=== Câble Cat5e ===> Switch 3com 100M <=== Câble Cat5e ===> Raspberry Pi 100M
 
Raspberry ==> PC
root@raspbmc:~# iperf -c 192.168.1.10
------------------------------------------------------------
Client connecting to 192.168.1.10, TCP port 5001
TCP window size: 21.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.199 port 42075 connected with 192.168.1.10 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  50.8 MBytes  42.4 Mbits/sec
root@raspbmc:~#
 
PC ==> Raspberry
C:\Users\toshi>F:\Utilitaires\iperf-2.0.5-2-win32\iperf.exe -c 192.168.1.199
------------------------------------------------------------
Client connecting to 192.168.1.199, TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.10 port 44742 connected with 192.168.1.199 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  75.1 MBytes  62.8 Mbits/sec
C:\Users\toshi>
 
En Connexion direct ou via un switch 100M ne fait pas réellement de différence.
 
mii-tool Raspberry
eth0: negotiated 1000baseT-HD flow-control, link ok
 
 
J'ai réalisé une analyse du débit sur le raspberry afin de savoir combien il reçoit lors de lecture du film
Pour cela, j'ai utilisé l'outil iftop.
Sur mon film de 21Go, je reçois avec un débit de 22Mb en moyenne
Sur mon film de 17Go, je reçois avec un débit de 16Mb en moyenne
 
En comparant le résultat de l'iperf et du débit qu'utilise les films, je possède une très grosse marge tout de même.
Et pourtant il y a des saccades à chaque pique de débit qui ne dépasse jamais les 30MB.
 
Sur le film de 21Go, lorsque j'ai un pique au dessus de 25-26Mb, saccade/cache.
Sur le film de 17Go, lorsque j'ai un pique au dessus de 19-20Mb, saccade/cache.
 
Apparemment c'est la monté du débit rapide qui est mal gérée.
 
2ème Partie 
 
Infra :
PC 10/100/1000 <=== Câble Cat5e ===> Switch 3com 100M <=== Câble Cat5e ===> PC 100 (Zenbook avec adapteur USB/Ethernet)
Et ba la lecture est impeccable ! hmmmm
J'ai test en wifi, c'est pas top mais c'est normal :)
 
PC 1000 => PC 100
C:\Users\toshi>F:\Utilitaires\iperf-2.0.5-2-win32\iperf.exe -c 192.168.1.16
------------------------------------------------------------
Client connecting to 192.168.1.16, TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.10 port 53692 connected with 192.168.1.16 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  89.5 MBytes  75.0 Mbits/sec
 
PC 100 => PC 1000
C:\Users\toshi>F:\Utilitaires\iperf-2.0.5-2-win32\iperf.exe -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.10 port 5001 connected with 192.168.1.16 port 49732
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  82.5 MBytes  69.0 Mbits/sec
 
J'ai test en wifi, c'est pas top mais c'est normal :)
Mais je peux conclure que le débit PC Windows à PC Windows est bien meilleur.
A voir si c'est le pc ou l'os qui fait la différence ?
 
3ème Partie :
Lecture en parallèle de PC à PC et PC à Raspberry.
Aucun changement, cad la lecture est toujours parfaite entre PC à PC et toujours des saccades sur la lecture du Raspberry.
Mais je peux conclure que le problème est lié au matériel Raspberry (mais je suis pas le 1er qui utilise raspberry pour ca), ou son OS, ou XBMC.
 
4ème Partie :
 
uname -a
Linux raspbmc 3.6.11 #2 PREEMPT Wed Mar 13 17:12:47 UTC 2013 armv6l GNU/Linux
 
Perf SD Transcend SDHC 16GB class 10 TS16GSDHC10E
Write/Read
root@raspbmc:~# dd if=/dev/zero of=~/test.tmp bs=500K count=1024
1024+0 records in
1024+0 records out
524288000 bytes (524 MB) copied, 51.0919 s, 10.3 MB/s
root@raspbmc:~# dd if=~/test.tmp of=/dev/null bs=500K count=1024
1024+0 records in
1024+0 records out
524288000 bytes (524 MB) copied, 24.4767 s, 21.4 MB/s
 
Mes recherches continue. Si vous avez également des suggestions à me faire.
 

Juste pour info, faire des comparaison de débit avec iperf n’a pas trop de sens, vu que tu ne teste que le débit brut sans tout ce qui doit tourner en plus pour pouvoir afficher la vidéo.

Sur ce genre de vidéo ou le buffering est quasiment impossible vu la ram nécessaire, les timing sont assez serrés.

Les choix techniques sont un peu différent entre raspbian et xbian, et xbian mets l’accent sur l’économie mémoire. Essaye. Perso, j’ai testé les deux sur du flux rtsp h264 (multi poste freebox) et la xbian a désespérément un décalage de son un poil reloud.

D’ailleurs, j’ai toujours pas de solution pour forcer le port de retour rtsp (comme sur vlc), si quelqu’un a un plan sur xbmc, je suis preneur

LoneWolf
I’m so close of the perfect FBX multiposte player!!

En effet LoneWolf, le iperf était surtout la pour montrer que le débit du réseau local 100M était largement suffisant pour transmettre un fichier vidéo de 20Go sans aucun problème.

Après quelques tests, j’ai réussi à réduire le taux de saccade sur tout le film.

J’ai changé d’OS en passant sur le système OpenELEC et overclocké le raspberry sans augmenter le voltage :
arm_freq 850
gpu_freq  325
sdram_freq 425
force_turbo=1

 

Il y a beaucoup moins de saccade sauf à des moments lorsque les images sont très lourdes.