2010-12-03 5 views
0

J'essaie d'obtenir la longueur de la vidéo pendant le téléchargement de la vidéo. Nous utilisons SWFUpload pour télécharger le fichier. Puis un trombone pour le stocker sur S3. Notre processus actuel charge le fichier en mémoire et l'analyse ensuite. Il explose avec de gros films. Je sais que je peux télécharger à nouveau le fichier depuis S3 vers mon instance EC2 par la suite. Je me demandais s'il y avait un moyen de traiter le fichier avant que Paperclip le prenne, donc je peux lancer l'inspection FFMPEG dessus.Capturer la longueur de la vidéo avec FFMPEG et Paperclip

Répondre

2

Vous pouvez faire un before_save pour traiter le fichier temporaire avant qu'il ne soit sauvegardé si vous ne le téléchargez pas directement sur s3. C'est probablement le moyen le plus simple.

Je me demande si vous avez vraiment besoin de charger le fichier entier en utilisant FFMPEG? Tout ce dont vous avez besoin, ce sont les méta-données du fichier. J'ai écrit une application pour l'audio qui a fait quelque chose de similaire. Vous pouvez obtenir la taille de fichier de Paperclip, si vous pouvez obtenir le débit du MPEG, vous pouvez facilement calculer la longueur du fichier en divisant la taille du fichier par le débit. Utilisez un rappel before_save/before_create pour obtenir le débit du fichier et le stocker en tant que champ dans la base de données. Générez dynamiquement la longueur à partir de cette valeur.

Questions connexes