2009-04-13 4 views
0

J'écris une application de serveur de streaming vidéo. J'ai un fichier AVI et je l'ai mis sur IIS 7 pour le streaming. J'ai trouvé que le client ne peut pas sauter à un emplacement arbitraire du média, si le média n'est pas déjà tamponné. Je pense que certaines méta-données manquent pendant l'enregistrement? Après la recherche, je pense, Windows Media Player ne pouvait pas sauter à un emplacement arbitraire avant buffered localement, puisque le bloc d'index de AVI (nécessaire pour la recherche) est stocké à la fin du fichier.Problème avec les fichiers AVI en streaming

Voici un exemple, si ma vidéo avi enregistrée est de 10 minutes, et maintenant je joue à la 4ème minute, et les médias de diffusion locale tamponnée est tamponnée à la 5ème minute, je ne peux pas sauter à tout moment après le 5ème minutes, comme la 7e minute dans Windows Media Player.

Je n'ai pas rencontré le même problème avec d'autres formats comme asf/wmv. Donc je pense que c'est un problème d'AVI plutôt que de serveur ou de tout autre problème environnemental.

Mes questions sont,

  1. Quelle est la raison réelle pour ne pas être en mesure de sauter à l'emplacement arbitraire pour le fichier AVI, avant qu'il ne soit tamponne?
  2. Solutions ou solutions de contournement? Puis-je utiliser d'autres lecteurs plus intelligents à la place, qui peut gérer ce problème ou puis-je ajouter une correction de code sur le serveur?

Répondre

3

Comme vous l'avez déjà découvert, index est écrit à la fin des conteneurs avi. C'est pourquoi le format AVI n'est pas bon pour le streaming.

Vous devez convertir votre vidéo dans un autre format contenant les informations d'indexation au début. Par exemple, flv, wmv, ogg/theora, etc.

+0

Salut Milan, la conversion est trop lente ... Avez-vous des idées pour accélérer? J'ai une vidéo de 30 minutes, et il faut 20 minutes pour convertir en FLV. Mon ordinateur est puissant, 4G RAM et 2 processeurs. La taille du fichier AVI d'entrée est d'environ 150M Bytes. – George2

+0

@Milan, désolé une autre question. Si vous pensez que la conversion à un autre format comme flv/wmv est la meilleure solution, pourriez-vous recommander des solutions de conversion vidéo, comme H/W? Je pense que l'utilisation de CPU pour convertir la vidéo est vraiment lente ... :-) – George2

+0

Eh bien, si vous voulez garder la qualité, il faut prendre le temps. Ce serait mieux si vous aviez une source non-lossy avant qu'elle soit au format avi. Pour l'encodage/recodage, j'utilise les programmes mencoder et ffmpeg, mais il y en a beaucoup. Peut-être que vous devriez poser une question distincte à ce sujet. –

Questions connexes