Recherche avancée

Médias (1)

Mot : - Tags -/book

Autres articles (42)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip 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 2013

    Puis-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 2011

    You 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 .gif

    Any help will be greatly appreciated ! Thanks in advance !

  • Free music recognition API

    12 mars 2014, par AmirH

    I'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 :

    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 Victor01288888

    here'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.