
Recherche avancée
Autres articles (81)
-
Les sons
15 mai 2013, par -
Support de tous types de médias
10 avril 2011Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)
-
Automated installation script of MediaSPIP
25 avril 2011, parTo overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
The documentation of the use of this installation script is available here.
The code of this (...)
Sur d’autres sites (5327)
-
rawdec : don’t leak option strings.
3 juin 2011, par Anton Khirnovrawdec : don’t leak option strings.
-
AVOptions : av_set_string3() allow NULL strings
1er mai 2011, par Michael NiedermayerAVOptions : av_set_string3() allow NULL strings
-
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) {
 ...
 });
};