Journal Pymecavideo devient multiplateforme

Posté par  (site web personnel) .
Étiquettes :
9
17
fév.
2010
Après être sorti courant Janvier en version 4.0, http://linuxfr.org/2010/01/10/26335.html
Pymecavideo, logiciel d'étude de vidéo image par image permettant de récupérer les coordonnées de points, s'apprête à sortir en version 4.1.
Cette version apporte quelques corrections de bugs et aussi la mise en place d'une possibilité de graphiques simples sans passer par la case "tableur" suite à la demande effectuée icitte :
http://linuxfr.org/comments/1097385.html#1097385
(on est pas un peu méga réactifs ;))) ?? )

De plus, hors DLFP, une demande de fonctionnement sous mac nous a été demandée. Il était temps de porter le code.
Ceci a été fait et nous annonçons ici que Pymecavideo est maintenant disponible pour... windows :

N'ayant pas de MacOS X sous la main, impossible de voir les problèmes inhérents à la plateforme.

Petit appel à un pyQtiste macqueux qui pourrait regarder ça. (en 1h montre en main ça doit tourner maintenant que les sources de non portabilité ont été enlevées)

Le choix d'utiliser python et Qt a été fait dans un but d'interopérabilité. Si nous n'avions pas prévu cela au début, faire l'effort de portabilité (2h pour un programmeur qui ne sait pas programmer...moi) aurait été insurmontable.
Merci à Qt qui fournit de puissantes couches d'abstraction. (pour déterminer le répertoire de cache, temporaire etc.) - à python qui est multiplateforme par essence-

Deuxième appel : pymecavideo se lance et est utilisable à 90% (la partie qui trace les graphiques faisant appel à gnuplot et une lecture d'un .ps nous paraît un peu plus ardue à mettre en place sous windows encore). Cependant je suis tout à fait nul en windows et dans les gestions de logiciels et des installeurs.
(idem pour mac)
Nous cherchons donc des gens qui seraient intéressé pour empaqueter pymecavideo sous windows.

Vous pouvez joindre l'équipe en utilisant les adresse mails dispo sur la page de pymecavideo :

http://outilsphysiques.tuxfamily.org/pmwiki.php/Oppl/Pymecav(...)

NB : la branche 4.1 est la seule fonctionnant sous windows. Il y a encore 2-3 choses à peaufiner, mais on peut en discuter en dehors de DLFP.

NB2 : Les dépendances :
il vous faudra ffmpeg. Vous le trouverez ici :
http://ffmpeg.arrozcru.org/autobuilds/
ffmpeg et ffmplay sont à placer dans le path (exe : system32) pour le moment. on verra à l'empaquetage si on peut faire plus propre.

il vous faudra pyqt4 et python : http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/P(...)

NB3 : je suis un dinosaure, je dis DLFP si je veux ;)
  • # Matplotlib?

    Posté par  . Évalué à 2.

    Deuxième appel : pymecavideo se lance et est utilisable à 90% (la partie qui trace les graphiques faisant appel à gnuplot et une lecture d'un .ps nous paraît un peu plus ardue à mettre en place sous windows encore). Cependant je suis tout à fait nul en windows et dans les gestions de logiciels et des installeurs.

    Pourquoi ne pas utiliser matplotlib¹ pour tracer les graphiques et les exporter en postscript ? C'est du python portable.

    ¹ : http://matplotlib.sourceforge.net/
    • [^] # Re: Matplotlib?

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

      parce qu'on a pas envie de faire un paquet de 120 Mo ?
      # urpmi matplotlib
      Pour satisfaire les dépendances, les paquetages suivants vont être installés :
      Paquetage Version Révision Arch
      (média « Main »)
      python-configobj 4.6.0 1mdv2010.0 noarch
      wxPythonGTK 2.8.9.2 3mdv2010.0 i586
      wxPythonGTK-wxversion 2.8.9.2 3mdv2010.0 i586
      (média « Main Updates »)
      python-qt 3.18.1 1.2mdv2010.0 i586
      (média « Contrib »)
      python-dateutil 1.4.1 3mdv2010.0 noarch
      python-matplotlib 0.99.1 4mdv2010.0 i586
      python-pytz 2009n 1mdv2010.0 noarch
      un espace additionnel de 113Mo sera utilisé.

      ça nous a semblé au moins aussi simple avec gnuplot, voilà tout. Nous avons fait ça rapidement pour combler une demande.
      La réflexion a été courte et efficace.

      Maintenant, ce n'est sans doutes pas la meilleure façon de faire. Utiliser un widget spécial (qwt) ou en réécrire un paraît être la chose la plus portable et la moins lourde.

      Mais le temps de mise en oeuvre n'a rien à voir.
      • [^] # Re: Matplotlib?

        Posté par  . Évalué à 4.

        > parce qu'on a pas envie de faire un paquet de 120 Mo ?
        C'est un problème de packaging, il faut taper sur le mainteneur de python-matplotlib dans ta distribution pour qu'il sépare les différents backends de matplotlib dans des sous-paquets.
        De mémoire, tu n'as pas besoin de WxWidgets pour que matplotlib fonctionne par exemple.
        • [^] # Re: Matplotlib?

          Posté par  . Évalué à 3.

          Y'a effectivement un truc qui va pas du tout là. Sur Arch j'ai ça :

          yaourt -S python-matplotlib
          resolving dependencies...
          looking for inter-conflicts...

          Targets (1): python-matplotlib-0.99.1.2-2

          Total Download Size: 3.95 MB
          Total Installed Size: 13.30 MB

          C'est certes plus gros que gnuplot mais ça reste très raisonnable vues les capacités du module.
          • [^] # Re: Matplotlib?

            Posté par  . Évalué à 2.

            plus précisément:

            % yaourt -Qi python-matplotlib
            Nom : python-matplotlib
            Version : 0.99.1.2-2
            URL : http://matplotlib.sourceforge.net/
            Fournit : matplotlib
            Dépend de : python-dateutil python-pytz python-numpy
            Dépendances opt. : tk: used by the TkAgg backend
            pygtk: for use with the GTK or GTKAgg backend
            wxpython: for use with the WXAgg backend
            pygobject: for use with vala
            qt:for use with the QT4 backend
            qt3: for use with qt backend
            Taille (installé) : 13616,00 K
      • [^] # Re: Matplotlib?

        Posté par  . Évalué à 8.

        Ah ouais, ils ont fait fort:
        wxPythonGTK
        python-qt

        C'était pas assez lourd avec Qt ou GTK, alors y z'ont utilisé les deux :P

        THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

      • [^] # Re: Matplotlib?

        Posté par  . Évalué à 1.

        Sous Debian (sur un serveur en fait) :

        # apt-get install python-matplotlib
        Lecture des listes de paquets... Fait
        Construction de l'arbre des dépendances
        Lecture des informations d'état... Fait
        Les paquets supplémentaires suivants seront installés :
        blt dvipdfmx dvipng fontconfig ghostscript gs-common gsfonts hicolor-icon-theme lacheck latex-beamer latex-xcolor libatk1.0-0 libatk1.0-data libcairo2 libcups2 libcupsimage2
        libdatrie0 libdirectfb-1.0-0 libdrm2 libffi5 libfontenc1 libgl1-mesa-glx libglade2-0 libglib2.0-0 libglib2.0-data libgs8 libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libice6
        libkpathsea4 libpango1.0-0 libpango1.0-common libpaper-utils libpaper1 libpixman-1-0 libpoppler3 libsm6 libsysfs2 libthai-data libthai0 libtiff4 libts-0.0-0 libxaw7
        libxcb-render-util0 libxcb-render0 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxfont1 libxft2 libxi6 libxinerama1 libxmu6 libxrandr2 libxrender1 libxt6 libxtst6 libxv1
        libxxf86dga1 libxxf86vm1 lmodern pgf prosper ps2eps psfontmgr python-antlr python-cairo python-configobj python-dateutil python-enthought-traits python-excelerator python-gd
        python-glade2 python-gobject python-gtk2 python-matplotlib-data python-numeric python-pyparsing python-tk tcl8.4 tetex-bin tex-common texlive texlive-base texlive-base-bin
        texlive-base-bin-doc texlive-common texlive-doc-base texlive-extra-utils texlive-fonts-recommended texlive-fonts-recommended-doc texlive-generic-recommended texlive-latex-base
        texlive-latex-base-doc texlive-latex-recommended texlive-latex-recommended-doc texlive-pstricks texlive-pstricks-doc tipa tk8.4 x-ttcidfont-conf x11-utils xbitmaps
        xfonts-encodings xfonts-utils xterm
        Paquets suggérés :
        blt-demo ghostscript-x hpijs auctex cups-common librsvg2-common ttf-kochi-gothic ttf-kochi-mincho ttf-thryomanes ttf-baekmuk ttf-arphic-gbsn00lp ttf-arphic-bsmi00lp
        ttf-arphic-gkai00mp ttf-arphic-bkai00mp pdf-viewer postscript-viewer python-enthought-traits-ui python-gtk2-doc python-gobject-dbg ipython python-matplotlib-doc
        texlive-latex-extra python-numeric-tutorial python-numeric-ext python-numeric-dbg python-tk-dbg tix tclreadline debhelper texlive-doc-en perl-tk dvi2tty dvidvi mesa-utils
        xfonts-cyrillic
        Les NOUVEAUX paquets suivants seront installés :
        blt dvipdfmx dvipng fontconfig ghostscript gs-common gsfonts hicolor-icon-theme lacheck latex-beamer latex-xcolor libatk1.0-0 libatk1.0-data libcairo2 libcups2 libcupsimage2
        libdatrie0 libdirectfb-1.0-0 libdrm2 libffi5 libfontenc1 libgl1-mesa-glx libglade2-0 libglib2.0-0 libglib2.0-data libgs8 libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libice6
        libkpathsea4 libpango1.0-0 libpango1.0-common libpaper-utils libpaper1 libpixman-1-0 libpoppler3 libsm6 libsysfs2 libthai-data libthai0 libtiff4 libts-0.0-0 libxaw7
        libxcb-render-util0 libxcb-render0 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxfont1 libxft2 libxi6 libxinerama1 libxmu6 libxrandr2 libxrender1 libxt6 libxtst6 libxv1
        libxxf86dga1 libxxf86vm1 lmodern pgf prosper ps2eps psfontmgr python-antlr python-cairo python-configobj python-dateutil python-enthought-traits python-excelerator python-gd
        python-glade2 python-gobject python-gtk2 python-matplotlib python-matplotlib-data python-numeric python-pyparsing python-tk tcl8.4 tetex-bin tex-common texlive texlive-base
        texlive-base-bin texlive-base-bin-doc texlive-common texlive-doc-base texlive-extra-utils texlive-fonts-recommended texlive-fonts-recommended-doc texlive-generic-recommended
        texlive-latex-base texlive-latex-base-doc texlive-latex-recommended texlive-latex-recommended-doc texlive-pstricks texlive-pstricks-doc tipa tk8.4 x-ttcidfont-conf x11-utils
        xbitmaps xfonts-encodings xfonts-utils xterm
        0 mis à jour, 109 nouvellement installés, 0 à enlever et 0 non mis à jour.
        Il est nécessaire de prendre 163Mo dans les archives.
        Après cette opération, 358Mo d'espace disque supplémentaires seront utilisés.
        Souhaitez-vous continuer [O/n] ?
  • # Premier Appel

    Posté par  . Évalué à 3.

    j'ai un peu de temps et j'ai un Mac avec OSX Snowleopard.
    Je peux donc faire qques tests

    pour l'instant j'essaie de recuperer les sources
    • [^] # Re: Premier Appel

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

      seule la branche 4.1 a été "multiplateformée" ;)

      En gros dans le cadre de mac OSX :
      -> quel est le nom du binaire de vlc (et son emplacement si il n'est pas dans le path)
      ------>regarde la ligne 53 de preferences.py et fais un truc qui ressemble et qui est adapté à mac.

      -> quel est le nom du binaire de ffmpeg (et son emplacement si il n'est pas dans le path)
      ------> ligne 115 de __init__.py

      mmm... normalement ça doit être tout.
      • [^] # Re: Premier Appel

        Posté par  . Évalué à 3.

        sans compter les dependances
        pymecavideo -> PyQT -> SIP

        pour l'instant je bute sur SIP :(
  • # Merci !!!!!!!!!!!!!!!

    Posté par  . Évalué à 4.

    C'est clair que je ne m'y attendais pas aussi vite !

    je vais tester tout ça.... encore du boulot supplémentaire pendant les vacances \o/
  • # Trucs pour la version Windows

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

    Je fais souvent des softs PyQt pour windows, c'est assez facile. Py2exe ou pyinstaller marchent très bien. Et c'est trivial à packager par la suite avec InnoSetup.

    J'aurai pas le temps de m'en occuper pour pymecavideo, mais tu peux t'inspirer de ce que j'ai fait sur d'autres softs.

    Par exemple :
    http://labs.freehackers.org/projects/pyticroque/repository/s(...)

    Il faut regarder les fichiers make-exe.py et pyticroque-inno.in.iss

    Je fonctionne avec un script python qui me fait à coup de ligne de commande :
    - packaging en .exe
    - packaging du .exe en installeur
    - packaging du .exe en zip
    - packaging des sources en zip
    - upload de l'installeur, du zip et des sources

    Je recommande fortement, ca permet de faire des release super vite.

    Si t'as des questions, hésite pas à me contacter (phil at freehackers dot org)
  • # cinematique

    Posté par  . Évalué à 2.

    Je profite de ce journal pour savoir si vous connaissez un logiciel qui permet faire des schémas cinématiques 2D et de les simuler ?

    Il y a bien openmeca qui semble correspondre, mais le site à l'air mort....

Suivre le flux des commentaires

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