Im essayant de créer un streaming vidéo en utilisant des fantômes qui créent des captures d'écran à partir d'une URL, il dirigera les images vers ffmpeg afin qu'il puisse l'utiliser pour diffuser la vidéo vers une URL rtmp. voici ce que j'ai essayé jusqu'à présent:
phantomjs runner.js | ffmpeg -f image2pipe -vcodec png -c:a copy -c:v libx264 -f flv rtmp://localhost/mystream
et voici le script:
var page = require('webpage').create();
page.viewportSize = { width: 640, height: 480 };
page.open('http://www.goodboydigital.com/pixijs/examples/12-2/', function () {
setInterval(function() {
page.render('/dev/stdout', { format: "png" });
}, 25);
});
et voici la sortie:
ffmpeg version 3.0.2 Copyright (c) 2000-2016 the FFmpeg developers
built with Apple LLVM version 7.3.0 (clang-703.0.29)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.0.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --Host-cflags= --Host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-vda
libavutil 55. 17.103 / 55. 17.103
libavcodec 57. 24.102 / 57. 24.102
libavformat 57. 25.100 / 57. 25.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 31.100 / 6. 31.100
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Output #0, flv, to 'rtmp://localhost/mystream':
Output file #0 does not contain any stream
Votre commande actuelle ne spécifie aucune entrée, utilisez donc
phantomjs runner.js | ffmpeg -f image2pipe -i pipe:.png -c:a copy -c:v libx264 -f flv rtmp://localhost/mystream
Il n'y a pas d'entrée audio, donc la définition d'un codec audio est inutile. Si votre sortie a besoin d'un flux audio, utilisez
phantomjs runner.js | ffmpeg -f image2pipe -i pipe:.png -f lavfi -i anullsrc -c:v libx264 -c:a aac -f flv rtmp://localhost/mystream