Recherche avancée

Médias (29)

Mot : - Tags -/Musique

Autres articles (55)

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

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

Sur d’autres sites (7864)

  • Revision 45367 : [source:_plugins_/step Step]. Deux déclarations conditionnelles pour ...

    13 mars 2011, par esj@… — Log

    Step. Deux déclarations conditionnelles pour pouvoir essayer Step en SPIP 2.2.

  • How to I increase IO buffer size in Crystal ?

    28 avril 2017, par timur

    I have an IO class that will send data it receives across all connected web sockets. The data is received from a Process call running an FFMPEG command. The class is as so :

    class FfmpegBinaryIO
       include IO

       def initialize(@sockets = [] of HTTP::WebSocket)
       end

       def read(slice : Bytes)
           raise "FfmpegBinaryIO does not support reads"
       end

       def write(slice : Bytes)
           @sockets.each { |socket| socket.send Base64.encode(slice) }
       end
    end

    The write function will iterate the array of sockets I pass and send the chunks encoded in base64. The chunks are received by using the following Process call where binary_output is an instance of the FfmpegBinaryIO class :

    spawn do
       Process.run(command: ffmpeg_command, output: binary_output, error: ffmpeg, shell: true)
    end

    The class is working as it should and I am able to display the chunks using the following Javascript code :

    const img = document.getElementById('view')
    const ws = new WebSocket('ws://127.0.0.1:8080/ffmpeg')
    ws.onmessage = msg => {
       console.dir(msg)
       view.src = `data:image/jpeg;base64,${msg.data}`
    }

    However, the frames appear to be cut in half when displayed and it skips every other frames, presumably because the data is corrupted. What I found out when writing the same Bytes to JPG files is that chunks would be incomplete and as such every other file written was corrupted.

    This is not the kind of behavior I experienced when using a similar approach in other programming languages. My hypothesis is that chunks are being cut due a buffer size limit imposed. Is there any way I can have every write call represent a single frame chunk from FFMPEG by increasing this hypothetical buffer size ?

    UPDATE

    My suspicions are right that this has to do with the size of slices that the FfmpegBinaryIO receives. I tried modifying the FFMPEG command to reduce the output byte size by reducing the scaling as so :

    ffmpeg_command = "ffmpeg -i /dev/video0 -framerate 6 -vf scale=320:240 -r 24 -qscale:v 35 -updatefirst 1 -f image2 -y pipe:1"

    Where previously the command I used did not include the -vf scale=320:240 option.

  • A.R Drone 2.0 Video Streaming Latency

    22 mars 2020, par Danny

    I am working on video streaming with the AR Drone 2.0 using different codes I have found on the internet.
    I’ve attempted ffplay tcp://192.168.1.1:5555 to video stream from the AR Drone 2.0 ; however, the delay is way too high.

    My second attempt was with the following :

    var arDrone = require('ar-drone');
    var http    = require('http');

    console.log('Connecting png stream ...');

    var pngStream = arDrone.createClient().getPngStream();

    var lastPng;
    pngStream
     .on('error', console.log)
     .on('data', function(pngBuffer) {
       lastPng = pngBuffer;
     });

    var server = http.createServer(function(req, res) {
     if (!lastPng) {
       res.writeHead(503);
       res.end('Did not receive any png data yet.');
       return;
     }

     res.writeHead(200, {'Content-Type': 'image/png'});
     res.end(lastPng);
    });

    server.listen(8080, function() {
     console.log('Serving latest png on port 8080 ...');
    });

    This only streamed images. I had to refresh browser every second.

    My third option was using this option :

    var arDrone=require('ar-drone')
    var client= arDrone.createclient();
    require('ar-drone-png-stream')(client,{port:8000})

    It streamed a lot of images in a short amount of time. The delay is still significant and I’m looking for a video.

    Are there other approaches that will significantly lower the delay of the video stream ?