
Recherche avancée
Médias (1)
-
La conservation du net art au musée. Les stratégies à l’œuvre
26 mai 2011
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (90)
-
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...) -
Récupération d’informations sur le site maître à l’installation d’une instance
26 novembre 2010, parUtilité
Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)
Sur d’autres sites (12928)
-
RecordRTC only recording stop after 1min
2 novembre 2015, par Mick JackI 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.
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 vasanthI 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-javaI 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 RawatI 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.