Recherche avancée

Médias (91)

Autres articles (59)

  • Installation en mode ferme

    4 février 2011, par

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

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

Sur d’autres sites (10366)

  • Impossible to redirect video stream after conversion (mkv to mp4)

    17 décembre 2019, par elgrusko

    I’m currently realising a school project which aims a streaming video website (like Netflix) using torrent-stream (with the magnet link). I am using NodeJS for the stream part.

    My problem is : I can’t redirect the stream to the HTML 5 player while i’m trying to stream and converting (with ffmpeg) video at the same time. I think it’s because I just can’t know what’s will be the final size of the converted file.
    In browser’s console I have this message : net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK)

    I tried to put this in the header : Transfer-Encoding: chunked instead of Content-Length
    I specify that the stream (before conversion) works perfectly

    This is my code :

    getTorrentFile.then(function (file) {
                   res.setHeader('Content-Type', 'video/mp4');
                   res.setHeader('Content-Length', file.length);
                   const ranges = parseRange(file.length, '15' /* variable à comprendre */, { combine: true });
                   console.log(ranges);
                   if (ranges === -1) {
                       // 416 Requested Range Not Satisfiable
                       console.log('416')
                       res.statusCode = 416;
                       return res.end();
                   } else if (ranges === -2 || ranges.type !== 'bytes' || ranges.length > 1) {
                       // 200 OK requested range malformed or multiple ranges requested, stream ent'ire video
                       if (req.method !== 'GET') return res.end();
                       console.log('200')
                       stream = file.createReadStream()
                       ffmpeg(stream)
                       .videoCodec('libx264')
                       .audioCodec('aac')
                       .output(res)
                       .output('./video/' + film + '_s' + season + '_e' + episode + '.mp4')
                       .outputFormat('mp4')
                       .outputOptions('-movflags frag_keyframe+empty_moov')
                       .on('error', function(err) {
                           console.log('An error occurred: ' + err.message);
                       })
                       .on('progress', function(progress) {
                           console.log('Processing: ' + progress.targetSize + 'kb done');
                         })
                       .on('end', function() {
                           console.log('Processing finished !');
                       })
                       .addOutputOption('-acodec')
                       .run()

    Sorry if i’m not really clear, ask me some questions if you need more informations :)

    Thanks for your help, bye :)

  • iOS video streaming to server using websockets

    6 septembre 2013, par user1516711

    Is it any way possible to stream video frames live from iOS SDK using AVCaptureSession to a remote server using WebSocket like SocketRocket ? What are pros and cons if it is possible ?

  • Is ffmpeg's chromakey filter broken when matching black/white ?

    7 janvier 2023, par Taylor Brown

    I have a file, colors.png. It looks like this :

    



    Let's say I want to make the red square transparent. When I run ffmpeg -i colors.png -filter_complex "[0]chromakey=0xff0000:similarity=0.1:blend=0.0[out]" -map "[out]" colors-rm-red.png (notice I use similarity=0.1 to make this work), I get exactly that :

    



    How about making the blue square transparent ? ffmpeg -i colors.png -filter_complex "[0]chromakey=0x0000ff:similarity=0.1:blend=0.0[out]" -map "[out]" colors-rm-blue.png works too !

    



    But what about replacing black ? ffmpeg -i colors.png -filter_complex "[0]chromakey=0x000000:similarity=0.1:blend=0.0[out]" -map "[out]" colors-rm-black.png gives me this :

    



    And likewise, replacing white with ffmpeg -i colors.png -filter_complex "[0]chromakey=0xffffff:similarity=0.1:blend=0.0[out]" -map "[out]" colors-rm-white.png gives me the same result :

    



    Why is this ? Even if I use similarity=0.01, which according to the docs "matches only the exact key color", this still doesn't work when I'm trying to make black/white transparent. Is ffmpeg broken, or am I misunderstanding the chromakey filter ?