
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 (42)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
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 -
Contribute to translation
13 avril 2011You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
MediaSPIP is currently available in French and English (...)
Sur d’autres sites (5783)
-
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 !
-
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
-
ffmpeg in server cant upload video over 4 minutes
12 octobre 2020, par Victor01288888here's my code


ffmpeg(stream)
 .output(videoPath)
 .on("start", function () {
 console.log("Starting video compression... please wait...");
 })
 .on("error", function (err) {
 console.log("Something went wrong: " + err.message + " " + err.name);
 })
 .outputOptions(
 "-vcodec",
 "libx264",
 "-crf",
 "35", // change the crf value: high = lower quality & size, low = higher quality & size
 "-format",
 "mp4"
 )
 .on("progress", function (progress) {
 console.log(
 "Processing: " +
 Math.round(progress.currentKbps / progress.targetSize) +
 "% done"
 );
 })
 .on("end", async function () {
 console.log("[ffmpeg] processing done");
 // finish compressing then upload to S3
 console.log("uploading to S3... please wait");
 // const stream2 = await fileType.stream(createReadStream());
 let stream2 = fs.createReadStream(videoPath);
 // saving data in aws(s3)
 let origin = uploadToS3(`${newFileName}`);
 stream2.pipe(origin.writeStream);

 origin && (await origin.promise);
 await Video.updateOne({ _id: video._id }, { status: "success" });

 // del tmp video
 fs.unlink(videoPath, (err) => {
 if (err) {
 console.error(err);
 }
 console.log("Converted file delete from tmp folder server");
 });
 })
 .run();



I uses this code in my server.
If I upload video in 1 minute it's ok.
But when I upload one more then 4 minute it just not appears in AWS.
and the journey only writes 0% without any error.