Journal MediaConch, un projet de test de conformité de fichiers multimédias, au FOSDEM

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
14
28
jan.
2016

MediaConch
MediaConch (en) est un projet de test de conformité (test d'implémentation et test de politiques personnalisées) focalisé sur les formats libres (Matroska pour le conteneur, FFV1 pour la vidéo, PCM pour l'audio) mais supportant la détection de caractéristiques de bien plus de formats puisque basé sur MediaInfo. En d'autres termes, l'objectif est de pouvoir tester l'implémentation (vérifier que c'est conforme aux spécifications) de Matroska et FFV1 d'un côté, et de vous permettre de vérifier que les fichiers sont conformes à vos contraintes quel que soit le format de vos fichiers (par exemple, les fichiers doivent être en 1920x1080 minimum, ils doivent être doivent être Matroska et FFV1 version 3, le bitrate maxi est de x, etc…) de l'autre.

Le projet est encore jeune mais les sources sont d’ores et déjà disponibles ainsi que des binaires pour beaucoup de plates-formes (Windows, Mac, Debian, Ubuntu, Fedora…) et plusieurs interfaces (ligne de commande, interface graphique, interface web, et un début de serveur en API REST) afin que vous puissiez tester. Le tout évidement en libre et sponsorisé par l'Union Européenne (projet PREFORMA), j'en avais déjà un peu parlé dans une dépèche.

N'hésitez pas à tester, ça se trouve sur :
https://mediaarea.net/MediaConch (et il y a aussi une version en ligne).
Si le projet vous plaît et vous êtes intéressés pour coder, venez! On a besoin de bras, voici le code source de MediaConch et celui de MediaConchOnline.

Si vous êtes au FOSDEM, une présentation en sera faite, venez nombreux dans la Open Media devroom (H.2214) ce samedi à 14:30.
Pour les gens sur Stockholm (on ne sait jamais!), une autre présentation aura lieu le 7 avril au Open Source Preservation Workshop.

PS : C'est fou, à force d'écrire en anglais je n'arrive pas à décrire en français le projet, désolé pour les malformations dans le texte, l'anglais me venant en tête en permanence.

  • # Bonne nouvelle une institution qui commande des logiciels libres!

    Posté par  . Évalué à 4. Dernière modification le 28 janvier 2016 à 10:29.

    Bonne nouvelle une institution qui commande des logiciels libres! C'est rigolo, il y a une image qui ressemble au logo Konqueror:
    Logo
    Konqueror
    Est-ce que les 3 entreprises veraPDF, Easy Innova et MediaArea.net sont de même taille?

    ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

    • [^] # Re: Bonne nouvelle une institution qui commande des logiciels libres!

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

      Bonne nouvelle une institution qui commande des logiciels libres!

      C'était clairement un pré-requis.

      Est-ce que les 3 entreprises veraPDF, Easy Innova et MediaArea.net sont de même taille?

      "Entreprise" est un grand mot, veraPDF et MediaArea étant plutôt "hybrides", on a si j'ai bien suivi :
      - Easy Innova : entreprise classique, italienne, 8 personnes.
      - veraPDF : consortium de plusieurs entreprises, anglaise, je ne connais pas trop la taille mais pas énorme pour chaque entreprise
      - MediaArea : mélange de salariés et de consultants, à la base française mais avec une grosse touche US sur ce projet, en tout 5-6 personnes
      donc je vais dire que les 3 trois sont des TPE "Très Petites Entités".

      Après, le domaine est très de niche (les tests de conformité, c'est assez rare déjà en non libre, généralement les tests de conformité c'est bien proprio de chez proprio avec une vue assez négative sur le libre, alors des tests de conformité en libre ça ne court pas les rues), donc assez logique que ce soit petit si on bascule dans le libre.

  • # des containers docker ?

    Posté par  (site web personnel) . Évalué à 3. Dernière modification le 28 janvier 2016 à 18:13.

    quand je vois
    https://github.com/MediaArea/MediaConch_SourceCode

    avec toutes les différentes plate-formes, je me demande si ça vaudrait pas le coup de faire des containers docker, qu'on pourrait juste rapatrier et lancer.

    Je vais essayer de faire un container pour Debian ce soir, sachant qu'un container pour un autre Linux aura un Dockerfile très proche (la ligne FROM changera, ainsi que la ligne apt-get/yum/urpmi/…)

    ウィズコロナ

    • [^] # Re: des containers docker ?

      Posté par  (site web personnel) . Évalué à 7. Dernière modification le 28 janvier 2016 à 11:36.

      avec toutes les différentes plate-formes, je me demande si ça vaudrait pas le coup de faire des containers docker, qu'on pourrait juste rapatrier et lancer.

      J'avoue ma plus grande incompétence en Docker. Je sais que c'est "à la mode", mais m'y suis pas encore penché. Mais on souffre clairement avec les plates-formes (par exemple avec Ubuntu 15.10 qui a migré sur GCC 5 et donc cassé l'API et j'en passe…)

      Je vais essayer de faire un containers pour Debian ce soir, sachant qu'un container pour un autre Linux aura un Dockerfile très proche (la ligne FROM changera, ainsi que la ligne apt-get/yum/urpmi/…)

      Je suis preneur!
      Que ce soit MediaConch ou MediaInfo ou libmediainfo (j'essaye de fournir pour toutes les applications, et elle se ressemblent dans le packaging).

      C'est le genre de patch qui me plairait beaucoup.

      • [^] # Re: des containers docker ?

        Posté par  (site web personnel) . Évalué à 5. Dernière modification le 28 janvier 2016 à 12:40.

        J'avoue ma plus grande incompétence en Docker.

        en schématisant, docker isole un process (une base de données PostgreSQL, un serveur web Nginx…) en lui donnant
        - une carte réseau avec une adresse en 172.a.b.c
        - un peu d'espace disque (10 GB par défaut, on peut le changer)
        - si on a besoin d'espace disque, il y a la notion de volume dans docker
        https://docs.docker.com/engine/userguide/dockervolumes/
        En général, 10 Gb pour quelques exécutables et fichiers de config, c'est plantureux.

        On crée des images docker, tu en trouveras plein de prêtes à
        https://hub.docker.com/

        et on les lance, cela devient des containers

        On ne modifie pas une image, on en crée une nouvelle, car les Dockerfiles permettent d'automatiser cela
        https://docs.docker.com/engine/reference/builder/

        On peut évidemment utiliser Debian ou Ubuntu comme "source", mais Alpine Linux, un Linux très dégraissé devient populaire.
        http://www.alpinelinux.org/

        Quelques liens, certains s'amusent à déplacer des containers
        https://www.youtube.com/watch?v=mL9AFkJJAq0
        d'autres en font pour tout et n'importe quoi
        https://blog.jessfraz.com/
        en particulier
        https://blog.jessfraz.com/post/docker-containers-on-the-desktop/

        Ah au fait, Windows Server 2016 apporte les containers Windows

        https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/manage_docker

        https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/container_setup

        https://msdn.microsoft.com/en-us/virtualization/windowscontainers/containers_welcome

        Un container Windows sera lancé seulement par Windows, un container Linux seulement par Linux.

        Microsoft est en train de devenir un gros contributeur à docker
        https://github.com/Microsoft/docker

        tu peux trouver sur le Hub docker
        https://hub.docker.com/r/microsoft/dotnet/
        c'est un container pour Linux, car pour l'instant, les containers pour Windows ont un Dockerfile qui commence forcément par
        FROM windowsservercore

        si tu veux une image docker pour IIS, regarde
        https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/manage_docker

        Edit: tiens une base SQL Server dans docker
        http://26thcentury.com/2016/01/03/dockerfile-to-create-sql-server-express-windows-container-image/

        ウィズコロナ

        • [^] # Re: des containers docker ?

          Posté par  . Évalué à 10.

          Ouais, après télécharger un OS complet (parce que même épurée une image docker ça contient une distribution Linux) pour un "petit" exécutable comme MediaConch, c'est complètement n'importe quoi. Pour une appli web qui demande un stack complète un peu chiante à installer pourquoi pas, mais pour un exécutable qui a littéralement 5 dépendances (qui sont probablement installées chez 90% des gens, hein on parle de Qt4, zlib, libxml, libcurl et gnutls). Sans compter que MediaConch va avoir besoin d'avoir accès au FS et serveur X de l'hôte, ce qui va demander des montages et des transferts de cookies X11 à s'arracher les cheveux.

          Personnellement je préfère mille fois un sudo apt install libtrucmuche-dev libmachin-dev ... suivi d'un make plutot que de faire un docker pull qui va aller télécharger une image "épurée" de 200MB.

          La Dockermania, c'est bien gentil, mais si c'est pour à la fois (1) avoir plus de complexité (montage FS, cookie X11) et (2) utiliser 10x plus de ressources disque/réseau, ça n'a pas d'intérêt. Pour les applis web qui ont besoin de la version x.y.z et nodejs, npm, et je sais quel serveur d'application tordu, d'accord, mais pour MediaConch.

          • [^] # Re: des containers docker ?

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

            Sans compter que MediaConch va avoir besoin d'avoir accès au FS et serveur X de l'hôte

            Euh… Oui, en effet, si l'image Docker de la partie GUI n'a pas accès au FS et à X, ça va être un peu chiant. Et clairement on essaye de faire léger (les 2 autres bourrinent à coup de Java à installer, on préfère quelques Mo en plus des libs système, c'est l'avantage du libre et des distros Linux)

            Après, il y a la partie serveur web, qui peut être un peu plus chiante à installer (il faut Apache, le configurer etc… Pour le moment pas encore de package .deb/.rpm), et peut-être que là ça peut valoir le coup du coup (pas de X, accès à des fichiers via HTTP ou NFS par design…) à long terme (tout n'est pas encore prêt), si je suis bien.

            • [^] # Re: des containers docker ?

              Posté par  . Évalué à 3.

              Oui, complètement pour la version "online" de MediaConch, c'est tout à fait justifié le conteneur docker. Ça évite les quelques étapes de configuration de la base données et du serveur web. Et effectivement ici, t'as pas de problèmes d'accès à X11 ou au FS.

              Après c'est toujours possible d'accéder au FS de l'hôte, c'est juste pénible (faut "monter" un répertoire de l'hôte dans le conteneur, pour X11 en copiant les fichiers et en positionnant les variables d'environnement qui vont bien ça marche aussi mais c'est clairement pas plus simple qu'une petite compilation). Docker GUI Docker Volumes.

Suivre le flux des commentaires

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