
Recherche avancée
Médias (91)
-
999,999
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Demon seed (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
The four of us are dying (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Corona radiata (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Lights in the sky (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
Autres articles (75)
-
Gestion des droits de création et d’édition des objets
8 février 2011, parPar défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
Sur d’autres sites (9805)
-
Free music recognition API
12 mars 2014, par AmirHI'm developing an application to recognize the music played by speakers. It records 32 seconds of the sound played and send a request via an API of music recognition. So far I used Echonest. But my api_key has been banned because of to many requests since I published my freeware, used by more than 200 users.
So I looked for MusicBrainz but it needs the exact duration of the entire song to receive a acceptable response, duration that my application can't guess.
So I'm looking for a free music recognition API so my freeware works. Do you know one ?
Note : I used Echonest by :
- capturing 32 seconds with ffmpeg
-
sending this command via cURL :
curl -F "api_key=XXX" -F "filetype=mp3" -F "track=@sound.mp3" "http://developer.echonest.com/api/v4/track/upload" > info.txt
I tried to use MusicBrainz by :
- capturing 32 seconds with ffmpeg
-
generating the fingerprint using Chromaprint with this command :
fpcalc sound.mp3 > fingerprint.txt
-
sending this command via cURL :
curl -F "client=XXX" -F "meta=recordings" -F "duration=32" -F "fingerprint=ABC" "http://api.acoustid.org/v2/lookup" > info.txt
-
Save frame as image during video stream using ffmpeg, in C
30 avril 2017, par George T.I’m using the Parrot SDK3 to retrieve the video stream from a Bebop2 drone. From it I need to "extract" a frame and save it as an image.
The whole code can be found here, but I shall try to include the (what I understand as) important parts here.
Where the video is sent to mplayer. I assume from this that the video format is h624.
if (videoOut != NULL)
{
if (codec.type == ARCONTROLLER_STREAM_CODEC_TYPE_H264)
{
if (DISPLAY_WITH_MPLAYER)
{
fwrite(codec.parameters.h264parameters.spsBuffer, codec.parameters.h264parameters.spsSize, 1, videoOut);
fwrite(codec.parameters.h264parameters.ppsBuffer, codec.parameters.h264parameters.ppsSize, 1, videoOut);
fflush (videoOut);
}
}
}Where the frame is received and written to videoOut, to be displayed
eARCONTROLLER_ERROR didReceiveFrameCallback (ARCONTROLLER_Frame_t *frame, void *customData)
{
if (videoOut != NULL)
{
if (frame != NULL)
{
if (DISPLAY_WITH_MPLAYER)
{
fwrite(frame->data, frame->used, 1, videoOut);
fflush (videoOut);
}
}
}
return ARCONTROLLER_OK;
}The idea I had in mind is to
fwrite(frame->data, frame->used, 1, videoOut);
to a different file but that just creates a corrupted file, probably because of encoding. In what way can I get this frame and store it to a separate image ? The preferable image filetype .png, .jpg or .gifAny help will be greatly appreciated ! Thanks in advance !
-
Slicing an AVI file
7 novembre 2014, par Peter LurI am trying to upload only a certain part of an AVI file on the server without having to upload the whole file first.
If I set the slice to the beginning (byte : 0), I can read the resulting file no problem even if I slice it in any size. However if the slice start anywhere but not at byte 0, the file become unreadable. I guess this has something to do with the avi header/index being messed up. I was wondering maybe I could use ffmpeg to move the header or something ?
HTML Source
<code class="echappe-js"><script type="text/javascript"><br />
<br />
window.BlobBuilder = window.MozBlobBuilder || window.WebKitBlobBuilder || window.BlobBuilder;<br />
<br />
function sendRequest() {<br />
var blob = document.getElementById('fileToUpload').files[0];<br />
<br />
<br />
//Slicing parameters<br />
<br />
<br />
//#1: Starting at byte:0 = WORKING WELL<br />
var start = 0;<br />
var end = 1048576; // 1MB chunk sizes.<br />
<br />
<br />
//#2: Slicing the video file somewhere else (FAIL)<br />
<br />
/*<br />
var start = 1048576*3;<br />
var end = 1048576*4;<br />
*/<br />
<br />
<br />
var chunk = blob.slice(start, end, 'video/avi');<br />
uploadFile(chunk);<br />
<br />
}<br />
<br />
function fileSelected() {<br />
var file = document.getElementById('fileToUpload').files[0];<br />
if (file) {<br />
var fileSize = 0;<br />
if (file.size > 1024 * 1024)<br />
fileSize = (Math.round(file.size * 100 / (1024 * 1024)) / 100).toString() + 'MB';<br />
else<br />
fileSize = (Math.round(file.size * 100 / 1024) / 100).toString() + 'KB';<br />
<br />
document.getElementById('fileName').innerHTML = 'Name: ' + file.name;<br />
document.getElementById('fileSize').innerHTML = 'Size: ' + fileSize;<br />
document.getElementById('fileType').innerHTML = 'Type: ' + file.type;<br />
}<br />
}<br />
<br />
function uploadFile(blobFile) {<br />
//var file = document.getElementById('fileToUpload').files[0]; <br />
var fd = new FormData();<br />
fd.append("fileToUpload", blobFile);<br />
<br />
var xhr = new XMLHttpRequest();<br />
xhr.upload.addEventListener("progress", uploadProgress, false);<br />
xhr.addEventListener("load", uploadComplete, false);<br />
xhr.addEventListener("error", uploadFailed, false);<br />
xhr.addEventListener("abort", uploadCanceled, false);<br />
xhr.open("POST", "upload.php");<br />
xhr.onload = function(e) {<br />
//alert("loaded!");<br />
};<br />
<br />
xhr.send(fd);<br />
//alert("oen over");<br />
}<br />
<br />
function uploadProgress(evt) {<br />
if (evt.lengthComputable) {<br />
var percentComplete = Math.round(evt.loaded * 100 / evt.total);<br />
document.getElementById('progressNumber').innerHTML = percentComplete.toString() + '%';<br />
}<br />
else {<br />
document.getElementById('progressNumber').innerHTML = 'unable to compute';<br />
}<br />
}<br />
<br />
function uploadComplete(evt) {<br />
/* This event is raised when the server send back a response */<br />
//alert(evt.target.responseText);<br />
}<br />
<br />
function uploadFailed(evt) {<br />
alert("There was an error attempting to upload the file.");<br />
}<br />
<br />
function uploadCanceled(evt) {<br />
xhr.abort();<br />
xhr = null;<br />
//alert("The upload has been canceled by the user or the browser dropped the connection.");<br />
}<br />
</script>PHP Source (upload.php)
<?php
$tmp_name = $_FILES['fileToUpload']['tmp_name'];
$size = $_FILES['fileToUpload']['size'];
$name = $_FILES['fileToUpload']['name'];
$target_file = basename($name);
$complete = "complete.avi";
$com = fopen($complete, "ab");
// Open temp file
$out = fopen($target_file, "wb");
if ( $out ) {
// Read binary input stream and append it to temp file
$in = fopen($tmp_name, "rb");
if ( $in ) {
while ( $buff = fread( $in, 1048576 ) ) {
fwrite($out, $buff);
fwrite($com, $buff);
}
}
fclose($in);
fclose($out);
}
fclose($com);
?>