• [^] # Re: Plus d'informations ?

    Posté par . En réponse au message Compression vidéo : quel codec utiliser ?. Évalué à 3.

    Concernant MPEG-2, peut importe qu'il soit répandu ou non, puisque je suis libre d'installer ce que je veux, tant côté serveur que côté clients.
    Je voulais surtout dire que tu as un (plus) grand nombre de solution (encoding/transmission/...) et que donc tu as un plus grand choix ;)

    As-tu une idée d'un ordre de grandeur de consommation de ressources de Theora comparé à MPEG* ?
    La dernière fois que j'ai essayé (une des premières beta), cela demandait plus de puissance que du xvid(mpeg4).
    Il est possible que ça ait changé depuis le temps aussi.

    pour tes clients, à vue de nez ils supportent le xvid 720p sans problème, je serais moins catégorique pour du h.264 (mais ils supporte du h.264 480p sans problème).
    Pour l'encodeur, ben tout dépend de la machine, en sachant qu'a moins d'avoir des betes de guerre, encoder en temps réel le h.264 est relativement dure à atteindre.

    En ce qui concerne les pertes, si tu adopte une stratégie de streaming (ce qui semble être le cas vu que tu essaie de faire d'après ce que j'ai compris un "live feed", cad affiché en presque temps réel une vidéo qui est capturée en live), alors tu ne peux pas utiliser TCP, cela entraine trop de délai et trop de traffic réseau.
    De plus le vpn ne _doit pas_ être en tcp (tcp sur tcp c'est mal) , donc en udp.

    Si tu ne cherche pas à faire du "live feed" (stockage des vidéos et acessibilité après), alors le plus simple c'est de mettre en place un répertoire partagée (nfs par exemple) ou chaque client ira récupérer la vidéo. La effectivement il n'y aura pas de problème de perte, mais dans ce cas je comprend pas très bien la contrainte d'encodage temps réel.

    Si tu souhaite utiliser un système de stockage, alors n'importe quel conteneur peut faire l'affaire (le surpoids de chacun n'est pas ce qu'il y'a de plus important dans une simple vidéo).
    Tu as le choix principalement entre trois conteneur
    - avi (l'historique, peu de possibilité, mais suffisant pour une simple vidéo. Ne supporte pas tous les codecs).
    - mp4 (le conteneur "officiel" du h.264. Plus évolué , plus adapté à l'envoi sur le réseau, mais pas parfait.
    - mkv : conteneur libre, qui est le plus "performant" à l'heure actuel (support de presques tous les codecs, des st, possibilité de chapitrage, etc...).
    Je te conseillerais le mkv, mais je ne connais pas d'outils qui permettent de créer un mkv avec "un pipe".

    en ce qui concerne le fait que le contenu soit statique : c'est tout benef pour toi : un système de compression video se base sur le fait que deux images qui se suivent sont semblables.
    Donc je te conseillerais d'augmenter au maximum le temps entre deux frames I (cad une frame qui contient une image au grand complet).



    Pour résumer :
    Si tous les clients doivent afficher la même vidéo en même temps
    -> streaming (multicast si possible)
    Si les vidéos proviennent d'une source qui capture en même temps (live feed,...)
    -> streaming (multicast ou unicast)+ codec permettant d'encoder à la volée sur la machine d'enco.
    Si les vidéos sont "offline"
    -> streaming si archi déjà en place, réseau "correct"
    -> répertoire nfs, vidéo préencoder.


    Ps : en ce qui concerne théora : la qualité des MPEG est quand même très bien. Un Xvid/ lavc-mpeg4 bien encodé a une très bonne qualité, même a des bitrates "faibles".
    faut voir si MSU (http://compression.ru/video/codec_comparison/mpeg-4_avc_h264(...) ou doom9 (http://www.doom9.org/index.html?/codecs-quali-105-3.htm, http://forum.doom9.org/showthread.php?t=140336, ...) a des comparaisons des codecs. Ils ont une bien meilleur opinion que moi des codecs ;)