Recherche avancée

Médias (91)

Autres articles (90)

  • MediaSPIP Init et Diogène : types de publications de MediaSPIP

    11 novembre 2010, par

    À l’installation d’un site MediaSPIP, le plugin MediaSPIP Init réalise certaines opérations dont la principale consiste à créer quatre rubriques principales dans le site et de créer cinq templates de formulaire pour Diogène.
    Ces quatre rubriques principales (aussi appelées secteurs) sont : Medias ; Sites ; Editos ; Actualités ;
    Pour chacune de ces rubriques est créé un template de formulaire spécifique éponyme. Pour la rubrique "Medias" un second template "catégorie" est créé permettant d’ajouter (...)

  • Le plugin : Gestion de la mutualisation

    2 mars 2010, par

    Le plugin de Gestion de mutualisation permet de gérer les différents canaux de mediaspip depuis un site maître. Il a pour but de fournir une solution pure SPIP afin de remplacer cette ancienne solution.
    Installation basique
    On installe les fichiers de SPIP sur le serveur.
    On ajoute ensuite le plugin "mutualisation" à la racine du site comme décrit ici.
    On customise le fichier mes_options.php central comme on le souhaite. Voilà pour l’exemple celui de la plateforme mediaspip.net :
    < ?php (...)

  • Liste des distributions compatibles

    26 avril 2011, par

    Le tableau ci-dessous correspond à la liste des distributions Linux compatible avec le script d’installation automatique de MediaSPIP. Nom de la distributionNom de la versionNuméro de version Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    Si vous souhaitez nous aider à améliorer cette liste, vous pouvez nous fournir un accès à une machine dont la distribution n’est pas citée ci-dessus ou nous envoyer le (...)

Sur d’autres sites (4368)

  • "Invalid or unexpected token" error when trying to execute ffmpeg build on lambda

    4 janvier 2019, par almarc

    I have a node.js script that uses ffmpeg to convert mp4 downloaded from YT to mp3 and save to Amazon S3. Uploading using the serverless framework. The "ffmpeg" file is included in the main directory (with .yml), downloaded from here :
    https://johnvansickle.com/ffmpeg/

    The code :

    'use strict'
    process.env.PATH = process.env.PATH + ':/tmp/'
    process.env['FFMPEG_PATH'] = '/tmp/ffmpeg';
    const BIN_PATH = process.env['LAMBDA_TASK_ROOT']
    process.env['PATH'] = process.env['PATH'] + ':' + BIN_PATH;

    module.exports.download_mp3 = function (event, context, callback)
    {
     require('child_process').exec('cp /var/task/ffmpeg /tmp/.; chmod 755
     /tmp/ffmpeg;', function (error, stdout, stderr) {
     if (error)
     {
       console.log('An error occured', error);
       callback(null, null)
     }
     else
     {
       var ffmpeg = require('ffmpeg');
       const aws = require('aws-sdk')
       const s3 = new aws.S3()
       const ytdl = require('ytdl-core');

       function uploadFromStream(s3) {
         const stream = require('stream')
         var pass = new stream.PassThrough();

         var params = {Bucket: "some-bucket", Key: "some-key", Body: pass};
         s3.upload(params, function(err, data) {
           console.log(err, data);
         });
         console.log("Should be finished")
         callback(null)
       }

       let stream = ytdl("some-video-id", {
         quality: 'highestaudio',
         filter: 'audioonly'
       });

       ffmpeg(stream)
         .audioBitrate(128)
         .format('mp3')
         .on('error', (err) => console.error(err))
         .pipe(uploadFromStream(s3), {
           end: true
       });
     }})
    }

    When triggered, the function writes an error in logs :

    2019-01-04T14:50:54.525Z    21da4d49-1030-11e9-b901-0dc32b691a16    
    /var/task/ffmpeg:1
    (function (exports, require, module, __filename, __dirname) { ELF
    ^

    SyntaxError: Invalid or unexpected token
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:616:28)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at /var/task/download.js:17:18

    It’s, most definetely, an error in the "ffmpeg" file I’ve mentioned above (link provided). But I don’t know what’s the exact issue, I followed the first answer here : https://stackoverflow.com/questions/47882810/lambda-not-connecting-to-ffmpeg to include the ffmpeg build.

  • FFmpeg transcoding on Lambda results in unusable (static) audio

    17 mai 2020, par jmkmay

    I'd like to move towards serverless for audio transcoding routines in AWS. I've been trying to setup a Lambda function to do just that ; execute a static FFmpeg binary and re-upload the resulting audio file. The static binary I'm using is here.

    &#xA;&#xA;

    The Lambda function I'm using in Python looks like this :

    &#xA;&#xA;

    import boto3&#xA;&#xA;s3client = boto3.client(&#x27;s3&#x27;)&#xA;s3resource = boto3.client(&#x27;s3&#x27;)&#xA;&#xA;import json&#xA;import subprocess &#xA;&#xA;from io import BytesIO&#xA;&#xA;import os&#xA;&#xA;os.system("cp -ra ./bin/ffmpeg /tmp/")&#xA;os.system("chmod -R 775 /tmp")&#xA;&#xA;def lambda_handler(event, context):&#xA;&#xA;    bucketname = event["Records"][0]["s3"]["bucket"]["name"]&#xA;    filename = event["Records"][0]["s3"]["object"]["key"]&#xA;&#xA;    audioData = grabFromS3(bucketname, filename)&#xA;&#xA;    with open(&#x27;/tmp/&#x27; &#x2B; filename, &#x27;wb&#x27;) as f:&#xA;        f.write(audioData.read())&#xA;&#xA;    os.chdir(&#x27;/tmp/&#x27;)&#xA;&#xA;    try:&#xA;        process = subprocess.check_output([&#x27;./ffmpeg -i /tmp/joe_and_bill.wav /tmp/joe_and_bill.aac&#x27;], shell=True, stderr=subprocess.STDOUT)&#xA;        pushToS3(bucketname, filename)&#xA;        return process.decode(&#x27;utf-8&#x27;)&#xA;    except subprocess.CalledProcessError as e:&#xA;        return e.output.decode(&#x27;utf-8&#x27;), os.listdir()&#xA;&#xA;&#xA;def grabFromS3(bucket, file):&#xA;&#xA;    obj = s3client.get_object(Bucket=bucket, Key=file)&#xA;    data = BytesIO(obj[&#x27;Body&#x27;].read())&#xA;&#xA;    return(data)&#xA;&#xA;def pushToS3(bucket, file):&#xA;&#xA;    s3client.upload_file(&#x27;/tmp/&#x27; &#x2B; file[:-4] &#x2B; &#x27;.aac&#x27;, bucket, file[:-4] &#x2B; &#x27;.aac&#x27;)&#xA;&#xA;    return&#xA;

    &#xA;&#xA;

    You can listen to the output of this here. WARNING : Turn your volume down or your ears will bleed.

    &#xA;&#xA;

    The original file can be heard here.

    &#xA;&#xA;

    Does anyone have any idea what might be causing the encoding errors ? It doesn't seem to be an issue with the file upload, since the md5 on the Lambda fs matches the MD5 of the uploaded file.

    &#xA;&#xA;

    I've also tried building the static binary on an Amazon Linux instance in EC2, then zipping and porting it into the Lambda project, but the same issue persists.

    &#xA;&#xA;

    I'm stumped ! :(

    &#xA;

  • Read H264 streaming from Elp H264 with OpenCV + Python

    3 février 2017, par Francesco Paissan

    I’m trying to read an udp streaming of a H264 encoded image. The software structure is like follows :

    On a BeagleBoneBlack (Ubuntu 16.04) I’ve an Elp H264 cam (see here : https://www.amazon.com/ELP-Support-Android-Windows-Surveillance/dp/B00VDSBH9G ). I stream frames with ffmpeg on a Unicast UDP Stream.

    I want to read this images from python and opencv to be able to process them.

    I tried with this simple code to see if the cap is opened or not :

    import cv2
    try:
        cap = cv2.VideoCapture("udp://localhost:1234/")
       cap.set(CV_CAP_PROP_FOURCC, CV_FOURCC('H', '2', '6', '4'));
    except Exception, e:
       print str(e)

    But when I run this script python says :

    DtsGetHWFeatures : Create File Failed DtsGetHWFeatures : Create File
    Failed Running DIL (3.22.0) Version DtsDeviceOpen : Opening HW in mode
    0 DtsDeviceOpen : Create File Failed libva info : VA-API version 0.38.1
    libva info : va_getDriverName() returns -1 libva error :
    va_getDriverName() failed with unknown libva error,driver_name=(null)
    libva info : VA-API version 0.38.1 libva info : va_getDriverName()
    returns -1 libva error : va_getDriverName() failed with unknown libva
    error,driver_name=(null) libva info : VA-API version 0.38.1 libva info :
    va_getDriverName() returns -1 libva error : va_getDriverName() failed
    with unknown libva error,driver_name=(null) libva info : VA-API version
    0.38.1 libva info : va_getDriverName() returns -1 libva error : va_getDriverName() failed with unknown libva error,driver_name=(null)
    GStreamer Plugin : Embedded video playback halted ; module vaapidecode
    reported : Could not initialize supporting library. OpenCV
    Error : Unspecified error (GStreamer : unable to start pipeline ) in
    cvCaptureFromCAM_GStreamer, file /builddir/build/BUILD/opencv-
    2.4.12.3/modules/highgui/src/cap_gstreamer.cpp, line 816 /builddir/build/BUILD/opencv-2.4.12.3/modules/highgui/src/cap_gstreamer.cpp:816 :
    error : (-2) GStreamer : unable to start pipeline in function
    cvCaptureFromCAM_GStreamer

    Can anybody help me ?

    Thanks,

    Francesco.