Recherche avancée

Médias (1)

Mot : - Tags -/publicité

Autres articles (80)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

  • Contribute to translation

    13 avril 2011

    You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
    To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
    MediaSPIP is currently available in French and English (...)

Sur d’autres sites (9912)

  • PHP : Convert file with FFMPEG and upload to S3 using shell_exec() and aws cli tools

    18 septembre 2017, par andreaem

    I need a script that handle the upload of a video file from dropzone.js, convert to m4v then generate 5 thumbnails using the name of file appending -(number) to each jpg file (eg : file-1.jpg, file-2.jpg, file-3.jpgetc) and finally upload to s3 using shell_script (or maybe if there is a better way to do this).

    Recap

    1. Upload file in a temp dir
    2. Convert file to .m4v
    3. Generate 5 thumbnails from video
    4. Upload the converted video to Amazon S3
    5. Delete local video file

    Here is my code, at the moment I don’t know where the file goes and nothing seems to be uploaded to Amazon S3 (doing the upload in command-line works, so the credentials are ok).

    Dropzone.js

    $("#dZUpload").dropzone({
        url: "/ajax/admin/admin.acceptVideo.php",
        maxFilesize: 200,
        renameFile: new Date,
        acceptedFiles: "video/*",
        addRemoveLinks: true,
        success: function (file, response) {
             var imgName = response;                              file.previewElement.classList.add("dz-success");
             console.log("Successfully uploaded :" + imgName);
             $('#form_video').val(file);
        },
        error: function (file, response) {file.previewElement.classList.add("dz-error");
        }
    }).autoDiscover = false;
       Dropzone.prototype.defaultOptions.dictRemoveFile = "Rimuovi file";
       Dropzone.on("addedfile", function(file) {
           var cancelLink = Dropzone.createElement('<a>Cancel upload</a>');
        file.previewElement.appendChild(cancelLink);
        cancelLink.addEventListener("click", function(e) {
        e.preventDefault();
        myDropzone.cancelUpload(file);
    });
    });

    PHP

    $target_dir = "/var/www/html/example.com/web/temp/";
    $target_file = $target_dir . basename($_FILES["file"]["name"]);
    $uploadOk = 1;
    $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
    // Check if image file is a actual image or fake image
    if(isset($_POST["submit"])) {
       $check = getimagesize($_FILES["file"]["tmp_name"]);
       if($check !== false) {
           echo "File is a video - " . $check["mime"] . ".";
           $uploadOk = 1;
       } else {
           echo "File is not an image.";
           $uploadOk = 0;
       }
    }
    // Check if file already exists
    if (file_exists($target_file)) {
       echo "Sorry, file already exists.";
       $uploadOk = 0;
    }
    // Check file size
    if ($_FILES["fileToUpload"]["size"] > 200000000) {
       echo "Sorry, your file is too large.";
       $uploadOk = 0;
    }
    // Allow certain file formats
    if($imageFileType != "mp4" &amp;&amp; $imageFileType != "mov" &amp;&amp; $imageFileType != "avi" &amp;&amp; $imageFileType != "m4v" ) {
       echo "Sorry, only MP4 MOV AVI M4V files are allowed.";
       $uploadOk = 0;
    }
    // Check if $uploadOk is set to 0 by an error
    if ($uploadOk == 0) {
       echo "Sorry, your file was not uploaded.";
    // if everything is ok, try to upload file
    } else {
       if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
           S3Up(VideoConvert(basename( $_FILES["file"]["name"]),random_int('1','9999')));
           echo "The file ". basename( $_FILES["file"]["name"]). " has been uploaded.";
       } else {
           echo "Sorry, there was an error uploading your file.";
       }
    }

    function VideoConvert($video, $id) {
       shell_exec('ffmpeg -i ' . $video . ' /var/www/html/example.com/web/temp/' . $id . '.m4v');
       for ($i=0;$i &lt;= 5;$i++) {
           shell_exec('ffmpeg -i ' . $video .' -vf "select=gte(n\,' . $i .'00)" -vframes 1 ' .$id . '-' . $i. '.jpg');
       }

       return '/var/www/html/example.com/web/temp/' . $id . '.m4v';
    }

    function S3Up($video) {
       shell_exec('aws s3 cp ' . $video .' s3://example-video/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers');
       sleep(1);
       //shell_exec('rm '. $video);
    }

    Here is my error.log line relating to s3 upload :

    error.log

    example.mp4: No such file or directory
    Traceback (most recent call last):
     File "/usr/local/bin/aws", line 19, in <module>
       import awscli.clidriver
     File "/usr/local/lib/python2.7/dist-packages/awscli/clidriver.py", line 17, in <module>
       import botocore.session
     File "/usr/local/lib/python2.7/dist-packages/botocore/session.py", line 26, in <module>
       import botocore.credentials
     File "/usr/local/lib/python2.7/dist-packages/botocore/credentials.py", line 22, in <module>
       from dateutil.parser import parse
    ImportError: No module named dateutil.parser
    </module></module></module></module>

    How can I improve this ? I’ve tried using aws php api but got some problems with credentials, cli tools don’t have.

    Behavior

    At the moment dropzone.js stop uploading at 50% if I put a file of 8 MB, php maxUploadSize directive is set to 201M, php upload temp folder is inside the site root directory and permissions set to 7777. File where uploaded if I put a smallest file of 200Kb but don’t convert and make a 0 byte file.

  • Enabling libmp3lame for FFMPEG on elastic beanstalk

    13 octobre 2017, par Adam Sith

    I am trying to enable libmp3lame with FFMPEG in elastic beanstalk (Amazon Redhat Linux machine).

    I am able to successfully install FFMPEG in /ffmpeg.config with the following script :

    # .ebextensions/ffmpeg.config

    packages:
     yum:
       autoconf: []
       automake: []
       cmake: []
       freetype-devel: []
       gcc: []
       gcc-c++: []
       git: []
       libtool: []
       make: []
       nasm: []
       pkgconfig: []
       zlib-devel: []
    sources:
     /usr/local/src: http://ffmpeg.org/releases/ffmpeg-3.2.tar.bz2
    commands:
     ffmpeg_install:
         cwd: /usr/local/src/ffmpeg-3.2
         command: sudo ./configure --prefix=/usr &amp;&amp; make &amp;&amp; make install

    I need to install libmp3lame however. I’ve tried to do this with an --enable-libmp3lame flag and the directions here. The modified script :

    packages:
    yum:
       autoconf: []
       automake: []
       cmake: []
       freetype-devel: []
       gcc: []
       gcc-c++: []
       git: []
       libtool: []
       make: []
       nasm: []
       pkgconfig: []
       zlib-devel: []
    sources:
     /usr/local/src: http://ffmpeg.org/releases/ffmpeg-3.2.tar.bz2
    commands:
     01-install_libmp3lame:
         cwd: /usr/local/src/
         command: curl -L -O http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz &amp;&amp; tar xzvf lame-3.99.5.tar.gz &amp;&amp; cd lame-3.99.5 &amp;&amp; ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm &amp;&amp; make &amp;&amp; make install
     02-ffmpeg_install:
         cwd: /usr/local/src/ffmpeg-3.2
         command: sudo ./configure --enable-libmp3lame &amp;&amp; --prefix=/usr &amp;&amp; make &amp;&amp; make install

    This doesn’t work. Command 01-install_libmp3lame completes. Command 02-ffmpeg_install fails because :

    [2017-10-12T20:55:19.324Z] INFO  [24606] - [Application update app-8fe3-123456_7895@111/AppDeployStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild/prebuild_3_clover_platform/Command 02-ffmpeg_install] : Activity execution failed, because: ERROR: libmp3lame >= 3.98.3 not found

    I have tried installing libmp3lame in /ffmpeg-3.2 and got the same issue.

  • ffmpeg - stream image and audio input

    30 octobre 2017, par Chad

    Goal

    Using a Raspberry Pi, stream audio in and use a static image as the video input thru ffmpeg over RTMP to a Cloud video provider (DaCast in this instance)

    Setup

    • Raspberry Pi 3 Model B
    • USB Audio Device (Sabrent USB External Stereo Sound Adapter)
    • Ubuntu MATE 16.04.2 (Xenial)
    • ffmpeg version 3.2-2+rpi1 xenial1.7 (I can post what is configured with the build, if needed)

    Question

    So far, I have figured out the right setting to stream the Raspberry Pi Camera v2 with the audio in. But can’t seem to get it right to replace the video input with a static image. This is that command :

    ffmpeg -f alsa -ac 1 -i plughw:1,0 -f v4l2 -s 1920x1080 -r 30 -input_format h264 -i /dev/video0 -vcodec copy -preset veryfast -r 15 -g 30 -b:v 64k -ar 44100 -threads 6 -b:a 96k -bufsize 3000k -f flv rtmp://streaming_server_url

    How can I replace the video input and replace with an image (or short video with no audio) ?