Recherche avancée

Médias (91)

Autres articles (75)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

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

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (8696)

  • ffmpeg contentiously output stream ("multiplexing")

    11 mai 2022, par Marc

    I play for fun with ffmpeg and try to create a cinema like stream.
The idea behind this is to have a contentiously/non ending output stream.

    


    As input i have 2 other streams, which are shown alternating.
For Example, stream0 is the "advertising" input, stream1 the actual movie.

    


    The question is now how do i tell ffmpeg : if stream0 has ended/paused show, stream1.

    


    This is what i have put together :

    


    const cp = require("child_process");
const fs = require("fs");

const intro = fs.createReadStream("./intro.mp4");
const video = fs.createReadStream("./video.mp4");

//intro.pause();
video.pause();

const ffmpeg = cp.spawn("/usr/bin/ffmpeg", [
    "-loglevel", "8", "-hide_banner",
    //"-progress", "pipe:3",
    "-i", "pipe:4", // intro
    "-i", "pipe:5", // video
    //"-map", "0:a",
    //"-map", "1:v",
    "-c:v", "copy",
    //"-filter_complex", "concat=n=3:v=0:a=1",
    "-y",
    `output.mp4`,
], {
    windowsHide: true,
    stdio: [
        "inherit", "inherit", "inherit",
        "pipe", "pipe", "pipe"
    ],
});

ffmpeg.on("close", () => {
    console.log("Merging Completed");
});

setTimeout(() => {

    intro.close();
    video.resume();

}, 1000);

intro.pipe(ffmpeg.stdio[4]);
video.pipe(ffmpeg.stdio[5]);


    


    The code above just takes the intro video and write it to "output.mp4". The play/pause behavior described above does not work.

    


  • Failed to convert web-saved .wemb audio to .wav by using php "shell_exec" and javascript

    30 mai 2022, par Anirbasgnaw

    I'm working on an online experimenter which could record participants' audio from the browser. The audio data I get has an extension of .wemb, so I plan to use ffmpeg to convert it to .wav while I save the data.

    


    I tried to use PHP's shell_exec but nothing happens when I run the scripts. Then I found that my echo and print_r also did not work. I'm new to PHP and javascript, so I''m really confused now.

    


    Below are the relevant codes, I really appreciate it if you could help !

    


    write_data.php :

    


    <?php
  $post_data = json_decode(file_get_contents('php://input'), true); 
  // the directory "data" must be writable by the server
  $name = "../".$post_data['filename'];
  $data = $post_data['filedata'];
   // write the file to disk
  file_put_contents($name, $data);
  
  $INPUT = trim($name) . ".webm";
  $OUTPUT = trim($name) . ".wav";
  echo "start converting...";

  // check if ffmprg is available
  $ffmpeg = trim(shell_exec('which ffmpeg'));
  print_r($ffmpeg);
  // call ffmpeg
  shell_exec("ffmpeg -i '$INPUT' -ac 1 -f wav '$OUTPUT' 2>&1 ");
?>


    


    javascript :

    


      saveData: function(fileName,format){
    // save  as json by default
    if (!format){ format = 'json';}
    // add extension to filename
    fileName = `${fileName}.${format}`
    // create saveData object using fetch
    let saveData = [];
    if (format == 'json') {
        saveData = {
          type: 'call-function',
          async: true,
          func: async function(done) {
            let data = jsPsych.data.get().json();
            const response = await fetch("../write_data.php", {
              method: "POST",
              headers: {
                "content-type": "application/json"
              },
              body: JSON.stringify({ filename: fileName, filedata: data })
            });
            if (response.ok) {
              const responseBody = await response.text();
              done(responseBody);
            }
          }
        }
    } else {
        saveData = {
          type: 'call-function',
          async: true,
          func: async function(done) {
            let data = jsPsych.data.get().csv();
            const response = await fetch("../write_data.php", {
              method: "POST",
              headers: {
                "content-type": "application/json"
              },
              body: JSON.stringify({ filename: fileName, filedata: data })
            });
            if (response.ok) {
              const responseBody = await response.text();
              done(responseBody);
            }
          }
        }
    }
    return saveData;
  },


    


  • swscale/x86/rgb_2_rgb : Empty MMX state in ff_shuffle_bytes_2103_mmxext

    21 août 2022, par Andreas Rheinhardt
    swscale/x86/rgb_2_rgb : Empty MMX state in ff_shuffle_bytes_2103_mmxext
    

    Fixes FATE-failures with the the filter-2xbr filter-3xbr filter-4xbr
    filter-ep2x filter-ep3x filter-hq2x filter-hq3x filter-hq4x
    filter-paletteuse-bayer filter-paletteuse-bayer0
    filter-paletteuse-nodither and filter-paletteuse-sierra2_4a tests
    when using 32bit x86 with CPUFLAGS ranging from "mmx+mmxext" to
    "mmx+mmxext+sse+sse2+sse3" (the relevant function is only overwritten
    when using SSSE3).

    Reviewed-by : Lynne <dev@lynne.ee>
    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    • [DH] libswscale/x86/rgb_2_rgb.asm