PROJET AUTOBLOG


Shaarli - Les discussions de Shaarli

Archivé

Site original : Shaarli - Les discussions de Shaarli du 23/07/2013

⇐ retour index

Firefox segfault contenus h.264

lundi 11 mai 2015 à 15:04
Mitsu'liens 11/05/2015
Un truc qui m'énervait ÉNORMÉMENT dernièrement c'était que parfois, au détour d'une page web, Firefox crashait. Plantait. Segfaultait. Bien vilain: Firefox freeze pendant une seconde, et pouf yaplu Firefox. Dans le terminal, juste un "segfault core dumped" qui aide pas vraiment.  J'ai regardé les sites où ça arrivait: Twitter, Vine, Paypal,... ces sites avaient en commun l'intégration de vidéos MP4 avec la balise <video> du HTML 5.  Tiens tiens.

Faut savoir que Firefox n'intègre pas de décodeur H.264: il se repose sur le décodeur matériel si disponible, ou le décodeur du système, au pire il utilise un plugin (openh264) "gentiment" fourni par Cisco pour que Mozilla n'ait pas à payer de licence -ultra coûteuse- pour lire ce format non libre. En dernier recours, les sites utilisent encore le plugin Flash qui dispose d'un décodeur H.264.

Sous GNU/Linux, ça donne souvent la situation suivante:
- Flashplugin plus maintenu, mais sait lire du bon vieux H.264 jusqu'au high profile
- openh264 donc
- le décodage matériel est *tousse* ...  AMD et NVIDIA n'ont pas grand chose à foutre des pilotes pour GNU/Linux, ne parlons même pas de pilote libre, et Intel a un retard assez... ouille
- .. et niveau système c'est le plus souvent gstreamer qui s'en charge

Aaaaaah gstreamer. Vous savez il y a 3 écoles principales:  libavcodec du FFmpeg et VLC etc, mplayer/mencoder, et gstreamer.  Pléthore de logiciels de lecture et encodage reposent sur l'un d'entre eux, parfois plusieurs.

Revenons à Firefox. La lecture se lance une fois, mais en voulant activer le son ou en voulant faire reboucler la lecture, pouf. Je remarque très rapidement qu'en désactivant gstreamer, ça ne plante plus:
>>> media.gstreamer.enabled;false

Du coup Vine fallback sur Flash, forcément. Lequel.. plante. Soit tout de suite, soit après 1 lecture (pas de rebouclage). On a droit au fameux "Désolé, le plugin Flash a planté :(" mais au moins Firefox reste en vie. Zut alors, je pensais qu'openh264 allait prendre le relais, mais non. Il existe une troisième voie:

>>> media.fragmented-mp4.gmp.enabled;true
>>> media.fragmented-mp4.exposed;true

Là Firefox va proposer l'utilisation d'un autre décodeur, donc le plugin Flash n'est plus utilisé. Ah par contre, la vidéo Vine se télécharge, mais.. rien n'est lu. Activons ce greffon:

>>> media.fragmented-mp4.ffmpeg.enabled;true

Eurêka ! Cette fois, la vidéo Vine est correctement lue, le son peut être activé sans problème, et la vidéo reboucle correctement.
Moralité:
- grrrr gstreamer
- grrrr Flash
- VOUS FAITES CHIER À UTILISER H.264 CE FORMAT NON LIBRE BORDEL

Bonus: activer toutes les fonctionnalités restantes sur la page https://www.youtube.com/html5 :
>>> media.mediasource.enabled;true
>>> media.mediasource.mp4.enabled;true

Voilà :)
(Permalink)

Les petits liens d'Alda 11/05/2015
DANS MES BRAS !

J'arrive enfin à lire du 1080p60 sur youtube avec le lecteur HTML5 !

Par contre si je désactive gstreamer j'ai le fallback flash qui se met direct alors que openh264 est listé dans les plugins.

Du coup, ma config :

GStreamer 1.4.5 (ou 0.10.36, aucune idée de celui que firefox prend)
Firefox 38.0.5b1

media.gstreamer.enabled true
media.fragmented-mp4.exposed true
media.fragmented-mp4.ffmpeg.enabled true
media.fragmented-mp4.gmp.enabled true
media.mediasource.enabled true
media.mediasource.webm.enabled true
media.mediasource.mp4.enabled true
(Permalink)

Mitsu'liens > Les petits liens d'Alda 12/05/2015
Ah je crois que je vois: Youtube propose toujours encore Flash par défaut, même si côté HTML 5 tout est prêt (mis à part le 720p et 1080p WebM qu'il met toujours un peu de temps à proposer sur les nouvelles vidéos, car c'est du VP9).

https://www.youtube.com/html5 :
Normalement en cliquant sur le bouton "Demander l'utilisation du lecteur HTML5" sur la page, Flash ne devrait pas être proposé. Pour voir ça, tu peux activer le "click-to-play" pour les plugins externes: si pas de barre en haut ou d'encadré gris demandant l'activation du plugin Flash: c'est tout bon !

Techniquement: le cookie "PREF" (domaine .youtube.com path /).
Avec HTML 5: f5=30&f2=40000000&f1=50000000
Sans HTML 5: f1=50000000&f5=30

C'est un cookie de session, malheureusement.
(Permalink)

Les petits liens d'Alda 12/05/2015
C'était déjà activé depuis longtemps ça, mais j'ai quand même le fallback qui se met en route quand je désactive gstreamer.

Mais bon, de mon côté j'ai pas les mêmes plantages que toi en h264 et au niveau de la consommation CPU Chromium fait pareil que Firefox en HTML5 (~35%, alors que pour la même vidéo mplayer totem et vlc sont à ~20%)
(Permalink)

Nekoblog.org :: Marque-pages 13/05/2015
Haan coool. Vais tester ça, j'en étais resté à désactiver gstreamer. Merci. :)

Je garde une trace des réglages.

media.gstreamer.enabled : false
media.fragmented-mp4.gmp.enabled : true
media.fragmented-mp4.exposed : true
media.fragmented-mp4.ffmpeg.enabled : true
(Permalink)