Comment puis-je obtenir un aperçu d'une vidéo en nodejs?
Je suis en train d'écrire un serveur nodejs qui va prendre un temps d'entrée (éventuellement une partie du chemin d'accès d'url), et ensuite fournir un encore de l'image vidéo à l'époque de l'index comme une image jpeg.
Je peux le faire facilement dans la plaine du Javascript, mais je ne peux pas voir un moyen de le faire dans nodejs. Je sais que je vais probablement besoin d'utiliser une toile de plugin, comme le node-toile pour faire de la capture.
Toutes les idées de bienvenue.
Voici comment je le fais en Javascript pour le moment:
myjavascript.js
function capture(video, scaleFactor) {
if(scaleFactor == null){
scaleFactor = 1;
}
var w = video.videoWidth * scaleFactor;
var h = video.videoHeight * scaleFactor;
stdout("<br/> w: "+ w+ "<br/> h: "+ h);
var canvas = document.createElement('canvas');
canvas.width = w;
canvas.height = h;
var ctx = canvas.getContext('2d');
ctx.drawImage(video, 0, 0, w, h);
return canvas;
}
function shoot(){
var video = document.getElementById("videoTag");
var output = document.getElementById("output");
var canvas = capture(video, 1);
output.innerHTML = '';
output.appendChild(canvas);
}
index.html
<html>
<head>
<title>video snap</title>
<script type="text/javascript" src="myjavascript.js"></script>
</head>
<body>
<div id="video_container" >
<video id="videoTag" width="640" height="360" autobuffer="" controls="true">
<source src="frozenplanet.mp4" type="video/mp4">
<source src="frozenplanet.ogv" type="video/ogg">
</video>
</div>
<div id="output"></div>
</body>
</html>
Node.js n'a pas le traitement vidéo de l'outil et il n'est pas recommandé pour traiter la vidéo par le web-application. Si vous voulez des vidéo sur le côté serveur, vous avez besoin d'un outil approprié pour que les et certains de la file d'attente de la réalisation (peut-être sur le nœud).
OriginalL'auteur MYR | 2012-01-10
Vous devez vous connecter pour publier un commentaire.
nœud-fluent-ffmpeg a une belle
takeScreenshots
fonction.npm install fluide-ffmpeg mnp http GET registry.npmjs.org/fluent-ffmpeg npm ERR! Erreur: impossible de récupérer à partir du registre: courant-ffmpeg ... C'est l'erreur que je reçois, vérifié les paramètres de proxy, etc, tous beaux! 🙁
Eh bien essayer de résoudre ce problème avec npm, car il est certainement préférable d'avoir tous les modules dans un système de base disponibles que d'avoir à réinventer la roue.
Pouvez-vous voir le registre ok via npm, si je vais dans le registre url dans un navigateur, je peux vu le json bien, mais en essayant de mnp sur n'importe quel module me donne, il y a aussi les posts qui indiquent que cela pourrait être quelque chose d'autre. par exemple, github.com/nodejitsu/forever/issues/216
Ce qui se passe avec moi aussi, et j'ai la dernière version.
OriginalL'auteur fent
Comme "nœud-fluent-ffmpeg" n'était pas, pas de travail pour moi pour une raison quelconque, j'ai compris moi - même- sur la base du code de vidéo-pouce (qui d'ailleurs ne fonctionnait pas pour moi). Vous avez besoin d'installer FFMPEG avant de vous pouvez utiliser ce code, ici tutoriel sur la façon de faire pour Mac.
OriginalL'auteur Steven Oosterbeek
Vous pouvez utiliser le nœud-fluent-ffmpeg module pour cela. Vous aurez besoin d'installer ffmpeg; sur MacOS, installer Homebrew puis utilisez le
brew install ffmpeg
commande.OriginalL'auteur Steven Westmoreland