Conversion de stream vidéo node avec ffmpeg
Bonjour,
Je cherche à encapsuler un flux vidéo h264 en mp4.
La source est un child process utilisant la caméra d'un raspberry pi.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
let file = fs.createWriteStream(__dirname + "/video.flv");
let args = ["-o", "-", "-t", "10000"];
let videoInputProcess = child.spawn("raspivid", args, {
stdio: ["ignore", "pipe", "inherit"]
});
videoInputProcess.stdout.setEncoding('utf8');
videoInputProcess.stdout
.pipe(
child.spawn(
"ffmpeg",
["-i", "pipe:0", "-c:v", "copy", "-f", "flv", "pipe:1"],
{
stdio: ["ignore", "pipe", "inherit"]
}
).stdout
)
.pipe(file); |
Lorsque j'exécute ce code j'ai cette erreur (ffmpeg):
pipe:: Invalid data found when processing input
Visiblement ffmpeg ne reconnait pas les buffer qui arrivent en entrée.
L'erreur est déclenchée juste après que le premier buffer soit arrivé.
Est ce que quelqu'un aurait une solution?
Merci :)