Journal google patch VLC

Posté par  .
Étiquettes :
0
28
juin
2005
Bon, tout le monde connait Google ?
tout le monde connait il aussi google video ? http://video.google.com(...) (qui permet pour ceux qui ne connaissent pas de rechercher des videos :) eh oui)
et bien maintenant, google distribue Google Video Viewer cf http://video.google.com/video_download.html(...) qui est basé sur ...
VLC et voici le patch : http://code.google.com/patches.html(...)

bon, par contre, le truc marrant, c'est qu'ils ont réussit à faire d'un logiciel multiplateforme un logiciel windows only (mais qui tourne avec firefox aussi)
  • # vip

    Posté par  (site web personnel) . Évalué à 7.

    La version distribuée est une version allegée et "bridée" de VLC.
    Pour le "bridée":
    http://nanocrew.net/?p=114(...)
    Pour le allegée, il semblerait d'après un mail sur la ml de vlc-devel que la plupart des codecs ne sont pas supportés (désactivé à la compilation).

    VLC à le vent en poupe ces derniers temps
    • [^] # Re: vip

      Posté par  (site web personnel) . Évalué à 4.

      Sous windows, je suis d'accord (un lecteur gpl) mais sous linux... qu'apporte-t-il ?
      • [^] # Re: vip

        Posté par  (site web personnel) . Évalué à 5.

        ... surtout quand on voit ça dans la liste des fonctionalités :
        GTK+ (unmaintained)
        Gnome (unmaintained)
        QT (unmaintained)
        KDE (unmaintained)

        Non, je suis bien content avec mplayer et xine, franchement.
        • [^] # Re: vip

          Posté par  . Évalué à 4.

          et mplayer et xine, ils permettent de faire du streaming comme VLC ? (pas tapper, j'utilise xine mais j'ai jamais regardé si on pouvait difuser des flux)
          • [^] # Re: vip

            Posté par  (site web personnel) . Évalué à 3.

            "comme" je sais pas, mais en tous cas j'ai déja joué et/ou enregistré des streams mms:// avec mplayer/mencoder.
            • [^] # Re: vip

              Posté par  (site web personnel) . Évalué à 3.

              xine sait lire un flux, mais il ne sait pas diffuser un flux
              • [^] # Re: vip

                Posté par  . Évalué à 1.

                cat ma_video.mpg | nc 192.168.1.1 1234 et voilà la diffusion unicast.

                Pour le multicast.... j'ai pas vraiment cherché :D
                • [^] # Re: vip

                  Posté par  (site web personnel) . Évalué à 2.

                  Euh... c'est pas hyper standard ton truc mais c'est vrai que j'y avais même pas pensé :). Pour le transfert de fichier, ça doit marcher aussi, je suppose. Tu peux utiliser openssl pour encrypter tout ce que tu veux en plus.

                  C'est bien la peine de se casser pour faire des protocoles mms, ftp, https, etc... alors qu'utiliser netcat suffit. :)
                • [^] # Re: vip

                  Posté par  (site web personnel) . Évalué à -1.

                  t'es un gagnant toi. T'es grand, je suis sûr que tu arrivera à trouver pourquoi tant de monde utilise autre chose que ça
        • [^] # Re: vip

          Posté par  (site web personnel) . Évalué à 6.

          tiens, xine/mplayer, ils savent lire un flux vidéo de n'importe où (comprendre, dvd, fichier, réseau, acquisition v4l, ...), le transcoder, l'afficher à l'écran et le renvoyer sur le réseau (IPv4/v6, http, udp unicast/multicast, ...), en même temps ?

          C'est fort pratique quand tu veux faire un effet 'darty' avec le même film sur plusieurs ordinateurs, ou que tu veux lire un dvd depuis une machine sans lecteur DVD tout en pouvant utiliser les sous titres...

          Je suis d'accord pour dire que niveau interface c'est pas ce qui se fait de mieux, mais vlc est aussi le seul lecteur video GTK que je connaisse qui a une interface pour pda à peu prêt utilisable.
          • [^] # Re: vip

            Posté par  . Évalué à 3.

            enfin la c'est plus un player ....
            IL faut mieux faire une chose et la faire bien que faire plein de chose et les faire mal (j'ai rien contre vlc hein ;)).
            La tu utilise gstreamer , et mplayer pour lire a partir d'un flux muticast non?
            De toute facon tu devrais bien lancer le player sur les autres ordi ; donc que le maitre ait 2 programmes de lancer plutot qu'un ....
            • [^] # Re: vip

              Posté par  (site web personnel) . Évalué à 2.

              l'interet est dans ce que tu apelles le maitre... mplayer ne sait pas diffuser un flux, et xine non plus.
            • [^] # Re: vip

              Posté par  . Évalué à 2.

              IL faut mieux faire une chose et la faire bien que faire plein de chose et les faire mal
              ca m'enerve cette philosophie des 70's, c'est un enfoncage de porte ouverte en puissance et en force.

              il vaut mieux faire plein de choses bien qu'une seule bien.

              il vaut mieux faire plein de choses bien qu'une seule mal.

              etc. ya beaucoup de declinaisons possible.
              • [^] # Re: vip

                Posté par  . Évalué à 3.

                et non, on ne peut pas tromper mille fois mille homme.
                enfin si.. on peut tromper mille fois mille homme mais on ne peut pas tromper mille fois mille hommes.

                t'aurais pas un chewing gum?
              • [^] # Re: vip

                Posté par  . Évalué à 4.

                oui et dans le meme style ; faut mieux faire des miracles plutot que de rien faire. On peut aller loin comme ca .
                Si tu prefere : il faut mieux se concentrer sur une chose a la fois , et la faire plutot que de disperser son esprit sur 40 trucs en meme temps.
                Ensuite si toi tu arrive a gerer 40 trucs en meme temps comme si tu en gerer qu'un seul c'est bien ; mais ca semble pas vraiment etre le cas de tout le monde moi le premier.
                <ceci n'est qu'un exemple largement exagere>
                Donc sur un logiciel si les developpeur developpe le decodage des videos , la partie de transmission des flux sur tels peripherique , l'affichage sur l'ecran , l'optimisation des calculs par l'utilisation des gpu , et de faire le cafe, le the , et le chocolat, ainsi que l'encryption des differents flux .
                Et de l'autre cote tu as un logiciel qui s'occupe "juste" du decodage des videos et de l'affichage sur un ecran.
                Qu'on donne aux projet les meme delais et les memes moyens .
                Tu prendrais quoi toi pour regarder une video? moi je crois que j'ai choisi.
                </ceci n'est qu'un exemple>
                • [^] # Re: vip

                  Posté par  . Évalué à 1.

                  Ensuite si toi tu arrive a gerer 40 trucs en meme temps comme si tu en gerer qu'un seul c'est bien ; mais ca semble pas vraiment etre le cas de tout le monde moi le premier.
                  moi non je te rassure, comme tout etre humain, je ne suis guere capable d'effectuer plus d'une tache a la fois et encore.
                  mon pc par contre, lui il en est capable. c'est meme pour ca qu'il a ete concu. parait qu'il est capable d'effectuer plusieurs millions d'operations par seconde.

                  tu sais, les dev sont pas obliges de tout coder en meme temps, ils peuvent faire les differentes taches les unes apres les autres, comme ca leur cerveau ne s'emmele pas.
                  Voire meme, differentes personnes peuvent s'occuper de differentes choses.

                  Je vois pas en quoi ca releve de la mission impossible, surtout pour les devs du libres qui produisent du code de qualite.
                  Ca l'etait peut etre a l'epoque ou la ram se comptait en kilo octets et ou le code se tapait en assembleur.

                  Qu'on donne aux projet les meme delais et les memes moyens .
                  Tu prendrais quoi toi pour regarder une video? moi je crois que j'ai choisi.

                  j'ai pas francement l'impression que mplayer/xine aient les memes moyens/delais/objectifs que vlc.
                  Apres si tu veux partir sur des hypotheses farfelues pour prouver ton idee vieille de 30+ ans, c'est toi qui voit.

                  Tu prendrais quoi toi pour regarder une video? moi je crois que j'ai choisi.
                  si c'est pour regarder des videos stockees sur mon pc local sous linux, mplayer ou totem.
                  Si c'est pour regarder des videos stockees sur mon ibook local vlc (super efficace sur mon g3), voir mplayer osX2 pour profiter de la navigation au clavier.
                  Si c'est pour regarder des videos stockees sur une machine distante (chose qui va surement se concretiser des l'arrivee du wifi dans mon ilivre)... ben suis mon regard.
                  • [^] # Re: vip

                    Posté par  . Évalué à 2.

                    j'ai pas francement l'impression que mplayer/xine aient les memes moyens/delais/objectifs que vlc.
                    Apres si tu veux partir sur des hypotheses farfelues pour prouver ton idee vieille de 30+ ans, c'est toi qui voit.

                    Ben il faut bien fixer les facteurs quelque parts.
                    C'est sur que si tout est libre alors on peut demontrer tout et son contraire.

                    Toujours est il que je vois pas beaucoup de kernel hacker s'occupper de OGL ; de meme que je vois pas beaucoup de cryptologue s'occuper de l'implementation en hard des multiplicateurs dans un fpga...
                    Alors donc si ensuite les developpeurs de vlc sont des betes en tout ; ont des moyens de brutes (ce point la pouvant entrainer le point ci dessus) etc.. Oui vlc peux etre tres bien. Je n'ai jamais dit le contraire.

                    Mais je crois par contre avoir deja entendu parler de concepts de "modularité" dans le libre...
        • [^] # Re: vip

          Posté par  . Évalué à 6.

          C'est peu étonnant que les interfaces de vlc en gtk+, qt et autres ne soient plus maintenues, puisque c'est l'interface wxwidgets qui est la principale. Le code y est à 99 % indépendant de la plate-forme, ce qui la rend sans doute plus attractive pour les développeurs...

          En ce qui concerne mplayer et xine, ce sont de très bons lecteurs multimédia (et/ou librairies) mais quant à parler de leurs interfaces graphiques, je suis pas sûr que ce soit franchement mieux que vlc ! Moralité : la diversité fait la force.
          • [^] # Re: vip

            Posté par  (site web personnel) . Évalué à -1.

            Le code y est à 99 % indépendant de la plate-forme, ce qui la rend sans doute plus attractive pour les développeurs...

            Pour ce qui est des toolkits portables, je vois pas en quoi wxwidgets est plus attractif que Qt ou GTK. Je dirais même le contraire vu la clarté de l'API de Qt et GTK et l'affreuse API de wxwidgets.
            • [^] # Re: vip

              Posté par  . Évalué à 5.

              Pour ce qui est des toolkits portables, je vois pas en quoi wxwidgets est plus attractif que Qt ou GTK. Je dirais même le contraire vu la clarté de l'API de Qt et GTK et l'affreuse API de wxwidgets.

              Un des côtés attratifs de wxwidgets est son rendu : natif sous windows, natif sous MacOS, natif sous OS/2, en gtk+2 sous unix. Ca me semble un argument intéressant quand il s'agit d'écrire une application portable.

              Quant à l'API, je ne la trouve pas "affreuse". Rien ne m'a semblé tiré par les cheveux dans wxwidgets. Néanmoins, je ne suis pas le mieux placé pour comparer avec gtk ou Qt, vu que je n'y ai jamais touché ;-). Si tu pouvais me donner quelques éléments de comparaison pour le côté "affreux" , je serais heureux d'en prendre connaissance...
              • [^] # Re: vip

                Posté par  (site web personnel) . Évalué à 4.

                > Un des côtés attratifs de wxwidgets est son rendu : natif sous windows, natif sous MacOS, natif sous OS/2, en gtk+2 sous unix. Ca me semble un argument intéressant quand il s'agit d'écrire une application portable.

                Est-ce que vlc pour Windows utilise wxwidgets ? est-ce que vlc pour Mac OS X utilise Wxwidgets ? Si ce n'est pas le cas qu'elle est l'interet d'utiliser wxwidgets sous Linux puisque l'aspect multiplateforme de wxwidgets n'est pas utilisé en pratique ?
                • [^] # Re: vip

                  Posté par  (site web personnel) . Évalué à 2.

                  Quelque soit la platforme, vlc utilise wxwidgets. En fait, wxwidgets propose une api unique qui se charge d'appeler l'api native de la platforme hôte (Windows, Mac, GTK, Motif...).
                  • [^] # Re: vip

                    Posté par  (site web personnel) . Évalué à 5.

                    En fait, VLC n'utilise wxwidgets que sous Linux et Windows.

                    L'interface MacOS est native, car malgre que wx soit portable sous Mac, le resultat s'ecarte trop des guidelines Apple.

                    Il y a actuellement des discussions en cours pour eventuellement remplacer l'interface wx par un autre toolkit, probablement GTK, pour la version linux/mac.

                    En effet, wx souffre d'un certain nombre de problemes : sa lourdeur (surtout que VLC n'utilise que les composants GUI), sa lenteur sous Windows et les nombreux bugs...

                    Ce remplacement d'interface serait probablement benefique, mais reste une operation longue et peu interessante ...

                    Par ailleurs, l'equipe VideoLAN recherche toujours des graphistes pour ameliorer le look de l'interface :)
        • [^] # Re: vip

          Posté par  (site web personnel) . Évalué à 2.

          Non, je suis bien content avec mplayer et xine, franchement.
          J'ai certains fichiers avi qui ont besoin de l'option "-idx" pour mplayer (ce qui force à lire l'index à chaque démarrage; bon je sais, je pourrais recréer cet index avec mencoder) et qui passent direct avec VLC.
          • [^] # Re: vip

            Posté par  . Évalué à 1.

            indice : mettre force-idx=true dans ton ~/.mplayer/config
            ;-)

            pis bon, vlc et les codecs proprio genre real, c'est pas le top of the pop..
    • [^] # Re: vip

      Posté par  . Évalué à 6.

      Après une étude attentive, la majorité de leur patch, c'est pour renommer le produit.

      genre
      -name="vlc.dll"
      +name="googleviewver.dll"

      Il y a aussi l'air d'avoir quelques corrections de bugs (en général, en commentant une ligne originale)

      et aussi cette limitation. en gros, le programme ne peut lire que les fichiers issus de video.google.com

      Une autre chose étonnante, ils ont gardés les UID des activeX de vlc. Je croyais que l'UID devait être unique, du coup je pense que ca va mettre le bazar si une vlc est aussi installé sur le PC.

      Perso, je trouve ca un peu foireux, mais bon la licence est respectée.

      Voilà voilà.
      • [^] # Re: vip

        Posté par  (site web personnel) . Évalué à 4.

        Il me semble que ceci répond à ta question concernant les UUID:
        -      uuid(E23FE9C6-778E-49D4-B537-38FCDE4887D8),
        +      uuid(E23FE9C6-778E-49D4-B537-38FCDE4887D9),
        .
        .
        .
        -class DECLSPEC_UUID("E23FE9C6-778E-49D4-B537-38FCDE4887D8")
        +class DECLSPEC_UUID("E23FE9C6-778E-49D4-B537-38FCDE4887D9")
        .
        .
        .
        -const CLSID CLSID_VLCPlugin = {0xE23FE9C6,0x778E,0x49D4,{0xB5,0x37,0x38,0xFC,0xDE,0x48,0x87,0xD8}};
        +const CLSID CLSID_VLCPlugin = {0xE23FE9C6,0x778E,0x49D4,{0xB5,0x37,0x38,0xFC,0xDE,0x48,0x87,0xD9}};
        .
        .
        .
        -  clsid={E23FE9C6-778E-49d4-B537-38FCDE4887D8}
        +  clsid={E23FE9C6-778E-49d4-B537-38FCDE4887D9}
        
        Maintenant, reste à savoir si une simple incrémentation de l'UUID respecte réellement le principe de génération unique d'UUID.
        • [^] # Re: vip

          Posté par  (site web personnel) . Évalué à 2.

          Bah ils l'ont généré aléatoirement cet UUID ! Ils ont eu vraiment beaucoup de chances de tomber sur l'UUID qui succède à celui de vlc :)

          (c'est même mathématiquement très peu probable, si qqn veut faire le calcul, à son aise)
      • [^] # Re: vip

        Posté par  . Évalué à 2.

        et aussi cette limitation. en gros, le programme ne peut lire que les fichiers issus de video.google.com


        DVD Jon l'avait remarqué aussi, allez voir sur http://nanocrew.net/?p=114(...) Vous y trouverez ceci:

        Download and run this patch I wrote to remove this restriction. Running the patch requires a .NET runtime.
  • # Pas propre leur patch

    Posté par  (site web personnel) . Évalué à 1.


    [..]
    - _p_instance->setSendEvents(! bFreeze);
    + // Google mod
    + // It seems that the container will freeze all events under a dynamic
    + // instantiation of ActiveX control. By commenting the following line
    + // the events can go through even if the mouse is not hover on top of
    + // the window
    + //_p_instance->setSendEvents(! bFreeze);
    [..]
    +#ifndef HAVE_MAD_H
    + /* Google mods: */
    + if (!strcmp(p_module->psz_object_name, "mpeg_audio")) {
    + /* MAD is not enabled in the configure option and so mpeg_audio won't
    + be able to decode mp3 audio frames. We will use ffmpeg instead */
    + continue;
    + }
    +#endif
    [..]
    + // Google mods
    + const char* allowed_host = "video.google.com";
    + char * host_found = strstr(p_sys->url.psz_host, allowed_host);
    + if ((host_found == NULL) ||
    + ((host_found + strlen(allowed_host)) !=
    + (p_sys->url.psz_host + strlen(p_sys->url.psz_host)))) {
    + msg_Warn( p_access, "invalid host, only video.google.com is allowed" );
    + goto error;
    + }
    +
    [..]
    ; Welcome page
    -!insertmacro MUI_PAGE_WELCOME
    +;!insertmacro MUI_PAGE_WELCOME
    ; License page
    -!insertmacro MUI_PAGE_LICENSE "COPYING.txt"
    +!define MUI_LICENSEPAGE_RADIOBUTTONS
    +!define MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "I Accept"
    +!define MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "I Do Not Accept"
    +;!insertmacro MUI_PAGE_LICENSE "COPYING.txt"
    +!insertmacro MUI_PAGE_LICENSE "GoogleVideoViewerTOS_v5.rtf"
    ; Components page
    -!insertmacro MUI_PAGE_COMPONENTS
    +;!insertmacro MUI_PAGE_COMPONENTS
    ; Directory page
    -!insertmacro MUI_PAGE_DIRECTORY
    +;!insertmacro MUI_PAGE_DIRECTORY
    ; Instfiles page
    !insertmacro MUI_PAGE_INSTFILES
    ; Finish page
    -!define MUI_FINISHPAGE_RUN "$INSTDIR\vlc.exe"
    +;!define MUI_FINISHPAGE_RUN "$INSTDIR\googlevlc.exe"
    !define MUI_FINISHPAGE_NOREBOOTSUPPORT
    -!insertmacro MUI_PAGE_FINISH
    +;!insertmacro MUI_PAGE_FINISH
    [..]
    +;Function RegisterExtension
    +; ; back up old value for extension $R0 (eg. ".opt")
    +; ReadRegStr $1 HKCR "$R0" ""
    +; StrCmp $1 "" NoBackup
    +; StrCmp $1 "VLC$R0" "NoBackup"
    +; WriteRegStr HKCR "$R0" "VLC.backup" $1
    +;NoBackup:
    +; WriteRegStr HKCR "$R0" "" "VLC$R0"
    +; ReadRegStr $0 HKCR "VLC$R0" ""
    +; WriteRegStr HKCR "VLC$R0" "" "VLC media file"
    +; WriteRegStr HKCR "VLC$R0\shell" "" "Play"
    +; WriteRegStr HKCR "VLC$R0\shell\Play\command" "" '"$INSTDIR\vlc.exe" "%1"'
    +; WriteRegStr HKCR "VLC$R0\DefaultIcon" "" '"$INSTDIR\vlc.exe",0'
    +;FunctionEnd
    [..]
    + ;WriteRegStr HKCR Applications\vlc.exe "" ""
    + ;WriteRegStr HKCR Applications\vlc.exe\shell "" "Play"
    + ;WriteRegStr HKCR Applications\vlc.exe\shell\Play\command "" \
    + ; '$INSTDIR\vlc.exe "%1"'
    [..]
    + no_ie:
    + ;MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 \
    + ; "Ready to proceed uninstallation" IDYES +2
    + ;Abort
    +


    Vive le code mort ^^^^

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.