Recherche avancée

Médias (91)

Autres articles (3)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

  • Le plugin : Gestion de la mutualisation

    2 mars 2010, par

    Le plugin de Gestion de mutualisation permet de gérer les différents canaux de mediaspip depuis un site maître. Il a pour but de fournir une solution pure SPIP afin de remplacer cette ancienne solution.
    Installation basique
    On installe les fichiers de SPIP sur le serveur.
    On ajoute ensuite le plugin "mutualisation" à la racine du site comme décrit ici.
    On customise le fichier mes_options.php central comme on le souhaite. Voilà pour l’exemple celui de la plateforme mediaspip.net :
    < ?php (...)

  • MediaSPIP : Modification des droits de création d’objets et de publication définitive

    11 novembre 2010, par

    Par défaut, MediaSPIP permet de créer 5 types d’objets.
    Toujours par défaut les droits de création et de publication définitive de ces objets sont réservés aux administrateurs, mais ils sont bien entendu configurables par les webmestres.
    Ces droits sont ainsi bloqués pour plusieurs raisons : parce que le fait d’autoriser à publier doit être la volonté du webmestre pas de l’ensemble de la plateforme et donc ne pas être un choix par défaut ; parce qu’avoir un compte peut servir à autre choses également, (...)

Sur d’autres sites (796)

  • How do I generate a lossless video file with chrome.tabCapture.capture ?

    10 juin 2019, par Black-Hole

    Problem Description :

    chrome.tabCapture.capture will generate a stream, I use MediaRecorder to operate.
    But MediaRecorder only supports webm video format.
    Webm video format will compress my recorded video

    If I recorded the tab page, nothing changed for 10 seconds (including no mouse movement, no sound), the entire web page is still. Then the final webm video file will have only one frame, not even one second.

    Is there any way to solve this problem ? Because I don’t want compressed video

    Core Code :

    let mediaRecorder = '';

    chrome.tabCapture.capture(captureConfig, stream => {
     if (stream === null) {
       chrome.tabs.sendMessage(id, {
         error: chrome.runtime.lastError
       });
       return false;
     }

     const recordedBlobs: BlobPart[] = [];
     mediaRecorder = new MediaRecorder(stream, {
       videoBitsPerSecond: 2500000,
       mimeType: 'video/webm;codecs=vp9'
     });

     mediaRecorder.ondataavailable = event => {
       if (event.data &amp;&amp; event.data.size > 0) {
         recordedBlobs.push(event.data);
       }
     };

     mediaRecorder.onstop = () => {
       const superBuffer = new Blob(recordedBlobs, {
         type: 'video/webm'
       });

       const link = document.createElement('a');
       link.href = URL.createObjectURL(superBuffer);
       link.setAttribute('download', `${filename}.webm`);
       link.click();
     };

     mediaRecorder.start();
    });

    const stop = () => {
     mediaRecorder.stop();
     mediaRecorder.stream.getTracks().forEach(track => {
       track.stop();
     });
    }

    I am using chromium, can be replaced by chrome, as long as it can solve this problem.
    I also tried ffmpeg, but still can’t, those lost frames seem to be unable to recover.

  • Progress with rtc.io

    12 août 2014, par silvia

    At the end of July, I gave a presentation about WebRTC and rtc.io at the WDCNZ Web Dev Conference in beautiful Wellington, NZ.

    webrtc_talk

    Putting that talk together reminded me about how far we have come in the last year both with the progress of WebRTC, its standards and browser implementations, as well as with our own small team at NICTA and our rtc.io WebRTC toolbox.

    WDCNZ presentation page5

    One of the most exciting opportunities is still under-exploited : the data channel. When I talked about the above slide and pointed out Bananabread, PeerCDN, Copay, PubNub and also later WebTorrent, that’s where I really started to get Web Developers excited about WebRTC. They can totally see the shift in paradigm to peer-to-peer applications away from the Server-based architecture of the current Web.

    Many were also excited to learn more about rtc.io, our own npm nodules based approach to a JavaScript API for WebRTC.

    rtcio_modules

    We believe that the World of JavaScript has reached a critical stage where we can no longer code by copy-and-paste of JavaScript snippets from all over the Web universe. We need a more structured module reuse approach to JavaScript. Node with JavaScript on the back end really only motivated this development. However, we’ve needed it for a long time on the front end, too. One big library (jquery anyone ?) that does everything that anyone could ever need on the front-end isn’t going to work any longer with the amount of functionality that we now expect Web applications to support. Just look at the insane growth of npm compared to other module collections :

    Packages per day across popular platforms (Shamelessly copied from : http://blog.nodejitsu.com/npm-innovation-through-modularity/)

    For those that – like myself – found it difficult to understand how to tap into the sheer power of npm modules as a font end developer, simply use browserify. npm modules are prepared following the CommonJS module definition spec. Browserify works natively with that and “compiles” all the dependencies of a npm modules into a single bundle.js file that you can use on the front end through a script tag as you would in plain HTML. You can learn more about browserify and module definitions and how to use browserify.

    For those of you not quite ready to dive in with browserify we have prepared prepared the rtc module, which exposes the most commonly used packages of rtc.io through an “RTC” object from a browserified JavaScript file. You can also directly download the JavaScript file from GitHub.

    Using rtc.io rtc JS library
    Using rtc.io rtc JS library

    So, I hope you enjoy rtc.io and I hope you enjoy my slides and large collection of interesting links inside the deck, and of course : enjoy WebRTC ! Thanks to Damon, JEeff, Cathy, Pete and Nathan – you’re an awesome team !

    On a side note, I was really excited to meet the author of browserify, James Halliday (@substack) at WDCNZ, whose talk on “building your own tools” seemed to take me back to the times where everything was done on the command-line. I think James is using Node and the Web in a way that would appeal to a Linux Kernel developer. Fascinating !!

  • how to copy mp4 file generated by FFMPEG spawn using another FFMPEG spawn

    2 mai 2021, par Abadi

    I am using the following code that records screen on Linux and the output is an mp4 file.

    &#xA;

    const transcodeStreamToOutput = spawn(&#x27;ffmpeg&#x27;,[&#xA;&#x27;-hide_banner&#x27;,&#xA;&#x27;-loglevel&#x27;, &#x27;error&#x27;,&#xA;// disable interaction via stdin&#xA;&#x27;-nostdin&#x27;,&#xA;// screen image size&#xA;&#x27;-s&#x27;, `${BROWSER_SCREEN_WIDTH}x${BROWSER_SCREEN_HEIGHT}`,&#xA;// video frame rate&#xA;&#x27;-r&#x27;, `${VIDEO_FRAMERATE}`,&#xA;// hides the mouse cursor from the resulting video&#xA;&#x27;-draw_mouse&#x27;, &#x27;0&#x27;,&#xA;// grab the x11 display as video input&#xA;&#x27;-f&#x27;, &#x27;x11grab&#x27;,&#xA;    &#x27;-i&#x27;, `${DISPLAY}`,&#xA;// grab pulse as audio input&#xA;&#x27;-f&#x27;, &#x27;pulse&#x27;,&#xA;    &#x27;-ac&#x27;, &#x27;2&#x27;,&#xA;    &#x27;-i&#x27;, &#x27;default&#x27;,&#xA;// codec video with libx264&#xA;&#x27;-c:v&#x27;, &#x27;libx264&#x27;,&#xA;    &#x27;-pix_fmt&#x27;, &#x27;yuv420p&#x27;,&#xA;    &#x27;-profile:v&#x27;, &#x27;main&#x27;,&#xA;    &#x27;-preset&#x27;, &#x27;veryfast&#x27;,&#xA;    &#x27;-x264opts&#x27;, &#x27;nal-hrd=cbr:no-scenecut&#x27;,&#xA;    &#x27;-minrate&#x27;, `${VIDEO_BITRATE}`,&#xA;    &#x27;-maxrate&#x27;, `${VIDEO_BITRATE}`,&#xA;    &#x27;-g&#x27;, `${VIDEO_GOP}`,&#xA;// apply a fixed delay to the audio stream in order to synchronize it with the video stream&#xA;&#x27;-filter_complex&#x27;, &#x27;adelay=delays=1000|1000&#x27;,&#xA;// codec audio with aac&#xA;&#x27;-c:a&#x27;, &#x27;aac&#x27;,&#xA;    &#x27;-b:a&#x27;, `${AUDIO_BITRATE}`,&#xA;    &#x27;-ac&#x27;, `${AUDIO_CHANNELS}`,&#xA;    &#x27;-ar&#x27;, `${AUDIO_SAMPLERATE}`,&#xA;// adjust fragmentation to prevent seeking(resolve issue: muxer does not support non seekable output)&#xA;&#x27;-movflags&#x27;, &#x27;frag_keyframe&#x2B;empty_moov&#x27;,&#xA;// set output format to mp4 and output file to stdout&#xA;&#x27;-f&#x27;, &#x27;mp4&#x27;, &#x27;-&#x27;&#xA;]&#xA;

    &#xA;

    ) ;

    &#xA;

    I need to run ffmpeg -i captured.mp4 -c copy new.mp4 using another spawn process on the output.&#xA;I tried the following :

    &#xA;

    const newStdOut =  spawn(&#x27;ffmpeg&#x27;,[&#xA;&#xA;    &#x27;-i&#x27;, `${transcodeStreamToOutput.stdout}`, &#xA;    &#x27;-codec:v&#x27;, &#x27;copy&#x27;, &#xA;    &#x27;-codec:a&#x27;, &#x27;copy&#x27;, &#xA;    &#x27;-f&#x27;, &#x27;mp4&#x27;, &#x27;-&#x27;&#xA;    ]&#xA;);&#xA;

    &#xA;

    But it is not working. I would appreciate any help.

    &#xA;