
Recherche avancée
Médias (1)
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
Autres articles (29)
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.
Sur d’autres sites (3370)
-
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.