Recherche avancée

Médias (3)

Mot : - Tags -/spip

Autres articles (26)

  • Support de tous types de médias

    10 avril 2011

    Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

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

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

  • Revision 45567 : [source:_plugins_/step step]. Mettre dans un fichier à part les ...

    19 mars 2011, par esj@… — Log

    step. Mettre dans un fichier à part les fonctions spécifique à la syntaxe "plugin.xml", pour pouvoir à terme les surcharger.