
Recherche avancée
Autres articles (111)
-
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 (...) -
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (12825)
-
Nomenclature #3465 : Nouvelle balise : #LOGO
26 novembre 2018, par jluc -Codé par marcimat : https://contrib.spip.net/5063
-
ffmpeg : how to extract multiple clips from a movie at once
24 septembre 2019, par GinsoNow I can extract a clip from a movie using
ffmpeg -i movie.mp4 -ss 01:05:10 -t 00:01:30
now, I want to extract a few clips from one movie and especially those late in the movie take very long. I guess ffmpeg has to decode the whole movie up to that clip. Is there a way to extract all clips with one command, so that ffmpeg has to go through the movie only once ? The clips don’t overlap
-
SIGSEGV from ffmpeg on Amazon Lambda
1er août 2024, par SergeTrying out Amazon Lambda / nodejs 8. My goal is to launch ffmpeg, generate a short clip and upload it to S3 bucket.



I created the function following the image resize tutorial. Edited the code to get output from simple linux commands like
ls
orcat /proc/cpuinfo
- all works.


Now, added the ffmpeg binary for i686 - ffmpeg static build by JohnVan Sickle (thanks !). Changed the code to launch simple ffmpeg command that is supposed to create sa 2-seconds small video clip.



That fails, according to logs, with the signal
SIGSEGV
returned to the "close" event handler of child_process.spawn()


As far as I understand, this could be caused by the ffmpeg binary incompatibility with the static build. Or by some mistake in my code.



Several npm modules rely on the static builds from johnvansickle.com/ffmpeg and there are no such issues filed on their github. Maybe there's some other mistake I made ?



Should I compile ffmpeg myself under Amazon Linux AMI
amzn-ami-hvm-2017.03.1.20170812-x86_64-gp2
which is under the hood of AWS Lambda ?




upd. Launched EC2 t2.micro instance from the same AMI, downloaded the same ffmpeg static build, and it works just fine from the command line. Now I doubt that it is a compilation issue.



Also tried copying ffmpeg executable to
/tmp/ffmpeg
andchmod 755
just to make sure.
Running simpleffmpeg --help
command viachild_process.execSync()
returns "Error : Command failed : /tmp/ffmpeg —help"




const join = require('path').join;
const tmpdir = require('os').tmpdir;
const process = require('process');
const fs = require('fs');
const spawn = require('child_process').spawn;
const exec = require('child_process').exec;

const async = require('async');
const AWS = require('aws-sdk');
const util = require('util');

process.env['PATH'] = process.env['PATH'] + ':' + process.env['LAMBDA_TASK_ROOT'];


const tempDir = process.env['TEMP'] || tmpdir();
const filename = join(tempDir, 'test.mp4');
const s3 = new AWS.S3();


exports.handler = function(event, context, callback) {
 var dstBucket = srcBucket + "resized";
 var dstKey = "render-test.mp4";

 async.waterfall([
 function transform(next) {
 var args = [
 '-filter_complex',
 '"testsrc=r=25:s=640x480:d=3"',
 '-an',
 '-y',
 '-hide_banner',
 '-c:v', 'libx264',
 filename,
 ];

 console.log("Will launch ffmpeg");
 const childProcess = spawn('ffmpeg', args);

 childProcess.on('close', function(e) {
 console.log('ffmpeg close event: ' + JSON.stringify(arguments));
 next();
 });

 console.log("After launched ffmpeg");
 },

 function upload(next) {
 ...
 }
 ], function (err) {
 ...
 });
};