
Recherche avancée
Autres articles (55)
-
Monitoring de fermes de MediaSPIP (et de SPIP tant qu’à faire)
31 mai 2013, parLorsque l’on gère plusieurs (voir plusieurs dizaines) de MediaSPIP sur la même installation, il peut être très pratique d’obtenir d’un coup d’oeil certaines informations.
Cet article a pour but de documenter les scripts de monitoring Munin développés avec l’aide d’Infini.
Ces scripts sont installés automatiquement par le script d’installation automatique si une installation de munin est détectée.
Description des scripts
Trois scripts Munin ont été développés :
1. mediaspip_medias
Un script de (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
Les notifications de la ferme
1er décembre 2010, parAfin d’assurer une gestion correcte de la ferme, il est nécessaire de notifier plusieurs choses lors d’actions spécifiques à la fois à l’utilisateur mais également à l’ensemble des administrateurs de la ferme.
Les notifications de changement de statut
Lors d’un changement de statut d’une instance, l’ensemble des administrateurs de la ferme doivent être notifiés de cette modification ainsi que l’utilisateur administrateur de l’instance.
À la demande d’un canal
Passage au statut "publie"
Passage au (...)
Sur d’autres sites (4584)
-
YouTube - MP4 to MP3 messes up
23 novembre 2019, par theeSparkIt’s supposed to download all the videos in the playlist and convert them to mp3. But all this does is make the mp4’s and 1 empty mp3 with a number higher than the max mp4. My newbie brain doesn’t know how to fix this...
var ytpl = require('ytpl');
var fs = require('fs-extra');
var path = require('path');
var ffmpeg = require('fluent-ffmpeg');
var binaries = require('ffmpeg-static');
var ytdl = require('ytdl-core');
var output_dir = path.join(__dirname+"/dl");
ytpl("PL8n8S4mVUWvprlN2dCAMoIo6h47ZwR_gn", (err, pl) => {
if(err) throw err;
let c = 0;
pl.items.forEach((i) => {
ytdl(i.url_simple+"", { filter: 'audioonly' }).pipe(fs.createWriteStream(output_dir+"/"+c+".mp4")).on('finish', () => {
console.log("Finished MP4 DL, starting conversion...");
ffmpeg(output_dir+"/"+c+".mp4")
.setFfmpegPath(binaries.path)
.format('mp3')
.audioBitrate(320)
.output(fs.createWriteStream(output_dir+"/"+c+".mp3"))
.on('end', () => {
console.log("Finished MP3 Convert...");
})
.run();
});
c++;
});
}); -
Why my nodejs giving this problem while starting to run rtsp ?
14 novembre 2019, par RajaramWhile starting the server for the first time just after the code checkout , my react js project is throwing error "events.js:187 throw er ; // Unhandled ’error’ event" . I have node 13.1.0 and npm 6.12.1.
[
'-rtsp_transport',
'tcp',
'-i',
'rtsp://user:user123@192.168.1.100:88/videoSub',
'-f',
'mpeg1video',
'-b:v',
'1000k',
'-an',
'-r',
'24',
'-'
]
events.js:187
throw er; // Unhandled 'error' event
^
Error: spawn ffmpeg ENOENT
at Process.ChildProcess._handle.onexit (internal/child_process.js:264:19)
at onErrorNT (internal/child_process.js:456:16)
at processTicksAndRejections (internal/process/task_queues.js:80:21)
Emitted 'error' event on ChildProcess instance at:
at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)
at onErrorNT (internal/child_process.js:456:16)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
errno: -2,
code: 'ENOENT',
syscall: 'spawn ffmpeg',
path: 'ffmpeg',
spawnargs: [
'-rtsp_transport',
'tcp',
'-i',
'rtsp://user:user123@192.168.1.100:88/videoSub',
'-f',
'mpeg1video',
'-b:v',
'1000k',
'-an',
'-r',
'24',
'-'
]
} -
FFmpeg raw video size parameter
3 novembre 2019, par Yanick SalzmannI am using libavformat in my library to read a stream of raw i420 images and transform them into an mp4 video. I’ve found CLI commands that perform this but since I am using the library in my program I need to reconstruct the same thing.
Currently the code that is having a problem is looking like this :
const auto raw_format = av_find_input_format("rawvideo");
if (raw_format == nullptr) {
log->error("Could not find RAW input parser in FFmpeg");
throw std::runtime_error("RAW not found");
}
_format_context->pb = _io_context.get();
AVDictionary *input_options = nullptr;
av_dict_set(&input_options, "framerate", std::to_string(fps).c_str(), 0);
av_dict_set(&input_options, "pix_fmt", "yuv420p", 0);
av_dict_set(&input_options, "s:v", fmt::format("{}x{}", width, height).c_str(), 0);
av_dict_set(&input_options, "size", fmt::format("{}x{}", width, height).c_str(), 0);
auto formatPtr = _format_context.get();
auto res = avformat_open_input(&formatPtr, "(memory file)", raw_format, &input_options);Finding the
rawvideo
is no problem, but it fails inavformat_open_input
with the error :[2019-11-03 15:03:22.953] [11599:11663] [ffmpeg] [error] Picture size 0x0 is invalid
I assumed the sizes are something I can insert using the input options, since in the CLI version it is passed using
-s:v 1920x1080
, however this does not seem to be true.Where do I have to specify the dimensions of my raw input stream ?