Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/07/2009, à 01:50

billou

Halte au Flash ! Participez !

Hello tout le monde, j'ouvre un petit topic pour la correction de certains scripts javascript pour l'extension greasmonkey.

Pour ceux (et celles) qui se demande, l'utilisation de scripts avec cette extension permet d'influencer le comportement d'une page... Comme par exemple remplacer les horrible balises Flash par une jolie balise lisible, via un plugin libre utilisant mplayer, vlc, etc...

C'est là le point principal abordé, certains scripts existent afin de ne plus avoir besoin de flash lors d'une lecture de vidéos, mais sont soit imparfaits, incomplets, ou ne fonctionnent plus.

Édit :

Actuellement, le projet doit être relancé, j'en appelle à votre bon cœur et votre temps libre, pour en faire profiter toute la communauté !

Il sera désormais divisé en fonction des sites supportés, chaque personne pouvant y apporter sa contribution, j'éditerais le sujet au fur et à mesure !

Sont recherchés activement, des contributeurs pour contribuer aux scripts, pour les sites suivants :

Youtube [OK], Dailymotion [HELP], Megavidéo [HELP], Wat.TV [HELP]


Sont également recherchées, des personnes susceptibles de pouvoir créer une extension Firefox à partir des script pour Greasmonkey, une astuce à déjà été donnée dans la documentation ici mais celle ci est incomplète, les commandes des scripts demeurent inaccessibles de cette façon, il faudrait donc adapter l'extension pour pouvoir utiliser ces commandes comme cela peut être fait avec GreasMonkey


J'ai modifié et corrigé le script HQ-Tube, afin de pouvoir visionner des vidéos sur Youtube, sans Flash, tout en laissant le choix de la qualité&du format vidéo, à l'utilisateur, les commandes du script ont par ailleurs été traduite, et il fonctionne très bien avec les plugins gecko-mediaplayer, mozilla-mplayer, vlc-mozilla, totem-mozilla.

// ==UserScript==
// @name           Youtube-Gecko-Mediaplayer
// @namespace      Youtube-Gecko-Mediaplayer
// @description    Lire les vidéos sur le site Youtube, sans flash-player
// @include        http://*youtube.*/watch?*
// @info           Script HQ-Tube, modifié et traduit par Camille D.
// @contact        camille[@]artisanat-numerique.fr                
// @URL            http://artisanat-numérique.fr
// @licence        GPL V3
// ==/UserScript==

var defaultWidth = 560;

var defaultHeight = 350; 

var mimetype = 'video/quicktime';

  

var width = GM_getValue('mplayer_width', defaultWidth);

var height = GM_getValue('mplayer_height', defaultHeight);

var lock = GM_getValue('mplayer_lock', true);

var format = GM_getValue('mplayer_format', 'default');





var player = document.getElementById('watch-player-div');

var video_info = unsafeWindow.yt.getConfig('SWF_ARGS');



if (player == null || video_info == null) {

  alert('HQTube needs updating, it is no longer compatible.');

  return;

}



// http://blog.jimmyr.com/High_Quality_on_Youtube_11_2008.php

var fmt = '';

switch (format) {

  case '6':

    if (video_info.fmt_map) {

      fmt = '&fmt=6';

      break;

    }

  case '18':

    fmt = '&fmt=18';

    break;

}

var src = 'http://youtube.com/get_video?'+

            'video_id='+video_info.video_id+

            '&t='+video_info.t+

            fmt;



var nohover_border = '3px dashed white';

var hover_border = '3px dashed orange';

var drag_border = '3px dashed red';



player.innerHTML = 

  '<div id="resize_left" style="float:left;border-left:'+nohover_border+';height:' + height + 'px;width:0;margin-left:-8px;cursor:w-resize;"></div>' +

  '<div id="resize_right" style="float:right;border-right:'+nohover_border+';height:' + height + 'px;width:0;margin-right:-8px;cursor:e-resize;"></div>' +

  '<embed id="new_player" style="float:left;margin-bottom:4px;" src="' + src + '"' +

  ' width="' + width + '"' +

  ' height="' + height + '"' +

  ' autoplay="yes"' + 

  ' loop="no"' +

  ' type="'+mimetype+'"></embed>'+

  '<div id="resize_bottom" style="clear:left;height:0;border-bottom:'+nohover_border+';cursor:s-resize;"></div>'+

  '<div id="toolbar" style="border:1px solid #ccc;line-height:20px;margin-top:10px;padding:5px;">' +

  ' <a href="'+src+'" style="float:right">Download</a>'+

  //' <button id="fs_button">Fullscreen</button>'+

  ' Format: '+

    (fmt == '' ? 'default (~200kbps mono)' + 

      (video_info.fmt_map ? ' HQ available' : ''): '')+

    (fmt == '&fmt=6' ? 'HQ (~900kbps mono)' : '')+

    (fmt == '&fmt=18' ? 'MP4 (~512kbps stereo)' : '')+

  ', Length: '+

    Math.floor(video_info.l/60)+':'+

    (video_info.l%60 < 10 ? '0' : '')+(video_info.l%60)+

  '</div>';



var new_player = document.getElementById('new_player');

/*

var fs_button = document.getElementById('fs_button');

fs_button.addEventListener('click', function(event) {

  new_player.video.fullscreen = true;

}, false);

*/

var bars = {

  'left': document.getElementById('resize_left'),

  'right': document.getElementById('resize_right'),

  'bottom': document.getElementById('resize_bottom')

};



var dragging = false;

var mousedownX = 0;

var mousedownY = 0;



var baseColumn = document.getElementById('baseDiv');

var leftColumn = document.getElementById('watch-this-vid');



var resize = function() {



  new_player.style.width = width+'px';

  baseColumn.style.width = 875-480+width+'px';

  leftColumn.style.width = width+'px';



  new_player.style.height = height+'px';

  bars.left.style.height = height+'px';

  bars.right.style.height = height+'px';

};

resize();





var show = function() {



  bars.left.style.borderLeft = hover_border;

  bars.right.style.borderRight = hover_border;

  bars.bottom.style.borderBottom = hover_border;

};

var hide = function() {



  bars.left.style.borderLeft = nohover_border;

  bars.right.style.borderRight = nohover_border;

  bars.bottom.style.borderBottom = nohover_border;

};

var startDragging = function() {



  bars.left.style.borderLeft = drag_border;

  bars.right.style.borderRight = drag_border;

  bars.bottom.style.borderBottom = drag_border;

};

var stopDragging = function() {



  GM_setValue('mplayer_width', width);

  GM_setValue('mplayer_height', height);

  dragging = false;

  show();

};

  

for (var i in bars) {



  (function() {



    // need a enclosed variable

    var key = i;



    bars[key].addEventListener('mouseover', function(event) {

      if (!dragging) {

        show();

      }

    }, false);

    bars[key].addEventListener('mouseout', function(event) {

      if (!dragging) {

        hide();

      }

    }, false);

    bars[key].addEventListener('mousedown', function(event) {

      dragging = key;

      mousedownX = event.clientX;

      mousedownY = event.clientY;

      startDragging();

    }, false);



  }());



}



document.body.addEventListener('mouseout', function(event) {

  if (dragging && 

    (event.relatedTarget === null 

     || event.relatedTarget.nodeName == 'HTML'

     || event.relatedTarget.nodeName == 'xul:slider'

     || event.relatedTarget.nodeName == 'scrollbar')) {



    stopDragging();

  }

}, false);

document.body.addEventListener('mouseup', function(event) {

  if (dragging) {

    stopDragging();

  }

}, false);

document.body.addEventListener('mousemove', function(event) {



  if (dragging == 'left') {

    var ratio = width/height;

    width += Math.round((mousedownX - event.clientX)*2);

    mousedownX = event.clientX;

    if (lock) {

      height = Math.round(width / ratio);

    }

    resize();

  }

  else if (dragging == 'right') {

    var ratio = width/height;

    width -= Math.round((mousedownX - event.clientX)*2);

    mousedownX = event.clientX;

    if (lock) {

      height = Math.round(width / ratio);

    }

    resize();

  }

  else if (dragging == 'bottom') {

    var ratio = width/height;

    height -= mousedownY - event.clientY;

    mousedownY = event.clientY;

    if (lock) {

      width = Math.round(ratio * height);

    }

    resize();

  }

}, false);



GM_registerMenuCommand('Bloquer le ratio 4/3 - 16/9 (defaut)', function() {



  lock = true;

  GM_setValue('mplayer_lock', lock);



});



GM_registerMenuCommand('Débloquer l\'aspect/ratio 4/3 - 16/9', function() {



  lock = false;

  GM_setValue('mplayer_lock', lock);



});



GM_registerMenuCommand('Restaurer l\'aspect/ratio original', function() {



  width = defaultWidth;

  height = defaultHeight;



  GM_setValue('mplayer_width', width);

  GM_setValue('mplayer_height', height);



  resize();



});



GM_registerMenuCommand('Utiliser le format flv basse qualité (~20Ko/s)', function() {



  GM_setValue('mplayer_format', 'default');

  location.reload();



});

GM_registerMenuCommand('Utiliser le format flv-mono moyenne qualité (~110Ko/s)', function() {



  GM_setValue('mplayer_format', '6');

  location.reload();



});



GM_registerMenuCommand('Utiliser le format MP4-stereo HD (~64Ko/s)', function() {



  GM_setValue('mplayer_format', '18');

  location.reload();



});





// use the "Related Videos" container to construct next/prev links

var checkRelatedVideos = null;

var title = document.title.replace(/^YouTube - /, '');

var watchRelatedVideosBody = document.getElementById('watch-related-vids-body');



if (watchRelatedVideosBody == null || title == null) {



  alert('HQTube needs updating, can not find the related videos');

  return;

}



checkRelatedVideos = setInterval(function() {



  if (watchRelatedVideosBody.innerHTML.search(/Loading\.\.\./) != -1) {

    GM_log('related not loaded yet, waiting...');

    return;

  }

  GM_log('constructing next/prev');



  clearInterval(checkRelatedVideos);

  var related = watchRelatedVideosBody.getElementsByTagName('img');

  // |one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eightteen|ninteen

  var tailPatterns = [

    '(\\d+)\\s*of\\s*\\d+',

    '(\\d+)\\s*\\/\\s*\\d+',

    'part\\s*(\\d+)',

    '(\\d+)$'

  ];

  var patternType = null;

  var titleParts = null;

  for (var i = 0; i < tailPatterns.length; i++) {

     titleParts = title.match(new RegExp('^(.*)'+tailPatterns[i], 'i'));

     if (titleParts) {



       patternType = i;

       break;

     }

  }

  if (patternType == null) {



    GM_log('could not determin series type');

    return;

  }



  

  var headPattern = titleParts[1].replace(/([\(\)\[\]\{\}|*?+^$\\])/g, '\\$1');

  //GM_log(headPattern);



  var pattern = new RegExp('^('+headPattern+')'+tailPatterns[patternType], 'i');



  for(var i = 0; i < related.length; i++) {



    var parts = related[i].title.match(pattern);

    if (parts) {



      var direction = '';



      if (parts[2] == parseInt(titleParts[2])+1) {



        direction = 'Next';

      }

      else if (parts[2] == titleParts[2]-1){



        direction = 'Prev';

      }



      if (direction) {



        var newLink = document.createElement('a');

        var toolbar = document.getElementById('toolbar');

        newLink.href = related[i].parentNode.href;

        newLink.title = related[i].title;

        newLink.innerHTML = direction;

        newLink.style.cssFloat = 'right';

        newLink.style.paddingLeft = '5px';

        toolbar.insertBefore(newLink, toolbar.firstChild);



      }

    }

  }



}, 1000);

Dernière modification par billou (Le 27/12/2009, à 00:28)

Hors ligne

#2 Le 25/12/2009, à 23:48

billou

Re : Halte au Flash ! Participez !

J'apporte une contribution à ce topic dont tout le monde se fout royalement, alors que dans le café, y'a pas un topic sans une plainte sur une vidéo nécessitant flash. mad

J'ai corrigé le script pour Youtube, et en ait fait une extension pour firefox !

Installez tout d'abord le plugin vidéo gecko-mediaplayer

Puis installez le XPI pour firefox : http://steelix.org/files/youtubegeckomediaplayer.xpi

Et voilà... Vous pourrez vous passer de flash sur youtube sans souci, sauf que toutes les options accessibles normalement via greasmonkey (commandes de scripts, pour choisir la qualité) sont inaccessibles !


Maintenant si ça en tente certains de s'occupper du script MPmotion... Je ne serais pas contre un coup de main roll

Dernière modification par billou (Le 27/12/2009, à 00:32)

Hors ligne

#4 Le 26/12/2009, à 20:30

dwan

Re : Halte au Flash ! Participez !

Bonjour

Merci pour cette chouette astuce ! Ça fonctionne impec !


Auto-hébergé !
HP dv6164ea

Hors ligne

#5 Le 26/12/2009, à 23:15

Kanor

Re : Halte au Flash ! Participez !

Billou tu veux que je déplace dans vos développement libre ?

Hors ligne

#6 Le 26/12/2009, à 23:19

projexa

Re : Halte au Flash ! Participez !

merci billou big_smile


Penser est difficile, c'est pourquoi la plupart se font juges.
mon album fleur : https://picasaweb.google.com/109666919152955060370
ma passion les marche de l'entre Sambre et Meuse: https://picasaweb.google.com/1096669191 … breEtMeuse

Hors ligne

#7 Le 27/12/2009, à 00:09

billou

Re : Halte au Flash ! Participez !

Oui Kanor, s'il te plait, ça aura peut être un peu plus d'impact, pour d'éventuelles contributions smile

Dernière modification par billou (Le 27/12/2009, à 00:09)

Hors ligne

#9 Le 27/12/2009, à 22:22

projexa

Re : Halte au Flash ! Participez !

ho que si mais trop new beet en prog pour être d'une quelconque aide désoler


Penser est difficile, c'est pourquoi la plupart se font juges.
mon album fleur : https://picasaweb.google.com/109666919152955060370
ma passion les marche de l'entre Sambre et Meuse: https://picasaweb.google.com/1096669191 … breEtMeuse

Hors ligne

#10 Le 27/12/2009, à 22:32

Emralegna

Re : Halte au Flash ! Participez !

Salut,

Le sujet étant « Halte au Flash » je me permet d'intervenir malgré le risque de hors sujet, mais je me demandais s'il n'y a pas une alternative qui fonctionne pour Konqueror ?

Firefox étant trop dépendant à Gtk+ au niveau de l'interface pour être correctement intégré à KDE, j'attends les futurs versions plus indépendantes.

Merci.

Hors ligne

#11 Le 27/12/2009, à 22:35

Zakhar

Re : Halte au Flash ! Participez !

Excellente initiative.

Je veux bien regarder un peu si je peux aider pour d'autres sites, en effet, j'ai l'intention de résister le plus longtemps possible à l'horrible Flash sur mon Karmic tout neuf.

Billou, tu as un lien vers un tuto expiquant comment on fait une extension Firefox, ainsi qu'un peu plus de documentation sur ton script.

En effet... la documentation est essentielle si tu veux qu'un projet libre vive wink
Je t'assure, même pour toi-même, lorsque tu relis un truc que tu as fait il y a quelques mois, tu as vite tendance à avoir totalement oublié comment tu avais fait, les difficultés, les solutions, etc...

Et peut-être aussi, pour Firefox 3.5 il y a moyen de faire tourner le truc sans AUCUNE extension vu que Firefox 3.5 possède la balise <video> du html 5.

Dernière modification par Zakhar (Le 27/12/2009, à 22:36)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#12 Le 27/12/2009, à 22:35

atichu

Re : Halte au Flash ! Participez !

Alors moi je te soutien avec le coeur... car l'informatique et moi >-<


Je ne suis pas un geek ni un informaticien mais j'aime linux/ubuntu.
acer aspire5741G (unity 12.04))+une vieillebousse(xfce 12.04)
+teste de la version instable

Hors ligne

#13 Le 27/12/2009, à 22:36

Kanor

Re : Halte au Flash ! Participez !

Emralegna a écrit :

Firefox étant trop dépendant à Gtk+ au niveau de l'interface pour être correctement intégré à KDE, j'attends les futurs versions plus indépendantes.

Pour info l'interface de firefox n'est pas en gtk

Hors ligne

#14 Le 27/12/2009, à 22:41

Emralegna

Re : Halte au Flash ! Participez !

Je sais, mais ça importe peu il est quand même trop dépendant de Gtk+ et mal intégré dans un environnement non Gtk+ (boites de dialogues, etc) ; et puis ça n'est pas le sujet.

Hors ligne

#15 Le 27/12/2009, à 22:58

billou

Re : Halte au Flash ! Participez !

Emralegna a écrit :

Salut,

Le sujet étant « Halte au Flash » je me permet d'intervenir malgré le risque de hors sujet, mais je me demandais s'il n'y a pas une alternative qui fonctionne pour Konqueror ?

Merci.

Il me semble que les scripts GreasMonkey peuvent être utilisés d'une façon ou d'une autre sur pas mal de navigateurs, tels qu'opéra ou konkerror

Jette un oeil ici : http://hwi.ath.cx/twiki/bin/view/Neuralyte/GrimeApe


Zakhar a écrit :

Excellente initiative.

Je veux bien regarder un peu si je peux aider pour d'autres sites, en effet, j'ai l'intention de résister le plus longtemps possible à l'horrible Flash sur mon Karmic tout neuf.

Super, ta participation est évidemment la bienvenue. smile

Zakhar a écrit :

Billou, tu as un lien vers un tuto expliquant comment on fait une extension Firefox, ainsi qu'un peu plus de documentation sur ton script.

En effet... la documentation est essentielle si tu veux qu'un projet libre vive wink
Je t'assure, même pour toi-même, lorsque tu relis un truc que tu as fait il y a quelques mois, tu as vite tendance à avoir totalement oublié comment tu avais fait, les difficultés, les solutions, etc...

Pour le tutoriel en ce qui concerne les extensions Firefox, regarde ceci : http://xulfr.org/wiki/Extensions

Pour ce qui concerne le premier script, en fait j'ai simplement repris ce dernier, appliqué une correction à la volée trouvée sur un forum en anglais, puis j'ai vu qu'il subsistait quelques problèmes, j'ai donc changé la taille du cadre vidéo, et la page s'est affichée à nouveau correctement. smile
Pour le reste, me suffisait juste à retrouver les commandes en anglais, et les traduire, pour franciser le script.
J'ai pas vraiment de documentation pour ce script, mais un wiki va être mis en place, et un groupe de travail existe déjà (si ça te dit de le rejoindre...? smile )

D'ailleurs, concernant les bases, ce site http://userscripts.org/ regorge de scripts, pouvant êtes étudiés, modifiés, et adaptés, pour le but recherché. smile


Zakhar a écrit :

Et peut-être aussi, pour Firefox 3.5 il y a moyen de faire tourner le truc sans AUCUNE extension vu que Firefox 3.5 possède la balise <video> du html 5.

Là par contre, c'est impossible, pour le moment Firefox ne gère que les formats Vorbis et Théora.

Hors ligne

#16 Le 27/12/2009, à 23:20

bishop

Re : Halte au Flash ! Participez !

Merci billou! Ç'est impeccable.
J'espère qu'une moindre utilisation du flash limitera les gels fréquents de mon système.


La plus grande surprise que puisse faire un con c'est de faire une pause.

Hors ligne

#17 Le 28/12/2009, à 00:03

inkey

Re : Halte au Flash ! Participez !

Pas mal du tout le projet big_smile .
Je rajouterai bien Vimeo dans les sites ou un plugin serait intéressant  big_smile .

Hors ligne

#18 Le 28/12/2009, à 00:05

billou

Re : Halte au Flash ! Participez !

Ça m'avait également effleuré l'esprit, si ça te tente de t'occuper de celui là, pas de problèmes wink

bishop => Petit hors sujet, j'ai parcouru ton blog, le dual pannel dans nautilus, c'est stable sous Karmic?

Dernière modification par billou (Le 28/12/2009, à 00:06)

Hors ligne

#19 Le 28/12/2009, à 00:32

bishop

Re : Halte au Flash ! Participez !

billou écrit :
bishop => Petit hors sujet, j'ai parcouru ton blog, le dual pannel dans nautilus, c'est stable sous Karmic?

Plus aucuns PBs avec le dual pannel depuis un certain temps. Et c'est assez sympa quand tu bosses...
Note qu'après l'install, un redémarrage du sytème peut être nécessaire pour que tout fonctionne correctement.

Dernière modification par bishop (Le 28/12/2009, à 10:31)


La plus grande surprise que puisse faire un con c'est de faire une pause.

Hors ligne

#20 Le 28/12/2009, à 00:38

Julientroploin

Re : Halte au Flash ! Participez !

Incapable d'aider, mais je vous soutiens de tout coeur (et ce message me permettra de vous suivre tongue )


Fixe : Core i5, 8GoRAM, NVidia 9800GT Silent => Ubuntu 22.04
Portable Compaq Presario2158 : AthlonXP-M2400+, 1GoRAM, ATI Radeon mobility320M => Primtux
https://launchpad.net/~julienmbpe

Hors ligne

#21 Le 28/12/2009, à 16:43

Zakhar

Re : Halte au Flash ! Participez !

billou a écrit :
Zakhar a écrit :

Et peut-être aussi, pour Firefox 3.5 il y a moyen de faire tourner le truc sans AUCUNE extension vu que Firefox 3.5 possède la balise <video> du html 5.

Là par contre, c'est impossible, pour le moment Firefox ne gère que les formats Vorbis et Théora.

Ah ben oui... évidemment, formats libres oblige. Youtube reste de la vidéo en flv (ou mp4 ?) qu'on utilise flash ou pas.


billou a écrit :

bishop => Petit hors sujet, j'ai parcouru ton blog, le dual pannel dans nautilus, c'est stable sous Karmic?

Superbe... je mets ça dès ce soir !.. Est-ce que quelqu'un a suggéré ça pour la Lucid (ou en upsteam à la team gnome-nautilus ?)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#22 Le 13/01/2010, à 19:40

Ras&#039;

Re : Halte au Flash ! Participez !

C'est effectivement interessant comme initiative, mais le problème c'est qu'il n'y a pas que youtube...

Faut que ça marche à minima pour dailymotion, veoth et megavideo...


( je ne fais pas le mec aigri, hein, j'explique juste le succès limité de ton topic, qui est une très bonne initiative par ailleurs )


Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
 
Les types awesome n'ont rien à prouver. À personne.
'k bye là

Hors ligne

#23 Le 13/01/2010, à 20:54

magestik

Re : Halte au Flash ! Participez !

C'est vraiment cool. Le seul problème c'est qu'il n'y a plus les controle de la vidéo. Si tu as besoin d'aide envoie moi un MP wink

Hors ligne

#24 Le 13/01/2010, à 21:42

Kanor

Re : Halte au Flash ! Participez !

Lien venant du sacro saint TDCT
http://paulirish.com/work/gordon/demos/
ça peut étre bien pratique pour votre projet wink

Hors ligne

#25 Le 20/04/2010, à 14:48

Grünt

Re : Halte au Flash ! Participez !

Emralegna a écrit :

Salut,

Le sujet étant « Halte au Flash » je me permet d'intervenir malgré le risque de hors sujet, mais je me demandais s'il n'y a pas une alternative qui fonctionne pour Konqueror ?

Firefox étant trop dépendant à Gtk+ au niveau de l'interface pour être correctement intégré à KDE, j'attends les futurs versions plus indépendantes.

C'est vrai que rendre ça dépendant du navigateur, ça serait cool. En ré-écrivant les pages sur un proxy transparent, par exemple. Idée à creuser smile


Red flashing lights. I bet they mean something.

Hors ligne