Wie bekomme ich eine Momentaufnahme noch ein video in nodejs?
Ich bin versucht, zu schreiben einen nodejs-server, der eine Zeit-Eingang (möglicherweise Teil der url-Pfad) und stellen Sie dann eine immer noch von der video-frame-damals-index als jpeg-Bild.
Kann ich dies leicht tun in plain Javascript, aber ich kann nicht sehen, ein Weg, dies zu tun in nodejs. Ich weiß, ich werde wahrscheinlich benötigen, um ein canvas plugin wie Knoten-Leinwand zu tun, die Momentaufnahme.
Alle Ideen willkommen.
Folgende ist, wie ich es in Javascript im 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 nicht video die Verarbeitung tool und es ist nicht empfohlen, mit video-web-Anwendung. Wenn Sie möchten, mit video-auf der server-Seite benötigt man ein geeignetes Werkzeug für diese und einige Warteschlange Realisierung (vielleicht auf Knoten).
InformationsquelleAutor MYR | 2012-01-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Knoten-fließend-ffmpeg hat eine schöne
takeScreenshots
Funktion.npm installieren fließend-ffmpeg npm http GET registry.npmjs.org/fluent-ffmpeg npm ERR! Error: failed to fetch-Registrierung: fließend-ffmpeg ... Das ist die Fehlermeldung die ich bekommen, überprüft die proxy-Einstellungen etc, alles in Ordnung! 🙁
Na dann versuchen Sie zu beheben, dass problem mit npm, weil es definitiv besser ist, um alle Module im userland zur Verfügung, als das Rad neu zu erfinden.
Sehen Sie die registry-ok über npm, wenn ich gehen, um die Registrierungs-url über einen browser kann ich sehen das json in Ordnung, allerdings versucht npm auf jedem Modul gibt mich, es gibt auch Beiträge erscheinen, die nahelegen, dass das möglicherweise etwas anderes sein. z.B. github.com/nodejitsu/forever/issues/216
Es passiert bei mir auch, und ich habe die neuste version.
InformationsquelleAutor fent
Als 'Knoten-fließend-ffmpeg' war nicht für mich arbeiten, aus irgendeinem Grund, ich dachte, dies selbst - basierend auf dem code von video-thumb (die war auch nicht für mich arbeiten). Sie brauchen, um zu installieren FFMPEG, bevor Sie diesen code verwenden, hier ist tutorial, wie zu tun, so für den Mac.
InformationsquelleAutor Steven Oosterbeek
Können Sie die Knoten-fließend-ffmpeg Modul. Sie müssen installieren Sie ffmpeg; auf MacOS zu installieren Homebrew dann verwenden Sie die
brew install ffmpeg
Befehl.InformationsquelleAutor Steven Westmoreland