Comment puis-je obtenir la première image d'un fichier vidéo en JavaScript sous forme d'image? P>
5 Réponses :
JavaScript n'est pas capable de le faire. P>
Il peut être fait sur un côté client avec des balises HTML 5, voir ma réponse ci-dessous
Comme mentionné, JavaScript n'est pas capable de le faire.
Si vous souhaitez créer des vignettes pour vos vidéos, vous devez créer le côté du serveur miniature, puis servir simplement l'image sur le client comme vous le feriez d'une autre image. . P>
Ma méthode de choix pour accomplir ceci est le FFMPEG décodeur. Il peut gérer une multitude de formats de fichier et est capable de faire ce que vous voulez. Donc, si vous avez une vidéo nommée Vous pouvez exécuter cette commande (correction des chemins et des dimensions. .) Avec tout langage côté serveur que vous utilisez et cela créerait une vignette du fichier vidéo. P> p> hello.avi code>, vous pouvez faire: p>
Il peut être possible si la vidéo est un fichier sélectionné par l'utilisateur dans un https://developer.mozilla.org/en-us/docs/ DOM / FILEREADER P>
De là, vous êtes juste laissé avec le problème extrêmement insoluble de décoder la vidéo et de choisir en quelque sorte une seule image, en JavaScript. Sinon, vous pouvez simplement inclure toute la vidéo en tant que "Aperçu de la vignette" (je suppose que c'est pourquoi vous faites cela?), Comme démontré ici: P>
http: // hacks .mozilla.org / 2009/12 / File-Drag-and-Drop-in-Firefox-3-6 / P>
Pas sûr de la compatibilité de ce dernier exemple, ou de la qualité de fonctionnement avec des fichiers vidéo plus importants (j'entends que vous pouvez facilement heurter les restrictions de longueur d'URL) p>
Ajoutez simplement la balise vidéo à la page sans commandes et aucune lecture automatique. P>
Il peut être fait avec les balises de vidéo HTML 5 et de toile:
html: p> javascript: p>
N'a pas travaillé de moi. Je devais ajouter 'vidéo.currenttime = 0,001' comme solution de contournement, sinon l'image était vide.
Cette convention de dénomination supérieure de soulignement semble spéciale.
Vous voulez dire client JS ou Server JS? Si le côté client, je ne pense pas que cela soit possible.
Quel format vidéo? FLV? Avi? MOV?
Utilisez-vous des balises vidéo HTML5?
Le format pourrait être n'importe lequel de ce qui précède
Si le côté serveur, quel cadre latéral serveur / moteur utilisez-vous?
JavaScript n'a pas de fonctionnalité de traitement vidéo native. Les navigateurs ne fournissent pas de fonctionnalité de traitement vidéo. Vous aurez besoin d'une bibliothèque qui cela est fourni de quelque part ailleurs - si le JS exécute le côté serveur, vous aurez besoin de l'exécution que vous utilisez pour le prendre en charge si le JS exécute le côté client, vous aurez besoin de quelque chose que le JS peut y accéder. Pour le faire (par exemple, une applet Java).
JavaScript ne fonctionne jamais sur le côté serveur!
@JOSH: Sauf quand il fait! Il y a beaucoup de lignes dans cette table sur en.wikipedia.org/wiki/server-side_javascript
Stackoverflow.com/questions/19175174 / ...