Recherche avancée

Médias (1)

Mot : - Tags -/biographie

Autres articles (45)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (11392)

  • RecordRTC only recording stop after 1min

    2 novembre 2015, par Mick Jack

    I am using RecordRTC to record a webcam stream and using ffmpeg to convert the output into .mp4 recording of 1min video is fine and the browser merge both the audio and video into a single .mp4 however recording that is longer than 1min will encounter this error.

    error

    My Sample Code

    function setupNewBroadcastButtonClickHandler() {
               document.getElementById('broadcast-name').disabled = true;
               document.getElementById('setup-new-broadcast').disabled = true;
               //document.getElementById('save-video').disabled = true;
               captureUserMedia(function() {
                   var shared = 'video';
                   broadcastUI.createRoom({
                       roomName: (document.getElementById('broadcast-name') || {}).value || 'Anonymous',
                       isAudio: shared === 'audio'
                   });
               });
               hideUnnecessaryStuff();
           }

           var audioRecorder, videoRecorder, videoURL, connectionStream;
           function initRecorders(stream) {
               //document.getElementById('start-recording').disabled = false;
               document.getElementById('stop-recording').disabled = false;
               //document.getElementById('save-video').disabled = false;
               //document.getElementById('start-recording').onclick = function() {
                   this.disabled = true;
                   audioRecorder = RecordRTC(stream, {
                       recorderType: StereoAudioRecorder,
                       bufferSize: 16384,  // mandatory: if 720p output is forced. otherwise: optional
                       width: 1280, // optional---- to get 720p output
                       height: 720
                   });

                   videoRecorder = RecordRTC(stream, {
                       type: 'video',
                       frameInterval: 90
                   });

                   videoRecorder.initRecorder(function() {
                       audioRecorder.initRecorder(function() {
                           audioRecorder.startRecording();
                           videoRecorder.startRecording();
                       });
                   });
               //};

               document.getElementById('stop-recording').onclick = function() {
                   this.disabled = true;
                   //document.getElementById('start-recording').disabled = false;
                   //document.getElementById('save-video').disabled = false;
                   videoRecorder.stopRecording(function() {
                       audioRecorder.stopRecording(function() {
                           var audioBlob = audioRecorder.blob;
                           var videoBlob = videoRecorder.blob;

                           convertStreams(videoBlob, audioBlob);

                           // Generate video URL
                           //var video = document.createElement('video');
                           //video.src = URL.createObjectURL(videoBlob);
                           //videoURL = video.src;
                       });
                   });
                   stream.stop();
               };

               /*document.getElementById('save-video').onclick = function() {
                   this.disabled = true;          
                   downloadURI(videoURL, 'video.webm');    
               };*/
           }

           function captureUserMedia(callback) {
               var htmlElement = document.createElement('video');
               htmlElement.setAttribute('autoplay', true);
               htmlElement.setAttribute('controls', true);
               videosContainer.insertBefore(htmlElement, videosContainer.firstChild);

               var mediaConfig = {
                   video: htmlElement,
                   onsuccess: function(stream) {
                       config.attachStream = stream;
                       callback && callback();
                       //htmlElement.setAttribute('muted', true);
                       scaleVideos();
                       initRecorders(stream);
                   },
                   onerror: function() {
                       alert('unable to get access to your webcam');
                   }
               };
               getUserMedia(mediaConfig);
           }

           var broadcastUI = broadcast(config);

           /* UI specific */
           var videosContainer = document.getElementById('videos-container') || document.body;
           var setupNewBroadcast = document.getElementById('setup-new-broadcast');
           var roomsList = document.getElementById('rooms-list');

           var broadcastingOption = document.getElementById('broadcasting-option');

           if (setupNewBroadcast)
               setupNewBroadcast.onclick = setupNewBroadcastButtonClickHandler;

           function hideUnnecessaryStuff() {
               var visibleElements = document.getElementsByClassName('visible'),
                   length = visibleElements.length;
               for (var i = 0; i < length; i++) {
                   visibleElements[i].style.display = 'none';
               }
           }

           var workerPath = 'https://4dbefa02675a4cdb7fc25d009516b060a84a3b4b.googledrive.com/host/0B6GWd_dUUTT8WjhzNlloZmZtdzA/ffmpeg_asm.js';

           // HTML5 create a new thread to run merging and conversion at background
                   function processInWebWorker() {

                       var blob = URL.createObjectURL(new Blob(['importScripts("' + workerPath + '");var now = Date.now;function print(text) {postMessage({"type" : "stdout","data" : text});};onmessage = function(event) {var message = event.data;if (message.type === "command") {var Module = {print: print,printErr: print,files: message.files || [],arguments: message.arguments || [],TOTAL_MEMORY: message.TOTAL_MEMORY || false};postMessage({"type" : "start","data" : Module.arguments.join(" ")});postMessage({"type" : "stdout","data" : "Received command: " +Module.arguments.join(" ") +((Module.TOTAL_MEMORY) ? ".  Processing with " + Module.TOTAL_MEMORY + " bits." : "")});var time = now();var result = ffmpeg_run(Module);var totalTime = now() - time;postMessage({"type" : "stdout","data" : "Finished processing (took " + totalTime + "ms)"});postMessage({"type" : "done","data" : result,"time" : totalTime});}};postMessage({"type" : "ready"});'], {
                                   type: 'application/javascript'
                           }));
                            var worker = new Worker(blob);
                            URL.revokeObjectURL(blob);
                            return worker;
                     }
                   var worker;

                   function convertStreams(videoBlob, audioBlob) {
                       var vab;
                       var aab;
                       var buffersReady;
                       var workerReady;
                       var posted = false;
                       var fileReader1 = new FileReader();
                       fileReader1.onload = function() {
                           vab = this.result;
                           if (aab)
                               buffersReady = true;
                           if (buffersReady && workerReady && !posted)
                               postMessage();
                       };
                       var fileReader2 = new FileReader();
                       fileReader2.onload = function() {
                           aab = this.result;
                           if (vab)
                               buffersReady = true;
                           if (buffersReady && workerReady && !posted)
                               postMessage();
                       };
                       fileReader1.readAsArrayBuffer(videoBlob);
                       fileReader2.readAsArrayBuffer(audioBlob);
                       if (!worker) {
                           worker = processInWebWorker();
                       }
                       worker.onmessage = function(event) {
                           var message = event.data;
                           var message = event.data;
                           if (message.type == "ready") {
                               log('Start converting video and audio to mp4, please wait...');
                               workerReady = true;
                               if (buffersReady)
                                   postMessage();
                           } else if (message.type == "done") {

                               var result = message.data[0];
                               var blob = new Blob([result.data], {
                                   type: 'video/mp4'
                               });
                               log("Done converting. File will be downloaded");
                               document.getElementById('setup-new-broadcast').disabled = false;
                               var source = document.createElement('source');
                               source.src = URL.createObjectURL(blob);
                               source.type = 'video/mp4; codecs=mpeg4';
                               downloadURI(source.src, 'video.mp4');
                           }
                       };
                       var postMessage = function() {
                           posted = true;
                           worker.postMessage({
                               type: 'command',
                               arguments: [
                                   '-i', 'video.webm',
                                   '-i', 'audio.wav',
                                   '-c:v', 'mpeg4',
                                   '-c:a', 'vorbis',
                                   '-b:v', '6400k',
                                   '-b:a', '4800k',
                                   '-strict', 'experimental', 'output.mp4'
                               ],
                               files: [
                                   {
                                       data: new Uint8Array(vab),
                                       name: "video.webm"
                                   },
                                   {
                                       data: new Uint8Array(aab),
                                       name: "audio.wav"
                                   }
                               ]
                           });
                       };
                   }
  • classes.jar not getting generated in .aar file

    20 septembre 2016, par vasanth

    I am using Android Studio AI-141.216xxx.
    I generated a .aar file from FFMPEG module/library from this project :
    https://github.com/WritingMinds/ffmpeg-android-java

    I then tried to import a .aar locally into a module in some other application.
    imports were failing.
    But, when I checked in the ’generated’ folder,
    I see that classes.jar is empty.

    Would you know why this is happening ? Any pointer is highly appreciated.
    Thanks in advance.

  • Trimming of videos using FFMPEG [on hold]

    14 décembre 2015, par Praveen Rawat

    I have downloaded video trimming code from github from this https://github.com/uday-rayala/video-trimmer

    It’s working perfectly for the first time, but when I try to run it for the second time the code crashes without any exception then again when I try to run it for the 3rd time after the crash it works ! Does any one have any idea for this kind of behaviour ?

    I am also developing an application which has one module of trimming videos. I would really appreciate it, if any one could help me .this question asked , but cant understand what i have to done . Please sort out this.