Recherche avancée

Médias (3)

Mot : - Tags -/pdf

Autres articles (81)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (11737)

  • 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.

  • checkasm : updated tests for sw_scale

    13 août 2022, par Swinney, Jonathan
    checkasm : updated tests for sw_scale
    

    Change the reference to exactly match the C reference in swscale,
    instead of exactly matching the x86 SIMD implementations (which
    differs slightly). Test with and without SWS_ACCURATE_RND - if this
    flag isn't set, the output must match the C reference exactly,
    otherwise it is allowed to be off by 2.

    Mark a couple x86 functions as unavailable when SWS_ACCURATE_RND
    is set - apparently this discrepancy hasn't been noticed in other
    exact tests before.

    Add a test for yuv2plane1.

    Signed-off-by : Jonathan Swinney <jswinney@amazon.com>
    Signed-off-by : Martin Storsjö <martin@martin.st>

    • [DH] libswscale/x86/swscale.c
    • [DH] tests/checkasm/sw_scale.c
  • x86/tx_float : remove vgatherdpd usage

    20 mai 2022, par Lynne
    x86/tx_float : remove vgatherdpd usage
    

    Its performance loss ranges from either being just as fast as individual loads
    (Skylake), a few percent slower (Alderlake), 8% slower (Zen 3), to completely
    disasterous (older/other CPUs).

    Sadly, gathers never panned out fast on x86, even with the benefit of time and
    implementation experience.

    This also saves a register, as there's no need to fill out an additional
    register mask.

    Zen 3 (16384-point transform) :
    Before : 1561050 decicycles in av_tx (fft), 131072 runs, 0 skips
    After : 1449621 decicycles in av_tx (fft), 131072 runs, 0 skips

    Alderlake :
    2% slower on big transforms (65536), to 1% (131072), to a few percent for smaller
    sizes.

    • [DH] libavutil/x86/tx_float.asm
    • [DH] libavutil/x86/tx_float_init.c