danielgtaylor/qtfaststart · GitHub

/qtfaststart

  • En train de basculer toutes les vidéos de Flip-Zone en H264, histoire de passer en #html5_video, avec Flash en roue de secours (et compatibilité iPad, qui représente désormais beaucoup de monde sur ce site). Ça fonctionne bien.

    Sauf qu’en fabriquant les fichiers MP4 (.m4v) dans Handbrake, j’ai oublié de cocher « optimisé pour le Web ». Résultat, après 2 heures de compression, j’ai mis 5 heures à réuploader des fichiers vidéo qui ont, tous, les headers à la fin du fichier. Ça fait tousser Varnish (tiens donc ?) et, même en attaquant Apache directement, les vidéos ne se déclenchent qu’une fois l’intégralité du fichier chargé (genre 200Mo).

    Histoire de pas tout retélécharger/recompresser (et dégrader la qualité une fois de plus), j’ai utilisé ce petit script directement sur le serveur. Ça se contente (ultra-rapide !) de déplacer le header du fichier vidéo en début de fichier. Et là, cool ma poule, ça roule.

    danielgtaylor/qtfaststart · GitHub
    https://github.com/danielgtaylor/qtfaststart

    Quicktime/MP4 Fast Start
    Enable streaming and pseudo-streaming of Quicktime and MP4 files by moving metadata and offset information to the front of the file.

    This program is based on qt-faststart.c from the ffmpeg project, which is released into the public domain, as well as ISO 14496-12:2005 (the official spec for MP4), which can be obtained from the ISO or found online.

    The goals of this project are to run anywhere without compilation (in particular, many Windows and Mac OS X users have trouble getting qt-faststart.c compiled), to run about as fast as the C version, to be more user friendly, and to use less actual lines of code doing so.