Question

J'ai un programme Winform qui permet aux utilisateurs de télécharger des films Shockwave Flash sur un serveur. Pour obtenir le videoDuration, je crée une instance de "ShockwaveFlashObjects" -activeX, charge le film, puis lit le videoDuration jusqu'à ce qu'il passe de 0.0 à "0.0". à autre chose. Je l’obtiens en lisant GetVariable ("videoDuration").

Cela fonctionne souvent, mais parfois, il bloque ou affiche les informations de la précédente animation Flash chargée.

J'ai également eu du mal à distribuer ShockWaveFlashObject-activeX. Je voudrais vraiment sauter cela et simplement lire le fichier flash et connaître la durée de lecture du film.

Tous les films téléchargés sont des vidéos et ont donc une durée de lecture spécifique.

Cette question n'a pas aidé avec les réponses.

J'ai vérifié le format swf sur wotsit et d'après ce que je peux voir, il devrait être possible de lire les framerate et framecount et par là calculer la durée, mais je n'ai rien pu trouver sur les fichiers FLV. Peut-être que quelqu'un l'a déjà fait et peut m'indiquer un code sympa qui me fait gagner beaucoup de temps à essayer de comprendre les spécifications?

Était-ce utile?

La solution

L’utilisation de ffmpeg pour lire les débits vidéo / audio est l’une des possibilités. Une fois que vous avez ces détails, vous pouvez diviser la taille totale du fichier par la somme des débits vidéo / audio. Cela vous donne une estimation du nombre de secondes (+/- quelques secondes).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top