
Recherche avancée
Médias (1)
-
Somos millones 1
21 juillet 2014, par
Mis à jour : Juin 2015
Langue : français
Type : Video
Autres articles (59)
-
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)
Sur d’autres sites (8208)
-
ERROR : "Cannot Find FFMPEG" on Google Cloud Compute Engine Debian Wheezy 7.8 Managed Instance even though it's installed
17 mai 2021, par DynamoBoosterI wrote a Node.JS application that uses the
fluent-ffmpeg
module to watermark videos uploaded on the platform. I pushed the code to a my Google Cloud Compute Engine project, and every time I getError : Cannot Find FFMPEG
. I ssh'd into the instance once it was created and ran these commands to installFFMPEG
before actually testing out the code. I am not sure what is causing the error because after this I am positive thatFFMPEG
is installed.


sudo apt-get update
sudo apt-get install -y ffmpeg
export FFMPEG_PATH="/usr/bin/ffmpeg"
export FFPROBE_PATH="/usr/bin/ffprobe"




Below is my FFMPEG code



function generate_thumbnail(name, path){
 logging.info("Generating Thumbnail");
 ffmpeg(path)
 .setFfmpegPath('/usr/bin/ffmpeg') 
 .setFfprobePath('/usr/bin/ffprobe')
 .on('end', function() {
 upload_thumbnail(name);
 logging.info("Thumbnail Generated and uploaded");
 return;
 })
 .on('error', function(err, stdout, stderr) {
 logging.info('ERROR: ' + err.message);
 logging.info('STDERR:' + stderr);
 })
 .on('start', function(commandLine) {
 logging.info(commandLine);
 })
 .screenshots({
 count: 1,
 filename: name + '_thumbnail.png',
 folder: 'public/images/thumbnails/'
 });
}



-
Google App Engine - Access file after uploaded to bucket
28 mai 2021, par jessiPPI have uploaded a file using my google app engine backend to my storage bucket but now I cannot access the file to pass in into ffmpeg. I am getting this error message from the try-catch : "The input file does not exist". I can see that the file was uploaded because I checked my developer console under the storage bucket. I am using the boilerplate code provided by google but added the ffmpeg for testing. I am trying to access the path to the uploaded file using, but it is incorrect, though I am getting the bucket.name value and the blob.name value. I am using the "flex" environment for this.


const originalFilePath = `gs://${bucket.name}/${blob.name}`; 



here is the full code :


const process = require('process'); // Required to mock environment variables
const express = require('express');
const helpers = require('./helpers/index');
const Multer = require('multer');
const bodyParser = require('body-parser');
const ffmpeg = require("ffmpeg"); //https://www.npmjs.com/package/ffmpeg
const {Storage} = require('@google-cloud/storage');

// Instantiate a storage client
const storage = new Storage();

const app = express();
app.set('view engine', 'pug');
app.use(bodyParser.json());

// Multer is required to process file uploads and make them available via
// req.files.
const multer = Multer({
storage: Multer.memoryStorage(),
 limits: {
 fileSize: 5 * 1024 * 1024, // no larger than 5mb, you can change as needed.
 },
});

// A bucket is a container for objects (files).
const bucket = storage.bucket(process.env.GCLOUD_STORAGE_BUCKET);

// Display a form for uploading files.
app.get('/', (req, res) => {
 res.render('form.pug');
});

// Process the file upload and upload to Google Cloud Storage.
app.post('/upload', multer.single('file'), (req, res, next) => {

if (!req.file) {
 res.status(400).send('No file uploaded.');
 return;
}

// Create a new blob in the bucket and upload the file data.
const blob = bucket.file(req.file.originalname);
const blobStream = blob.createWriteStream({
 resumable: false,
});

blobStream.on('error', err => {
 next(err);
});

blobStream.on('finish', () => {

const audioFile = helpers.replaceAllExceptNumbersAndLetters(new Date());

// this path is incorrect but I cannot find correct way to do it
const originalFilePath = `gs://${bucket.name}/${blob.name}`; 

const filePathOutput = `gs://${bucket.name}/${audioFile}.mp3`;

try {
 const process = new ffmpeg(originalFilePath);
 process.then(function (video) {
 // Callback mode
 video.fnExtractSoundToMP3(filePathOutput, (error, file) => {
 if (!error)
 res.send(`audio file: ${file}`);
 });
}, (error) => {
 res.send(`process error: ${error}`);

});
} catch (e) {
 res.send(`try catch error: ${JSON.stringify(e)} | bucket: ${JSON.stringify(bucket)} | 
 blob: : ${JSON.stringify(blob)}`);
} 


});

blobStream.end(req.file.buffer);

});

const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
 console.log(`App listening on port ${PORT}`);
 console.log('Press Ctrl+C to quit.');
});


module.exports = app;



-
HTML5 Video Compatibility (MP4, WEBM, OGG) in 2021
19 juillet 2021, par WilliamThe support of HTML5 video has evolved a lot over the years. I am trying to understand whether the
<video></video>
element still needs to have three sources : MP4, WEBM, and OGG.

There are a lot of answers throughout StackOverflow with deeply conflicting information - some of which say that you just need MP4 now, others say, MP4 and WEBM are enough, and then finally many say that you need all three (although many of those article are 10 years old).


W3 suggests that either MP4 or WEBM alone would have universal support (Even though I found a 2011 article from Google saying that they would be removing support for MP4/H.264). Wikipedia paints a more complicated picture (as well as listing that Google Chrome does indeed support MP4/H.264). Azure Media services ONLY seems to allow output in MP4, which would suggest to me that MP4 must have widespread compatibility.


Also see Example 1, Example 2, Example 3.


Is there any definitive information on what video types to include in an HTML5 video player to achieve widespread compatibility ?


Background : I am building a Content Management Platform that allows uploading videos. When a new video is uploaded, a conversion process kicks off to convert the video into the required formats. This takes time and CPU/Memory, so if it is possible I would like to convert uploaded videos into as few formats as possible.


p.s. This question HAS been asked before, however, the fundamentals of playing video on the web continually evolve and most of the answers out there have become irrelevant.