Ffmpeg mp3 streaming a través de nodo js

var fs = require('fs'); var child = require('child_process'); var http=require('http') var input_file = fs.createReadStream('./remo.mp3'); http.createServer(function (req,res) { var args = ['-ss',120, '-i', 'remo.mp3', '-f','mp3', 'pipe:1' // Output on stdout ]; var trans_proc = child.spawn('ffmpeg', args); res.writeHead(200, { 'Content-Type': 'audio/mpeg' }); trans_proc.stdout.pipe(res) trans_proc.stderr.on('data',function (err) { console.log(err.toString()); }) }).listen(2000) 

Estoy tratando de cortar el mp3 y la transmisión al navegador pero en el navegador se muestra el archivo dañado

No puedo saber si estás preguntando sobre la descarga de un video de YouTube como un nodo de uso de mp3, pero este hilo apareció encima de Google cuando estaba investigando solo eso. Entonces, si no, tal vez pueda apuntarle en la dirección correcta o ayudar a alguien en el futuro … Mods, perdón si no estoy haciendo esto bien.

Referencia adicional de StackOverflow

Pero estoy usando el siguiente código para descargar un video de youtube como mp3 (descargar video de youtube / convertir a mp3 / descargar):

 module.exports.toMp3 = function(req, res, next){ var id = req.params.id; // extra param from front end var title = req.params.title; // extra param from front end var url = 'https://www.youtube.com/watch?v=' + id; var stream = youtubedl(url); //include youtbedl ... var youtubedl = require('ytdl'); //set response headers res.setHeader('Content-disposition', 'attachment; filename=' + title + '.mp3'); res.setHeader('Content-type', 'audio/mpeg'); //set stream for conversion var proc = new ffmpeg({source: stream}); //currently have ffmpeg stored directly on the server, and ffmpegLocation is the path to its location... perhaps not ideal, but what I'm currently settled on. And then sending output directly to response. proc.setFfmpegPath(ffmpegLocation); proc.withAudioCodec('libmp3lame') .toFormat('mp3') .output(res) .run(); proc.on('end', function() { console.log('finished'); }); 

};