Freeplayer : VLC plante au moment de lancer un film

Bonjour à tous

Mon fournisseur d’accès Internet est Free et j’utilise donc une Freebox en tant que routeur pour avoir accès à leurs services.

Pour pouvoir lire des films sur ma TV depuis mon ordinateur, j’ai installé sous ma Squeeze/Sid le paquet “freeplayer” qui ne fait qu’installer proprement le logiciel Freeplayer fourni par Free. C’est en fait un script qui lance VLC avec les options qui vont bien pour diffuser les films sur la Freebox.

Donc tout fonctionne plutôt bien : je lance la commande “freeplayer” dans une console pour créer le serveur Freeplayer sur mon PC, je peux alors naviguer sur mon PC depuis la TV, voir la liste de mes films stockés sur mon PC, mais au moment où je lance un film, VLC se ferme d’un coup et j’obtiens le message suivant dans ma console PC :

[mpeg2video @ 0x7f658800d9e0] removing common factors from framerate [mpeg4 @ 0x14f3ca0] Invalid and inefficient vfw-avi packed B frames detected [mpeg2video @ 0x13c46f0] removing common factors from framerate Erreur de segmentation

J’ai cherché sur Internet, je n’ai trouvé que très peu de réponses exploitables, tout ce que j’ai essayé n’a pas fonctionné. J’ai installé des paquets de codecs supplémentaires mais rien à faire.

Est-ce que quelqu’un aurait une idée ??

Merci à vous

EDIT : aucun problème en revanche pour lire des musiques .mp3 par exemple, donc le système fonctionne, c’est juste un problème de codecs, sûrement de paramétrage, mais je n’arrive pas à comprendre d’où peut venir le problème précisément.

C’est bon, j’ai trouvé !

Grâce à ce forum, j’ai compris qu’il fallait chercher du côté des options de VLC, plus précisément de ffmpeg : mandrivalinux-online.org/for … -greve.php

J’ai alors affiché l’aide complète de VLC avec :

Et là j’ai vu la chose suivante :

[quote] Décodeur audio/vidéo FFmpeg
Encodeurs/Décodeurs divers fournis par la bibliothèque FFmpeg. Cela inclut (MS)MPEG4, DivX, SV1, H261, H263, H264, WMV, WMA, AAC, AMR, DV, MJPEG et d’autres codecs
[…]
Encodage:
–sout-ffmpeg-bframes
Ratio d’images B[/quote]

J’ai donc rajouté cette option en mettant arbitrairement “” à 10 dans le script de Freeplayer (/usr/bon/vlc-fbx), pour tester, et ça fonctionne ! :smiley:

En revanche je n’ai absolument aucune idée de ce que fait cette option concrètement ! Je vais me renseigner sur le sujet mais si vous savez m’expliquer à quoi elle sert, j’en serais ravi.

EDIT : une simple recherche “bframe” sur Internet et le premier site explique très simplement ce que c’est : ripp-it.fr/glossaire/mot-B-f … outes.html

A noter que j’ai toujours le message d’erreur, mais que VLC ne se ferme plus.

Dans un flux video, tu as des images clefs codées complètement, et entre ces images, les images sont calculées à partir de ces images clefs. L’option indique le nombre d’images entre chaque image clef. C’est une option d’encodage, ce nombre est variable quand on analyse une video. Par exemple dans celle encodée par mencoder, il varie entre 1 et 250… 250 en général)
Tu peux également prévoir un ratio Images clefs/images predites par sout-ffmpeg-keyint. Mias la doc est sommaire.

Le pbm est que c’est une option d’encodage…

Donc dans mon cas, est-ce qu’il vaut mieux mettre un nombre élevé ou peu élevé en paramètre ? Si j’ai bien compris, un nombre peu élevé permet de demander moins de ressources au CPU car il aura “moins besoin” d’encoder entre 2 images clés, en revanche la compression sera d’autant plus faible et donc la taille du fichier final plus élevé.

Ainsi, dans le cas d’un réseau, mieux vaut mettre un nombre élevé afin de mieux compresser en local dans le but d’économiser de la bande passante, c’est bien ça ? (Dans mon cas je suis en local donc la bande passante importe peu, mais je parle de manière théorique)

EDIT : ou alors c’est l’inverse, c’est-à-dire que plus on augmente le nombre en paramètre, plus on aura d’images entre 2 images clés, et donc plus la qualité sera meilleure mais avec une taille finale plus grande pour le fichier ?

le pbm est que je ne vois pas où il y a de l’encodage ici. En tout cas, 10 me parait peu compte tenu de ce que j’ai vu.

Bon et bien j’ai encore trouvé : onlinehelp.avs4you.com/FR/Append … bvops.aspx
C’est très bien expliqué sur cette page. Plus le nombre est élevé, plus le nombre d’images B entre 2 images clés est élevé, et donc la qualité est moindre, car on va en fait augmenter le nombre d’images de qualité moindre. Donc pour avoir une qualité optimale, il faut mettre le moins d’images B possible, et donc mettre le paramètre à “1”.

L’encodage se trouve (indirectement) dans le script “/usr/bin/vlc-fbx.sh” qui invoque VLC avec différentes options de compression pour rediffuser le flux du film du PC vers la Freebox, qui se chargera à son tour de décompresser le flux et l’afficher sur la TV.

Ok, il y a 3 types d’images donc et les images B s’intercales entre 2 images calculées le tout entre 2 images clefs. Les 250 concernent le nombre d’images B+P dans ton lien, rien à voir donc. Essaye B=2 ou 3.