
Recherche avancée
Autres articles (38)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
(Dés)Activation de fonctionnalités (plugins)
18 février 2011, parPour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...) -
Gestion des droits de création et d’édition des objets
8 février 2011, parPar défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;
Sur d’autres sites (6845)
-
Flash, Google, VP8, and the future of internet video
This is going to be a much longer post than usual, as it’s going to cover a lot of ground. The internet has been filled for quite some time with an enormous number of blog posts complaining about how Flash sucks–so much that it’s sounding as if the entire internet is crying wolf. But, of [...]
-
Running Background Process using FFMPEG on Google Cloud Run stopping in middle
7 juillet 2021, par pashaplusI have an external bash script that transcodes audio files using FFmpeg and then uploads the files to google cloud storage. I am using the google cloud run platform for this process but the process is stopping in the middle and not getting any clue from the logs. I am using the node js spawn command to execute the bash script


const createHLSVOD = spawn('/bin/bash', [script, file.path, file.destination, contentId, EPPO_MUSIC_HSL_URL, 'Content', speed]);
 createHLSVOD.stdout.on('data', d => console.log(`stdout info: ${d}`));
 createHLSVOD.stderr.on('data', d => console.log(`stderr error: ${d}`));
 createHLSVOD.on('error', d => console.log(`error: ${d}`));
 createHLSVOD.on('close', code => console.log(`child process ended with code ${code}`));



on cloud run beginning the process itself taking a lot of time but in my local machine transcoding and uploading is very fast. after some time transcoding logs are being stopped and no new logs appear. I have no clue what is happening




so what is happening here ? why it is very slow in the first place and why the process is being stopped in middle without any error








-
Passing streams from Fluent-ffmpeg to Google Cloud Storage
31 octobre 2019, par Emilio FariaIs there a way to pass a stream from Fluent-mmpeg to Google Cloud Storage ? I’m trying to allow the user to upload any kind of media (audio or video), and I want to convert it to flac before uploading it to GCS.
I’m using a few middlewares on my route, such as :
routes.post(
'/upload',
multer.single('audio'),
ConvertController.convert,
UploadController.upload,
FileController.save,
(req, res, next) => res.send('ok')
);I was able to stream from Multer to Fluent-mmpeg and save to a file using this code on ConvertController :
async convert(req, res, next) {
ffmpeg(streamifier.createReadStream(req.file.buffer))
.format('flac')
.output('outputfile.flac')
.audioChannels(1)
.on('progress', function(progress) {
console.log(progress);
})
.run();
}But I would like to use .pipe() to pass it to UploadController, where I would then upload to GCS :
class UploadController {
async upload(req, res, next) {
const gcsHelpers = require('../helpers/google-cloud-storage');
const { storage } = gcsHelpers;
const DEFAULT_BUCKET_NAME = 'my-bucket-name';
const bucketName = DEFAULT_BUCKET_NAME;
const bucket = storage.bucket(bucketName);
const fileName = `test.flac`;
const newFile = bucket.file(fileName);
newFile.createWriteStream({
metadata: {
contentType: file.mimetype
}
})
file.on('error', err => {
throw err;
});
file.on('finish', () => console.log('finished'));
}The problem is that I cannot find anywhere explaining how I can pass down a stream to the next middleware.
Is it possible ?