Recherche avancée

Médias (0)

Mot : - Tags -/alertes

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (89)

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

Sur d’autres sites (9812)

  • QRTLE is supported by ffmpeg ?

    22 avril 2016, par Sagar
    • I am trying to create video using QRTLE format with RGB24 or ARGB pixel format in ffmpeg library.But video is not played.
    • But is i use H264 format with yuv format then it’s working fine.
    • Is QRTLE is not supported by ffmpeg or i m doing any mistake ?

      static void video_encode_example(const char *filename, int codec_id)
      {
             AVCodec *codec;
             AVCodecContext *c = NULL;
             int i, ret, x, y, got_output;
             FILE *f;
             AVFrame *frame;
             AVPacket pkt;
             uint8_t endcode[] = { 0, 0, 1, 0xb7 };

             printf("Encode video file %s\n", filename);

             /* find the mpeg1 video encoder */

             codec = avcodec_find_encoder((AVCodecID) codec_id);
             //  codec = 28;
             if (!codec) {
                 fprintf(stderr, "Codec not found : %d\n", codec_id);
                 exit(1);
             }

             c = avcodec_alloc_context3(codec);

             if (!c) {
                 fprintf(stderr, "Could not allocate video codec context\n");
                 exit(1);
             }

             /* put sample parameters */
             c->bit_rate = 400000;
             /* resolution must be a multiple of two */
             c->width = 352;
             c->height = 288;
             /* frames per second */
             c->time_base = (AVRational ) { 1, 25 };
             /* emit one intra frame every ten frames
              * check frame pict_type before passing frame
              * to encoder, if frame->pict_type is AV_PICTURE_TYPE_I
              * then gop_size is ignored and the output of encoder
              * will always be I frame irrespective to gop_size
              */
             c->gop_size = 10;
             c->max_b_frames = 1;
             c->pix_fmt = AV_PIX_FMT_RGB24;

             if (codec_id == AV_CODEC_ID_H264)
                 av_opt_set(c->priv_data, "preset", "slow", 0);

             /* open it */
             if (avcodec_open2(c, codec, NULL) < 0) {
                 fprintf(stderr, "Could not open codec\n");
                 exit(1);
             }

             f = fopen(filename, "wb");
             if (!f) {
                 fprintf(stderr, "Could not open %s\n", filename);
                 exit(1);
             }

             frame = av_frame_alloc();
             if (!frame) {
                 fprintf(stderr, "Could not allocate video frame\n");
                 exit(1);
             }
             frame->format = c->pix_fmt;
             frame->width = c->width;
             frame->height = c->height;

             /* the image can be allocated by any means and av_image_alloc() is
              * just the most convenient way if av_malloc() is to be used */
             ret = av_image_alloc(frame->data, frame->linesize, c->width, c->height,
                     c->pix_fmt, 32);
             if (ret < 0) {
                 fprintf(stderr, "Could not allocate raw picture buffer\n");
                 exit(1);
             }
             ////////////////////////////////////
             cv::Mat input = imread("image for creating video(image.png)");
             Mat output;
             resize(input, input, Size(c->width, c->height));
             cvtColor(input, input, CV_BGR2RGB);

             av_image_fill_arrays(frame->data, frame->linesize, input.data,
                     c->pix_fmt, c->width, c->height, 1);

             ////////////////////////////////////

             for (i = 0; i < 250; i++) {
                 av_init_packet(&pkt);
                 pkt.data = NULL;    // packet data will be allocated by the encoder
                 pkt.size = 0;

                 fflush(stdout);

                 frame->pts = i;

                 /* encode the image */
                 ret = avcodec_encode_video2(c, &pkt, frame, &got_output);
                 if (ret < 0) {
                     fprintf(stderr, "Error encoding frame\n");
                     exit(1);
                 }

                 if (got_output) {
                     printf("Write frame %3d (size=%5d)\n", i, pkt.size);
                     fwrite(pkt.data, 1, pkt.size, f);
                     av_packet_unref(&pkt);
                 }
             }

             /* get the delayed frames */
             for (got_output = 1; got_output; i++) {
                 fflush(stdout);

                 ret = avcodec_encode_video2(c, &pkt, NULL, &got_output);
                 if (ret < 0) {
                     fprintf(stderr, "Error encoding frame\n");
                     exit(1);
                 }

                 if (got_output) {
                     printf("Write frame %3d (size=%5d)\n", i, pkt.size);
                     fwrite(pkt.data, 1, pkt.size, f);
                     av_packet_unref(&pkt);
                 }
             }

             /* add sequence end code to have a real mpeg file */
             fwrite(endcode, 1, sizeof(endcode), f);
             fclose(f);

             avcodec_close(c);
             av_free(c);
         //  av_freep(&frame->data[0]);
             av_frame_free(&frame);
             printf("\n");
      }

      int main() {
         av_register_all();
         video_encode_example("test.mov", AV_CODEC_ID_QTRLE);
      }
  • How do I download a list mpd with ffmpeg

    13 mai 2016, par Don Donllei

    I did download the video from a site that used M3U8 but he moved to mpd and do not know how do I download it.

    <mpd type="static" minbuffertime="PT1S" mediapresentationduration="PT0H1M56.320S" profiles="urn:mpeg:dash:profile:full:2011"><programinformation moreinformationurl="http://gpac.sourceforge.net"></programinformation><period start="PT0S" duration="PT0H1M56.320S"><adaptationset segmentalignment="true" maxwidth="1920" maxheight="1080" maxframerate="25" par="16:9"><contentcomponent contenttype="video"></contentcomponent><contentcomponent contenttype="audio"></contentcomponent><segmenttemplate timescale="1000" duration="9693" media="$RepresentationID$/Y7aRjDxbh_$Number$.m4s" startnumber="1" initialization="$RepresentationID$/Y7aRjDxbh_init.mp4"></segmenttemplate><representation mimetype="video/mp4" codecs="avc3.64000d,mp4a.40.2" width="320" height="240" framerate="25" sar="4:3" audiosamplingrate="44100" startwithsap="1" bandwidth="400000">
       </representation><representation mimetype="video/mp4" codecs="avc3.64001e,mp4a.40.2" width="720" height="480" framerate="25" sar="32:27" audiosamplingrate="44100" startwithsap="1" bandwidth="900000">
     </representation><representation mimetype="video/mp4" codecs="avc3.64001f,mp4a.40.2" width="960" height="720" framerate="25" sar="4:3" audiosamplingrate="44100" startwithsap="1" bandwidth="1500000">
      </representation><representation mimetype="video/mp4" codecs="avc3.640028,mp4a.40.2" width="1920" height="1080" framerate="25" sar="1:1" audiosamplingrate="44100" startwithsap="1" bandwidth="3500000">
      </representation><representation mimetype="video/mp4" codecs="avc3.640028,mp4a.40.2" width="2730" height="1440" framerate="25" sar="1:1" audiosamplingrate="44100" startwithsap="1" bandwidth="10000000">
      </representation><representation mimetype="video/mp4" codecs="avc3.640028,mp4a.40.2" width="4096" height="2160" framerate="25" sar="1:1" audiosamplingrate="44100" startwithsap="1" bandwidth="20000000">
      </representation></adaptationset></period></mpd>
  • Create video using ffmpeg

    18 avril 2016, par Sagar

    I have 100 images(PNG) and I want to create a video using these images. I am using the ffmpeg library for this. Using command line I can create video easily. But how do I do it through coding ?

    Any help will be appreciated.

    #pragma GCC diagnostic ignored "-Wdeprecated-declarations"


    #include
    #include
    #include

    #ifdef HAVE_AV_CONFIG_H
    #undef HAVE_AV_CONFIG_H
    #endif

    extern "C"
    {
    #include "libavutil/imgutils.h"
    #include "libavutil/opt.h"
    #include "libavcodec/avcodec.h"
    #include "libavutil/mathematics.h"
    #include "libavutil/samplefmt.h"
    }

    #define INBUF_SIZE 4096
    #define AUDIO_INBUF_SIZE 20480
    #define AUDIO_REFILL_THRESH 4096




    static void video_encode_example(const char *filename, int codec_id)
    {
      AVCodec *codec;
      AVCodecContext *c= NULL;
      int i, out_size, size, x, y, outbuf_size;
      FILE *f;
      AVFrame *picture;
      uint8_t *outbuf;
      int nrOfFramesPerSecond  =25;
      int nrOfSeconds =1;


      printf("Video encoding\n");

    //    find the mpeg1 video encoder
      codec = avcodec_find_encoder((CodecID) codec_id);
      if (!codec) {
          fprintf(stderr, "codec not found\n");
          exit(1);
      }

      c = avcodec_alloc_context3(codec);
      picture= avcodec_alloc_frame();

    //    put sample parameters
      c->bit_rate = 400000;
    //    resolution must be a multiple of two
      c->width = 352;
      c->height = 288;
    //    frames per second
      c->time_base= (AVRational){1,25};
      c->gop_size = 10;  //emit one intra frame every ten frames
      c->max_b_frames=1;
      c->pix_fmt = PIX_FMT_YUV420P;

      if(codec_id == CODEC_ID_H264)
          av_opt_set(c->priv_data, "preset", "slow", 0);

    //    open it
      if (avcodec_open2(c, codec, NULL) &lt; 0) {
          fprintf(stderr, "could not open codec\n");
          exit(1);
      }

      f = fopen(filename, "wb");
      if (!f) {
          fprintf(stderr, "could not open %s\n", filename);
          exit(1);
      }

    //    alloc image and output buffer
      outbuf_size = 100000;
      outbuf = (uint8_t*) malloc(outbuf_size);

    //    the image can be allocated by any means and av_image_alloc() is
    //    * just the most convenient way if av_malloc() is to be used
      av_image_alloc(picture->data, picture->linesize,
                     c->width, c->height, c->pix_fmt, 1);

    //    encode 1 second of video
      int nrOfFramesTotal = nrOfFramesPerSecond * nrOfSeconds;

    //    encode 1 second of video
      for(i=0;i &lt; nrOfFramesTotal; i++) {
          fflush(stdout);
    //        prepare a dummy image

          for(y=0;yheight;y++) {
              for(x=0;xwidth;x++) {
                  picture->data[0][y * picture->linesize[0] + x] = x + y + i * 3;
              }
          }

    //        Cb and Cr
          for(y=0;yheight/2;y++) {
              for(x=0;xwidth/2;x++) {
                  picture->data[1][y * picture->linesize[1] + x] = 128 + y + i * 2;
                  picture->data[2][y * picture->linesize[2] + x] = 64 + x + i * 5;
              }
          }

    //        encode the image
          out_size = avcodec_encode_video(c, outbuf, outbuf_size, picture);
          printf("encoding frame %3d (size=%5d)\n", i, out_size);
          fwrite(outbuf, 1, out_size, f);
      }

    //    get the delayed frames
      for(; out_size; i++) {
          fflush(stdout);

          out_size = avcodec_encode_video(c, outbuf, outbuf_size, NULL);
          printf("write frame %3d (size=%5d)\n", i, out_size);
          fwrite(outbuf, 1, out_size, f);
      }

    //    add sequence end code to have a real mpeg file
      outbuf[0] = 0x00;
      outbuf[1] = 0x00;
      outbuf[2] = 0x01;
      outbuf[3] = 0xb7;
      fwrite(outbuf, 1, 4, f);
      fclose(f);
      free(outbuf);

      avcodec_close(c);
    //   av_free(c);
    //   av_free(picture->data[0]);
    //   av_free(picture);
      printf("\n");
    }

    int main(int argc, char **argv)
    {
      const char *filename;


      avcodec_register_all();

      if (argc &lt;= 1) {

          video_encode_example("/home/radix/Desktop/OpenCV/FFMPEG_Output/op89.png", AV_CODEC_ID_H264);
      } else {
          filename = argv[1];
      }


      return 0;
    }
    • On searching everytime i m getting code similar to this.But i don’t understood hot to use it for creating video from images.