2009-10-09 8 views
0

Guys ...! Je suis un débutant complet à cette zone de formats audio/vidéo/codecs, leurs joueurs, leurs API exposées, etc. J'apprécierais grandement votre patience ainsi que des conseils sur cette question à moi.Rappel de passage de temps lors du rendu enregistré et en direct/streaming audio/vidéo

Question: Presque tous les lecteurs audio/vidéo affichent des informations de passage dans le format hh: mm: ss. Je veux être en mesure d'enregistrer un callback - qui peut être soit un callback Java/applet ou un callback Javascript - qui est appelé à chaque fois 'tick' et exécute mon code personnalisé. Peut-être que ce n'est pas une tache de temps mais un événement de «passage de trame» dans le jargon des codecs. Peut-être, ces codecs/lecteurs vous permettent même de spécifier la fréquence de rappel (tous les trames ou secondes) ...

Deuxièmement, je souhaite être en mesure de le faire à la fois pour le contenu enregistré et en direct/streaming contenu.

Quels logiciels opensource, outils, API, 'concepts', etc. Je devrais regarder? J'aimerais être en mesure de gérer les formats les plus populaires tels que FLV, AVI, MP3, MPEG. Idéalement, je préférerais faire quelque chose en Java/Javascript.

Vous ne savez pas par où commencer. Un échantillon, un extrait de code, ou même simplement le processus/les étapes que je dois suivre seraient d'une grande aide. Merci encore.

Répondre

1

Cela dépend du type d'environnement dans lequel vous exécutez et du type de choses que vous voulez faire dans votre rappel. Certains frameworks multimédia ont un moyen d'ajouter des filtres vidéo, sous-titres ou audio, qui ont accès aux différentes données du flux. Un tel framework open source est GStreamer. Un autre est le langage basé sur Java Processing, bien qu'il ne puisse pas décoder directement les formats vidéo populaires par lui-même. Je pense que VLC, qui est bien sûr le roi open source des formats vidéo, a également une API qui pourrait potentiellement répondre à vos besoins.

Le nouveau HTML5 video element définit un événement timeupdate, qui se déclenche toutes les 15 à 250 ms pendant la lecture de la vidéo. L'attribut currentTime est accessible pour obtenir la position de lecture actuelle. Il est également possible de manipulate the HTML5 video directly in JavaScript code.

Si vous voulez juste un rappel de temps pendant la lecture de la vidéo et que vous n'avez pas besoin de filtrer les données, vous pouvez simplement utiliser les fonctions de minuterie standard de votre langue, par ex. setTimeout() en JavaScript, pour demander un rappel de minuterie à la fréquence d'images de la vidéo.

Questions connexes