Recherche avancée

Médias (3)

Mot : - Tags -/spip

Autres articles (111)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

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

Sur d’autres sites (8843)

  • fate : Prefix cllc tests with canopus

    9 avril 2015, par Vittorio Giovara
    fate : Prefix cllc tests with canopus
    

    They belong to the same family of codecs.

    • [DH] tests/fate/lossless-video.mak
    • [DH] tests/ref/fate/canopus-cllc-argb
    • [DH] tests/ref/fate/canopus-cllc-rgb
    • [DH] tests/ref/fate/canopus-cllc-yuy2-noblock
  • Studying A Game Wave Disc

    23 novembre 2010, par Multimedia Mike — Game Hacking

    I picked up a used copy of game called Gemz — a rather flagrant Bejeweled clone — for a game console called Game Wave Family Entertainment System. Heard of it ? Neither had I. But the game media is optical, so I had to get it and study it.



    When mounted in Linux (as UDF), the disc is reported to contain 2.8 GB of data, so it has to be a DVD. 810 MB of that is dedicated to the movies/ directory. Multimedia format ? Just plain, boring MPEG files (very YouTube-friendly— here’s the opening animation). Deeper digging reveals some more subdirectories called movies/ that, combined, occupy the lion’s share of the disc space. Additionally, there are several single-frame .m2v files in a directory called iframes/ which are used to encode things like load screens.



    There are more interesting data files including .zbm files for images and fonts, and .zwf files for audio. I suspect that these stand for zipped bitmap and zipped wave file, respectively. They can’t be directly unzipped with ’gunzip’. Some of the numbers at the start of some files lead me to believe they can be easily decompressed with standard zlib facilities.

    Based on the binary files on the Gemz disc, I couldn’t find any data on what CPU this system might use. A little Googling led me to this page at the Video Game Console Library which pegs the brain as a Mediamatics 6811. Some searching for that leads me to a long-discontinued line of hardware from National Semiconductor.

    The Console Library page also mentions that the games were developed using the Lua programming language. Indeed, there are many Lua-related strings in the game’s binaries (’zlib’ also makes an appearance).

  • HTML5 Video/Audio to Nodejs via Socket.io but with a twist - FFMPEG

    9 janvier 2014, par user1840958

    I'm writing this very simple "skype clone". I tried a variety of other languages, python and layering over Node.js with Meteor, WebRTC, but Node.js+socket.io seems to be working the best and cleanest however I've hit a road block and I can't get it all to work correctly.

    I have two issues,
    1. I think I'm sending real data from the HTML5 getUserMedia, but I might not, and I don't know how to test or find out. I think that using, "video.src = window.URL.createObjectURL(stream) ;" makes the Blob stream an actual Data stream... but I don't know.

    This is my Broadcast.html
    It's a very simple getUserMedia grab the camera and microphone... Then I connect to the Socket and on click of the Broadcast button, fires off the Emit to 'Join' and sends over the 'webcamstream' data.

    <video autoplay="autoplay" height="280"></video>
    <button class="recordbutton">Broadcast</button>


    <code class="echappe-js">&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;<br />
    var socket = io.connect(&amp;#39;http://video.domain.com:3031&amp;#39;);<br />
    socket.on(&amp;#39;connect&amp;#39;, function() {<br />
     $(&amp;#39;#conversation&amp;#39;).append(&amp;#39;Connected &lt;br /&gt;&amp;#39;);<br />
    });<br />
    <br />
    function onVideoFail(e) {<br />
     console.log(&amp;#39;webcam fail!&amp;#39;, e);<br />
    };<br />
    <br />
    function hasGetUserMedia() {<br />
     return !!(navigator.getUserMedia || <br />
       navigator.webkitGetUserMedia || <br />
       navigator.mozGetUserMedia || <br />
       navigator.msGetUserMedia);<br />
    }<br />
    <br />
    if (hasGetUserMedia()) {<br />
     alert(&amp;#39;It is working...&amp;#39;);<br />
    } else {<br />
     alert(&amp;#39;getUserMedia() is not supported in your browser&amp;#39;);<br />
    }<br />
    <br />
    window.URL = window.URL || window.webkitURL;<br />
    navigator.getUserMedia  = navigator.getUserMedia || <br />
                            navigator.webkitGetUserMedia ||<br />
                             navigator.mozGetUserMedia || <br />
                              navigator.msGetUserMedia;<br />
    <br />
    var video = document.querySelector(&amp;#39;video&amp;#39;);<br />
    var streamRecorder;<br />
    var webcamstream;<br />
    <br />
    if (navigator.getUserMedia) {<br />
           navigator.getUserMedia({audio: true, video: true}, function(stream) {<br />
               video.src = window.URL.createObjectURL(stream);<br />
               webcamstream = stream;<br />
           }, onVideoFail);<br />
    } else {<br />
      alert (&amp;#39;failed&amp;#39;);<br />
    }<br />
    <br />
    function startBroadcasting() {<br />
       alert(&amp;#39;Broadcast Now Clicked&amp;#39;);<br />
       console.log(webcamstream);<br />
       socket.emit(&amp;#39;join&amp;#39;, webcamstream);<br />
       socket.emit(&amp;#39;echo&amp;#39;, &amp;#39;echo1 echo2 echo3 &lt;br /&gt;&amp;#39;);<br />
    }<br />
    <br />
    socket.on(&amp;#39;echo&amp;#39;, function(data) {<br />
       $(&amp;#39;#conversation&amp;#39;).append(data);<br />
    }); <br />
    &lt;/code&gt;&lt;/pre&gt;<br />
    <br />
    &lt;p&gt;&lt;/p&gt;<br />
    <br />
    &lt;p&gt;This is the app.js<br />
    2. What I&amp;#39;m trying to do here is consume in the &amp;#39;stream&amp;#39; from the socket, but in it&amp;#39;s place I have a test video to see if the FFMPEG is actually working. I&amp;#39;m using &lt;a href=&quot;https://github.com/schaermu/node-fluent-ffmpeg&quot; rel=&quot;nofollow&quot;&gt;https://github.com/schaermu/node-fluent-ffmpeg&lt;/a&gt;.&lt;/p&gt;<br />
    <br />
    &lt;p&gt;When I run this test with my myth.mp4 file, I do get an out.avi however it&amp;#39;s 0 bytes ??&lt;/p&gt;<br />
    <br />
    &lt;pre&gt;&lt;code&gt;var express = require(&amp;#39;express&amp;#39;);<br />
    var socket = require(&amp;#39;socket.io&amp;#39;);<br />
    var ffmpeg = require(&amp;#39;fluent-ffmpeg&amp;#39;);<br />
    var fs = require(&amp;#39;fs&amp;#39;);<br />
    <br />
    var app = express();<br />
    <br />
    app.configure(function(req, res){<br />
       app.use(express.static(__dirname + &amp;#39;/&amp;#39;));<br />
    });<br />
    <br />
    var server = app.listen(3031);<br />
    var io = socket.listen(server);<br />
    <br />
    io.sockets.on(&amp;#39;connection&amp;#39;, function(socket) {<br />
       socket.on(&amp;#39;join&amp;#39;, function(stream) {<br />
           socket.stream = stream;<br />
           socket.emit(&amp;#39;echo&amp;#39;, socket.stream + &amp;#39;&lt;br /&gt;&amp;#39;);<br />
           var proc = new ffmpeg({source:&amp;#39;/srv/www/domain.com/video/red/myth.mp4&amp;#39;})<br />
               .withAspect(&amp;#39;4:3&amp;#39;)<br />
               .withSize(&amp;#39;640x480&amp;#39;)<br />
               .applyAutopadding(true, &amp;#39;white&amp;#39;)<br />
               .saveToFile(&amp;#39;/srv/www/domain.com/video/red/out.avi&amp;#39;, function(retcode, error){<br />
                   socket.emit(&amp;#39;echo&amp;#39;, &amp;#39;file has been converted succesfully &lt;br /&gt;&amp;#39;);<br />
               });<br />
       });<br />
       socket.on(&amp;#39;echo&amp;#39;, function(data) {<br />
           socket.emit(&amp;#39;echo&amp;#39;, data);<br />
       });<br />
    });<br />
    &lt;/code&gt;&lt;/pre&gt;<br />
    <br />
    &lt;p&gt;I get no errors on Node Start up, I get no Errors on running.  I do get a 0 Byte out.avi file freshly created every time I run this.&lt;/p&gt;<br />
    <br />
    &lt;p&gt;I have a linode VPS with CentOS/Nginx&lt;/p&gt;<br />
    <br />
    &lt;p&gt;node -v<br />
    v0.10.21&lt;/p&gt;<br />
    <br />
    &lt;p&gt;FFMPEG<br />
    ffmpeg version 1.2 Copyright (c) 2000-2013 the FFmpeg developers<br />
     built on Nov 23 2013 17:43:13 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-3)<br />
     configuration: --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvpx --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libvo-aacenc --enable-libxvid --disable-ffplay --enable-shared --enable-gpl --enable-postproc --enable-nonfree --enable-avfilter --enable-pthreads --extra-cflags=-fPIC<br />
     libavutil      52. 18.100 / 52. 18.100<br />
     libavcodec     54. 92.100 / 54. 92.100<br />
     libavformat    54. 63.104 / 54. 63.104<br />
     libavdevice    54.  3.103 / 54.  3.103<br />
     libavfilter     3. 42.103 /  3. 42.103<br />
     libswscale      2.  2.100 /  2.  2.100<br />
     libswresample   0. 17.102 /  0. 17.102<br />
     libpostproc    52.  2.100 / 52.  2.100<br />
    Hyper fast Audio and Video encoder<br />
    usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...&lt;/p&gt;<br />
    <br />
    &lt;p&gt;Thanks in advance for your help.&lt;/p&gt;