module inscription newsletter haut de page forum mobile

Rejeter la notice

formations etalonnage sur davinci resolve

Nos Formations Etalonnage avec Forest reviennent en octobre !
Adoptez une réelle méthodologie d'étalonnage professionnelle et atteignez vos objectifs créatifs avec nos formations intensives sur 3 jours
Toutes les infos
Rejeter la notice

Formation Lumière - Pratique Intensive du 14 au 16 octobre à Paris
Formez-vous avec cet atelier de pratique intensive dans des conditions exceptionnelles ! Formation finançable.
Toutes les infos

Ateliers et Formations

[Problème] Qualité vidéo pour notre site de partage de vidéo

Discussion dans 'Internet & vidéo' créé par plucian, 8 Mai 2010.

Tags:
  1. plucian

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    10
    Appréciations:
    +0 / 0 / -0
    Bonjour,

    Je fais partie d’un projet de création d’un site de partage de vidéos. (Je ne suis pas développeur)
    Nous avons fait faire le site. Puis nous avons fait appel à un prestataire tiers pour améliorer la partie conversion vidéo. Le format conteneur est du MP4 et les codecs x264/AAC. Le système utilise ffmpeg, mencoder et mp4box.
    Les qualités acceptées sont : hq, normal, fast
    L'application est paramétrée pour le niveau hq, incluant un filtre de lissage

    Le problème, est que la qualité n’est toujours pas au rendez-vous :
    Ex : Pelicampus - Lipdub Hec 2008
    La même vidéo sur youtube : [nomedia="http://www.youtube.com/watch?v=LCthDQ49_cU"]YouTube- Lipdub HEC 2008[/nomedia]
    Même en basse qualité, la vidéo de youtube est nettement plus jolie.
    Le fichier original est un .mov de 220 Mo, le .mp4 converti sur notre site fait 22Mo, soit une taille comparable au 22Mo du .mp4 de Youtube.

    Même en se passant de notre convertisseur, nous obtenons une pixelisation peu agréable :
    Ex : pour cette vidéo : Pelicampus - Lipdub Essec , la qualité n’était pas satisfaisante. J’ai téléchargé le .mp4 de cette même vidéo présente sur youtube [nomedia="http://www.youtube.com/watch?v=cZ1TqoEhsPM"]YouTube- LIPDUB ESSEC "Let's get it started" BLACK EYED PEAS[/nomedia]. Puis sur mon site, directement par FTP, j’ai remplacé le fichier créé par mon site par le fichier téléchargé depuis Youtube, en le renommant de manière identique. C’est donc le fichier youtube qui est sur mon site, sans être passé par mon convertisseur. Pourtant, la qualité n’est pas comparable, il y a un effet de pixelisation.


    Comment remédier à ces problèmes ? Que faut-il faire pour avoir une qualité égale à celle de Youtube ?
    Je sais que la qualité de la vidéo en streaming dépend de la qualité du fichier source, mais puisque j’ai les fichiers originaux, et qu’ils sont en haute définition, le problème est ailleurs.
    Est-ce que le convertisseur peut être plus ou moins performant selon le format du fichier source ? Nous avions fait des tests, et étions parvenus à des résultats satisfaisants avec des fichiers sources .avi et .mp4. (bien qu’en plein écran, il y ait encore un effet de pixelisation que l’on ne retrouve pas sur youtube avec la même vidéo source).

    Merci pour votre aide.
     
  2. jabali

    Points Repaire:
    1 880
    Recos reçues:
    28
    Messages:
    729
    Appréciations:
    +0 / 0 / -0
    Pas vraiment étonnant.
    Sur votre site, l'encodage (pour cette vidéo du moins) est un massacre.
    Résolution de la vidéo 1440 x 816 ooo soit encore plus que du 720p
    bitrate 512 kbps ooo
    bits/pixel = 0.019
    Il est impossible d'obtenir une bonne qualité avec aussi peu de bitrate pour une aussi grosse résolution. (quel que soit la librairie d'encodage utilisée, et le setting de l'encodeur)

    pour info:
    sur youTube.
    la video de même taille 22 mo
    résolution 480 x 270
    bitrate 540 kbps
    bits/pixel = 0.167
    soit une compression environ 10 x moins forte.
    Les pertes dues à la baisse de la résolution sont nettement plus faibles que celles engendrées par l'énorme compression sur une résolution HD .
    c'est le ba-ba de l'encodage vidéo.

    pour info:
    l'encodage youtube 720p = 64.3 mo
    résolution 1280x720
    bitrate 1805 kbps

    La résolution de votre fenêtre flash est de 624x352
    Pourquoi uploader des résolutions video aussi énormes. (1440 x 816) ?
    avec un débit de 500 kbps, il faut rester dans des résolutions compatibles
    624x352 c'est encore OK. (YouTube 480x270)

    Si vous voulez une bonne qualité full screen ben il faut uploader en 1280x720 mais avec une configuration d'encodage en conséquence.
    => débit 1800-2000 kbps (idem YouTube)
    mais il faudra envisager un espace de stockage sur le serveur 4x plus grand et une bande passante également quadruple (avec les coûts en conséquence)
     
  3. plucian

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    10
    Appréciations:
    +0 / 0 / -0
    Si j’ai bien compris, la résolution de la fenêtre flash n’est pas forcément la résolution du fichier tel qu’il est encodé sur mon site.
    Je peux très bien demander un encodage en 480x270 mais l'afficher dans une fenêtre 624x352 voire en plein écran. (je débute en vidéo, dites-moi si je me trompe)

    Ce sont les utilisateurs qui envoient leurs fichiers. Je ne peux pas leur imposer de réduire la résolution des vidéos qu’ils uploadent. Au mieux, je peux mettre une recommandation sur la page d’upload. Mais en général, ils uploadent leur fichier selon la meilleure qualité qu’ils ont, et vu qu'ils possèdent dorénavant des caméras HD...


    En regardant le répertoire des vidéos converties sur le FTP de mon site, je constate que les vidéos converties ont conservées la résolution d’origine.

    La solution serait donc si j’ai bien compris :
    -Soit de faire un script qui adapterait le bitrate en fonction de la résolution de la vidéo originale uploadée.
    -Soit de faire un script qui encode les vidéos en baissant la résolution à 480x270 (ou 624x352).
    La deuxième solution permettrait d’être moins gourmande en bande passante.

    C‘est bien cela ?
    (Personnellement, au niveau de la qualité, je me contenterais de la version youtube 480p (donc 480x270). Même en plein écran (à condition que ce ne soit pas un 40''...), je trouve que c'est regardable.)
     
  4. jabali

    Points Repaire:
    1 880
    Recos reçues:
    28
    Messages:
    729
    Appréciations:
    +0 / 0 / -0
    La taille de la fenêtre flash est déterminée dans le code html d'insertion du player.
    Quelque soit la résolution de la vidéo stockée sur le serveur, elle sera affichée dans cette résolution sur la page html.
    La résolution est en général adaptée à une page html classique et est assez faible.
    624 x 352 (comme sur ton site) est trés correct et bien adapté aux pages actuelles.
    Il y a quelques années c'était bien plus petit.

    L'autre mode est le mode plein écran et, à se moment là, la fenêtre flash s'étire sur la totalité de l'écran et prend donc la résolution de l'écran.
    Dans ce cas, et seulement dans ce cas, si la vidéo stockée sur le serveur à une résolution élevée voire HD elle sera mise en valeur .
    A condition que l'encodage soit correct => bitrate adapté à la résolution HD. (donc grosse taille et gros débit)

    oui, il faut faire quelque chose comme ça.
    sur youtube & co, chaque vidéo uploadée est réencodée et redimensionnée en 2-3 ou 4 formats. (et ce, quelle que soit sa résolution d'origine)
    mode fenêtre flash basique petite résolution 470x270, petit débit , chargement rapide
    mode HQ 480p debit + important, taille plus grosse
    mode HD 720p debit important grosse taille, chargement lent

    on passe de l'un à l'autre via le sélecteur.
    Tant qu'on reste dans la visualisation fenêtre, ça ne change rien ou peu ,vu qu'on reste en petite résolution.
    L'intérêt du 720p est seulement de pouvoir passer plein écran avec une meilleur qualité.

    Pour être complet, il faut aussi prévoir une routine qui détecte l'aspect ratio de la vidéo uploadée. (le rapport longueur / hauteur)
    Vu que ta fenêtre est de ratio 16/9 (624/352) si quelqu'un uploade une vidéo 4/3 (origine camescope DV par ex) celle ci sera affichée étirée par le player flash.
    Il faut prévoir une détection du 4/3 et pouvoir ajouter 2 bandes noires latérales pour pouvoir la faire passer dans une fenêtre 16/9 sans déformation.
    avec ffmpeg ou mencoder c'est possible.

    480p = 848 x 480
    c'est déjà une résolution assez grande
    720p = 1280 x 720
    etc..
     
  5. plucian

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    10
    Appréciations:
    +0 / 0 / -0
    Ok, merci beaucoup pour toutes ces informations, c'est beaucoup plus clair dans ma tête. Pour la détection du format 4:3 / 16:9, cela est déjà en place sur notre site.

    Je recherche donc une personne capable de réaliser ces changements, et m'en vais de ce pas poster une annonce dans la catégorie appropriée.
    Puisque tu as l'air de t'y connaître, si tu es intéressé, envoie moi un email à : recrut_dev [at] live point fr avec tes tarifs.

    Merci encore.
     
  6. plucian

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    10
    Appréciations:
    +0 / 0 / -0
    Bonjour,
    Je reviens avec mon problème de qualité.
    Comme vous me l'avez conseillé, j'ai fait changé la résolution d'encodage. Elle est maintenant de 480x270, pour un bitrate de 750 kbps. Je peux changer la résolution à 624x352, ainsi que le bitrate.
    Mais on a toujours un problème de pixelisation. Pourtant, quand je récupère la vidéo convertie, directement par FTP ou grâce à l'add-on de Firefox, la vidéo n'est pas pixelisée, et au contraire, la qualité me satisfait entièrement.
    Un exemple ici: Pelicampus - Rihanna - encodée 480x270

    C'est donc le lecteur lui même qui rajoute cet effet indésirable de pixelisation? Comment y remédier? Le lecteur a été développé de A à Z en Flash/ActionScript par mes développeurs.

    Autre chose, je n'ai pas compris le calcul du bits/pixel. Si quelqu'un pouvait m'expliquer, je l'en remercie.
     
  7. plucian

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    10
    Appréciations:
    +0 / 0 / -0
    Nous avons résolu le problème. En changeant la résolution d'encodage à 624x352, taille de la fenêtre de lecture, il n'y a plus cet effet de crénelage.
    Cet effet réapparait en plein écran, pour les mêmes raisons, vu que la vidéo n'est pas affichée à sa taille réelle. Je pense qu'il y a tout de même moyen de limiter ce crénelage en plein écran, vu que Youtube y parvient sur des vidéos de petites résolutions, mais je m'en contenterais pour l'instant, à moins que vous n'ayez une solution...
     
  8. plucian

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    10
    Appréciations:
    +0 / 0 / -0
    Je reviens vers vous à propos de mon site, mais le problème concerne maintenant le son: je n'avais pas remarqué, mais sur presque toutes les vidéos, le son est à certains endroits mauvais, saturé, avec un effet de résonance.
    exemple sur cette vidéo: Pelicampus - Mosaique Audencia promo 2013
    (dès que la voix off parle notamment)
    L'effet est plus ou moins perceptible selon les vidéos, mais il est gênant.
    D'où peut venir le problème? Cela arrive quel que soit le format original de la vidéo (.avi, .mov).
    Ci-dessous, le fichier qui encode la vidéo et le son. J'ai fait passer les valeurs en gras de 92 à 192, pensant qu'en augmentant le bitrate cela augmenterait la qualité, mais cela n'a rien changé.

    Code:
    #!/bin/sh
    
    export FFMPEGDIR=/home/pelicampus/safe_bin
    
    echo $$ $0 $1 $2 $3 $4  >> $FFMPEGDIR/encode.log
    
    export PROCESSFILE=/home/pelicampus/safe_bin/tmp/$(basename $2)
    
    
    $FFMPEGDIR/ffmpeg -i $1 -s 624x352 -acodec aac -ar 44100 -[B]ab 192k[/B] -ac 2 -vcodec libx264 -r 24 -b 650k -[B]bt 192k[/B] -fpre $FFMPEGDIR/presets/$3.preset -y $PROCESSFILE 2>/dev/null
    
    # Deplace MOOV ATOM au debut du fichier
    echo $$ "/usr/bin/MP4Box -isma -inter 2000 $PROCESSFILE"  >> $FFMPEGDIR/encode.log
    /usr/bin/MP4Box -isma -inter 2000 -out $PROCESSFILE.go $PROCESSFILE 2>/dev/null
    
    mv $PROCESSFILE.go $2
    rm $PROCESSFILE
    
    echo $$ "process image $4"  >> $FFMPEGDIR/encode.log
    
    tot=0
    
    for i in $($FFMPEGDIR/ffmpeg -i $1 2>&1 | grep Duration | cut -f 2-4 -d : | cut -f 1 -d . | sed "s/:/ /g"); do
    tot=$(expr '(' $tot '*' 60 ')' + $i)
    done;
    tot=$(expr $tot / 2)
    
    $FFMPEGDIR/ffmpeg -i $1 -r 1 -f image2 -ss $tot -s 132x86 $4
    Concernant l'image elle-même, je constate aussi des sortes de striures verticales, qui rendent l'image peu nette par endroit. Peut-on l'améliorer?


    Merci pour votre aide.
     
  9. SeTyR

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    24
    Appréciations:
    +0 / 0 / -0
    Mon seul conseil, changez de systeme ! vous utilisez phpmotion ou un truk dans le genre ? ouep, changez de system ou fournisseur de service/webmaster

    L'encodage, non seulement vous enquiquine souvent, mais en plus prend un temps fou ?

    Vous pouvez avoir beaucoup mieux tout en gardant votre dédié actuel , plus rapide, plus robuste, et pouvoir en plus faire du live ou de la vrai tv programmée (pas simplement vod)

    A ton service en mp ;) !
     
    #9 SeTyR, 22 Janvier 2011
    Dernière édition: 22 Janvier 2011
  10. wkw

    wkw

    Points Repaire:
    3 570
    Recos reçues:
    19
    Messages:
    1 444
    Appréciations:
    +0 / 0 / -0
    A la demande de SeTyR j'enlève ce message.
     
    #10 wkw, 22 Janvier 2011
    Dernière édition: 23 Janvier 2011
  11. SeTyR

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    24
    Appréciations:
    +0 / 0 / -0
    oui, ma réponse et mon conseil tiens toujours
    sa date de l'an mille vos méthodes.
     
  12. SeTyR

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    24
    Appréciations:
    +0 / 0 / -0
    Merci wkw!
     
Chargement...

Dernières occasions

 

Partager cette page