Recherche avancée

Médias (91)

Autres articles (62)

  • 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

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

Sur d’autres sites (10716)

  • How to create a m3u8 Byte-Range playlist without creating a new file

    20 mars 2019, par Rodrigo Valença

    I’ve found some nice related questions,such as this one How to create byte-range m3u8 playlist for HLS ? but the best answer, that provide us this ffmpeg command ffmpeg -i sample.ts -hls_time 20 -hls_flags single_file out.m3u8 creates a new .ts file to use in the m3u8. In my application we need to create the m3u8 file, but we want it to be faster than the solution provided, it was unworkable for us. I think that the provided solution is a little slow ’cause it has to create a new file, do you guys know a solution that uses a already existing encoded ts file ?

  • How to set the length metadata property with fluent-ffmpeg ?

    8 avril 2024, par volume one

    I have transcoded a sample video using fluent-ffpmeg and want to set the length metadata property so that the <video></video> player knows how long the video is going to be.

    &#xA;

    To get the duration of the video I did this :

    &#xA;

    import ffmpeg from &#x27;fluent-ffmpeg&#x27;;&#xA;&#xA;function ffprobePromise() {&#xA;            return new Promise((resolve, reject) => {&#xA;                ffmpeg.ffprobe(&#x27;/path/to/file&#x27;), function (err, metadata) {&#xA;                    FileDuration = metadata.format.duration;&#xA;                    resolve()&#xA;                });&#xA;            })}&#xA;&#xA;  await ffprobePromise();&#xA;&#xA;  ffmpeg(&#x27;path/to/output&#x27;)&#xA;                    .videoCodec(&#x27;libx264&#x27;)&#xA;                    .audioCodec(&#x27;libmp3lame&#x27;)&#xA;                    .duration(FileDuration)   // !! not setting &#x27;length&#x27; metadata property in file&#xA;                    .size(`960x400`)&#xA;                    // Stream output requires manually specifying output formats&#xA;                    .format(&#x27;mp4&#x27;)&#xA;                    .outputOptions([&#x27;-movflags dash&#x27;, `-metadata length=${FileDuration}`]) // also not setting length in metadata&#xA;

    &#xA;

    Here is the sample file that was created : https://devxxx001.s3.amazonaws.com/sample_960x400_47sec.mp4

    &#xA;

    If you download and view the properties of that file, there is no length property in the metadata. Hence when you play the file, the video player is not able to determine the total duration of the video. You'll notice it keeps jumping up as the video plays.

    &#xA;

    The ffmpeg documentation states that you can use ffmpeg -i in.avi -metadata title="my title" out.flv to set the title for example. But how do you do this with fluent-ffmpeg ?

    &#xA;

  • Download a stream via ffmpeg in Node.js

    16 juillet 2018, par loretoparisi

    I’m using ffmpeg to download an audio stream in Node.js. I use child_process for that :

    var downloadStream = function(uri,opath) {
       var self=this;

       // defaults
       var loglevel= self.logger.isDebug() ? 'debug' : 'warning';
       return new Promise((resolve, reject) => {
         const args = [
           '-y',
           '-loglevel', loglevel,
           '-v', 'quiet',
           '-i', uri,
           opath
         ];
         const opts = {
           cwd: self._options.tempDir
         };
         cp.spawn('ffmpeg', args, opts)
           .on('message', msg => self.logger.info(msg))
           .on('error', reject)
           .on('close', resolve)
           .on('exit', function (code, signal) {
             console.log('child process exited with ' +
                         `code ${code} and signal ${signal}`);
                         resolve(code);
           });
       });
     }//downloadStream

    What happens is that the close event is called before the file has been written to the disk. I have also registered the exit that is called with the close. While executing the command in bash I get the stream saved in the opath as expected. Which event listener shall I register for that ?