Tag: ffmpeg

连接audioblob

我尝试使用Muaz Khan的Web RTC实验连接audioblob,但是当我播放连接的audio时,HTMLaudio元素不显示audio文件的全长,并且如果您下载并播放,则问题将持续存在。 我用ffmpeg来拼接这些blob,但是有没有一种方法可以用来连接audioblob,使用Muaz Khan的Web RTC js实验 。 类似的尝试也没有解决: 合并两个audioblob录音

如何从multer访问上传的文件?

我能够上传一个图像到S3 。 现在,如果select的文件是.gif ,我希望能够将.gif文件转换为.mp4并将转换后的file upload到S3 。 我能够将一个.gif转换为.mp4与ffmpeg只有当我给文件的path。 如何访问Multer上传的文件? 以下是我的代码: var express = require('express'); var bodyParser = require('body-parser'); var app = express(); var aws = require('aws-sdk'); var multer = require('multer'); var multerS3 = require('multer-s3'); var s3 = new aws.S3(); var ffmpeg = require('fluent-ffmpeg'); var upload = multer({ storage: multerS3({ s3: s3, bucket: 'myBucket', key: function (req, […]

如何通过Node JS在ffmpeg中获取特定的开始和结束时间?

我想在特定的开始和结束时间剪切video并保存。 我不能理解如何减less节点JS的video的具体时间。 video复制代码: return new Promise(function(resolve ,reject){ var ffmpeg = require('fluent-ffmpeg'); ffmpeg(fs.createReadStream(path.join(__dirname,'..','..','/video.mp4'))) .seekInput('01:00') .duration('02:00') .outputOptions('-strict experimental') .on('start', function(commandLine) { console.log('Spawned Ffmpeg with command: ' + commandLine); }).on('end', function(err) { if (!err) { console.log('conversion Done'); //res.send("conversion Done"); resolve(); } }).on('error', function(err) { console.log('error: ', +err); reject(err); }).save(path.join(__dirname,'..','..','/test.mp4')); });

NodeJs:如何pipe两个stream到一个产生的进程stdin(即ffmpeg)导致一个单一的输出

为了两个PCMaudio转换成MP3我使用以下内容: function spawnFfmpeg() { var args = [ '-f', 's16le', '-ar', '48000', '-ac', '1', '-i', 'pipe:0', '-acodec', 'libmp3lame', '-f', 'mp3', 'pipe:1' ]; var ffmpeg = spawn('ffmpeg', args); console.log('Spawning ffmpeg ' + args.join(' ')); ffmpeg.on('exit', function (code) { console.log('FFMPEG child process exited with code ' + code); }); ffmpeg.stderr.on('data', function (data) { console.log('Incoming data: ' + […]

Node.JS:FFmpegpipe道video编码没有创build缩略图

我想在上传到ffmpeg的过程中将video传输到实时缩略图创build。 一切正常,但没有thumbnail.jpg创build,ffmpeg stderr挂起库版本显示后。 更新:我更新了我的代码,但它也没有创build一个有效的缩略图。 var formidable = require('formidable'), http = require('http'), sys = require('sys'), spawn = require('child_process').spawn; function spawnFfmpeg(exitCallback) { var args = ['-i', 'pipe:0', '-c:v', 'mjpeg', '-ss', '00:00:13', '-vframes', '1', '-s', '100×80', 'thumbnail.jpg'] var ffmpeg = spawn('ffmpeg', args); console.log('Spawning ffmpeg ' + args.join(' ')); ffmpeg.on('exit', exitCallback); ffmpeg.stderr.on('data', function(data) { console.log('grep stderr: ' + data); […]

在Node.js中的两个subprocess之间的pipe道?

我试图用Node.js使用FFmpeg捕捉video,并通过使用MediaSource API播放的websockets将其发送到浏览器。 到目前为止,我在Firefox中工作,但不能在Chrome中正确解码。 显然,从阅读这个问题我需要使用sample_muxer程序来确保每个“集群”以关键帧开始。 以下是我正在使用的代码: var ffmpeg = child_process.spawn("ffmpeg",[ "-y", "-r", "30", "-f","dshow", "-i","video=FFsource:audio=Stereo Mix (Realtek High Definition Audio)", "-vcodec", "libvpx", "-acodec", "libvorbis", "-threads", "0", "-b:v", "3300k", "-keyint_min", "150", "-g", "150", "-f", "webm", "-" // Output to STDOUT ]); ffmpeg.stdout.on('data', function(data) { //socket.send(data); // Just sending the FFmpeg clusters works with Firefox's // implementation of […]

使用pipe道字符| 与child_process产卵

我在树莓派上运行nodejs,我想运行一个subprocess来产生一个摄像头stream。 在节点之外,我的命令是: raspivid -n -mm matrix -w 320 -h 240 -fps 18 -g 100 -t 0 -b 5000000 -o – | ffmpeg -y -f h264 -i – -c:v copy -map 0:0 -f flv -rtmp_buffer 100 -rtmp_live live "rtmp://example.com/big/test" 随着child_process我必须打破每个争论 var args = ["-n", "-mm", "matrix", "-w", "320", "-h", "240", "-fps", "18", "-g", "100", "-t", "0", […]

将ffmpeg添加到heroku的buildback nodejs中

我一直在试图制作一个可以将音乐可视化的服务器( 这是我目前为止的 )。 这是成功的,但我想尝试,使其与YouTubevideo的工作,我已经find了很多github上的存储库的YouTubevideoaudio转换,使这个合理的可行,但为了部署一个服务器上heroku,可以以我想要的格式托pipeYouTubevideo的临时audio文件,我需要将ffmpeg包含在buildpack中,我不知道如何去做。 这是node.js的heroku buildpack,但我真的不明白它是如何工作的。 TL; DR :为了成功地将一个node.js服务器部署到heroku并运行此代码,在github上分发heroku-buildpack-nodejs存储库之后需要执行哪些步骤? var conversionProcess = child_process.spawn( 'ffmpeg', ['-i', 'some_youtube_audio.mp3', 'some_youtube_audio.webm'], { cwd: __dirname + '/tmp' } ); 顺便说一下,这个函数的文档在node.js API上 。

video到audio文件通过FFMPEG节点js转换和保存

我正在研究节点js上的FFMPEG。 我想使用节点js从video文件中检索音轨。 我也想保存这样的文件,但我不知道如何。 我虽然这行代码会帮助我: ffmpeg('/path/to/file.avi').noVideo(); 我在npm包里有这个。 我不太明白如何处理这个问题,以及如何保存audio文件。 其他一些代码: try { var process = new ffmpeg('/path/to/your_movie.avi'); process.then(function (video) { // Callback mode video.fnExtractSoundToMP3('/path/to/your_audio_file.mp3', function (error, file) { if (!error) console.log('Audio file: ' + file); }); }, function (err) { console.log('Error: ' + err); }); } catch (e) { console.log(e.code); console.log(e.msg); } 我的问题是: 如何从FFMPEGvideo中检索audio? 我如何保存它?

NodeJS – pipe道多个FFMPEG进程

我试图编程一个转换器,可以采取任何video源,并将其转换为MP3。 mp3应该保存在我的硬盘上,或者保存在一个缓冲区中,通过电报发送。 目前为止效果不错,我唯一面临的问题是一次只能拍一个video,而我不知道为什么。 // IMPORTS var fs = require('fs'); var https = require('https'); var child_process = require('child_process'); // EVENTEMITER (Not used so far) var util = require('util'); var EventEmitter = require('events').EventEmitter; // STREAMHANDLER var StreamHandler = function(url, name){ // VARIABLES self = this; this.url = url; this.name = name; // CREATE FFMPEG PROCESS var spawn […]