Recherche avancée

Médias (1)

Mot : - Tags -/artwork

Autres articles (109)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang 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.

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (12562)

  • avformat/movenc : use unspecified language by default

    19 mai 2019, par Marton Balint
    avformat/movenc : use unspecified language by default
    

    English was used before.

    Signed-off-by : Marton Balint <cus@passwd.hu>

    • [DH] Changelog
    • [DH] libavformat/movenc.c
    • [DH] libavformat/version.h
    • [DH] tests/ref/acodec/alac
    • [DH] tests/ref/acodec/pcm-s16be
    • [DH] tests/ref/acodec/pcm-s24be
    • [DH] tests/ref/acodec/pcm-s32be
    • [DH] tests/ref/acodec/pcm-s8
    • [DH] tests/ref/fate/adtstoasc_ticket3715
    • [DH] tests/ref/lavf/mov
    • [DH] tests/ref/lavf/mov_rtphint
    • [DH] tests/ref/vsynth/vsynth1-avui
    • [DH] tests/ref/vsynth/vsynth1-dnxhd-1080i
    • [DH] tests/ref/vsynth/vsynth1-dnxhd-1080i-10bit
    • [DH] tests/ref/vsynth/vsynth1-dnxhd-1080i-colr
    • [DH] tests/ref/vsynth/vsynth1-dnxhd-hr-hq-mov
    • [DH] tests/ref/vsynth/vsynth1-dnxhd-hr-lb-mov
    • [DH] tests/ref/vsynth/vsynth1-dnxhd-hr-sq-mov
    • [DH] tests/ref/vsynth/vsynth1-mov-bgr24
    • [DH] tests/ref/vsynth/vsynth1-mov-bpp15
    • [DH] tests/ref/vsynth/vsynth1-mov-bpp16
    • [DH] tests/ref/vsynth/vsynth1-prores
    • [DH] tests/ref/vsynth/vsynth1-prores_444
    • [DH] tests/ref/vsynth/vsynth1-prores_444_int
    • [DH] tests/ref/vsynth/vsynth1-prores_int
    • [DH] tests/ref/vsynth/vsynth1-prores_ks
    • [DH] tests/ref/vsynth/vsynth1-qtrle
    • [DH] tests/ref/vsynth/vsynth1-qtrlegray
    • [DH] tests/ref/vsynth/vsynth1-svq1
    • [DH] tests/ref/vsynth/vsynth1-vc2-420p
    • [DH] tests/ref/vsynth/vsynth1-vc2-420p10
    • [DH] tests/ref/vsynth/vsynth1-vc2-420p12
    • [DH] tests/ref/vsynth/vsynth1-vc2-422p
    • [DH] tests/ref/vsynth/vsynth1-vc2-422p10
    • [DH] tests/ref/vsynth/vsynth1-vc2-422p12
    • [DH] tests/ref/vsynth/vsynth1-vc2-444p
    • [DH] tests/ref/vsynth/vsynth1-vc2-444p10
    • [DH] tests/ref/vsynth/vsynth1-vc2-444p12
    • [DH] tests/ref/vsynth/vsynth1-vc2-t5_3
    • [DH] tests/ref/vsynth/vsynth1-vc2-thaar
    • [DH] tests/ref/vsynth/vsynth2-avui
    • [DH] tests/ref/vsynth/vsynth2-dnxhd-1080i
    • [DH] tests/ref/vsynth/vsynth2-dnxhd-1080i-10bit
    • [DH] tests/ref/vsynth/vsynth2-dnxhd-1080i-colr
    • [DH] tests/ref/vsynth/vsynth2-dnxhd-hr-hq-mov
    • [DH] tests/ref/vsynth/vsynth2-dnxhd-hr-lb-mov
    • [DH] tests/ref/vsynth/vsynth2-dnxhd-hr-sq-mov
    • [DH] tests/ref/vsynth/vsynth2-mov-bgr24
    • [DH] tests/ref/vsynth/vsynth2-mov-bpp15
    • [DH] tests/ref/vsynth/vsynth2-mov-bpp16
    • [DH] tests/ref/vsynth/vsynth2-prores
    • [DH] tests/ref/vsynth/vsynth2-prores_444
    • [DH] tests/ref/vsynth/vsynth2-prores_444_int
    • [DH] tests/ref/vsynth/vsynth2-prores_int
    • [DH] tests/ref/vsynth/vsynth2-prores_ks
    • [DH] tests/ref/vsynth/vsynth2-qtrle
    • [DH] tests/ref/vsynth/vsynth2-qtrlegray
    • [DH] tests/ref/vsynth/vsynth2-svq1
    • [DH] tests/ref/vsynth/vsynth2-vc2-420p
    • [DH] tests/ref/vsynth/vsynth2-vc2-420p10
    • [DH] tests/ref/vsynth/vsynth2-vc2-420p12
    • [DH] tests/ref/vsynth/vsynth2-vc2-422p
    • [DH] tests/ref/vsynth/vsynth2-vc2-422p10
    • [DH] tests/ref/vsynth/vsynth2-vc2-422p12
    • [DH] tests/ref/vsynth/vsynth2-vc2-444p
    • [DH] tests/ref/vsynth/vsynth2-vc2-444p10
    • [DH] tests/ref/vsynth/vsynth2-vc2-444p12
    • [DH] tests/ref/vsynth/vsynth2-vc2-t5_3
    • [DH] tests/ref/vsynth/vsynth2-vc2-thaar
    • [DH] tests/ref/vsynth/vsynth3-dnxhd-1080i-10bit
    • [DH] tests/ref/vsynth/vsynth3-dnxhd-1080i-colr
    • [DH] tests/ref/vsynth/vsynth3-dnxhd-hr-hq-mov
    • [DH] tests/ref/vsynth/vsynth3-dnxhd-hr-lb-mov
    • [DH] tests/ref/vsynth/vsynth3-dnxhd-hr-sq-mov
    • [DH] tests/ref/vsynth/vsynth3-mov-bgr24
    • [DH] tests/ref/vsynth/vsynth3-mov-bpp15
    • [DH] tests/ref/vsynth/vsynth3-mov-bpp16
    • [DH] tests/ref/vsynth/vsynth3-prores
    • [DH] tests/ref/vsynth/vsynth3-prores_444
    • [DH] tests/ref/vsynth/vsynth3-prores_444_int
    • [DH] tests/ref/vsynth/vsynth3-prores_int
    • [DH] tests/ref/vsynth/vsynth3-prores_ks
    • [DH] tests/ref/vsynth/vsynth3-qtrle
    • [DH] tests/ref/vsynth/vsynth3-svq1
    • [DH] tests/ref/vsynth/vsynth_lena-avui
    • [DH] tests/ref/vsynth/vsynth_lena-dnxhd-1080i
    • [DH] tests/ref/vsynth/vsynth_lena-dnxhd-1080i-10bit
    • [DH] tests/ref/vsynth/vsynth_lena-dnxhd-1080i-colr
    • [DH] tests/ref/vsynth/vsynth_lena-dnxhd-hr-hq-mov
    • [DH] tests/ref/vsynth/vsynth_lena-dnxhd-hr-lb-mov
    • [DH] tests/ref/vsynth/vsynth_lena-dnxhd-hr-sq-mov
    • [DH] tests/ref/vsynth/vsynth_lena-mov-bgr24
    • [DH] tests/ref/vsynth/vsynth_lena-mov-bpp15
    • [DH] tests/ref/vsynth/vsynth_lena-mov-bpp16
    • [DH] tests/ref/vsynth/vsynth_lena-prores
    • [DH] tests/ref/vsynth/vsynth_lena-prores_444
    • [DH] tests/ref/vsynth/vsynth_lena-prores_444_int
    • [DH] tests/ref/vsynth/vsynth_lena-prores_int
    • [DH] tests/ref/vsynth/vsynth_lena-prores_ks
    • [DH] tests/ref/vsynth/vsynth_lena-qtrle
    • [DH] tests/ref/vsynth/vsynth_lena-qtrlegray
    • [DH] tests/ref/vsynth/vsynth_lena-svq1
    • [DH] tests/ref/vsynth/vsynth_lena-vc2-420p
    • [DH] tests/ref/vsynth/vsynth_lena-vc2-420p10
    • [DH] tests/ref/vsynth/vsynth_lena-vc2-420p12
    • [DH] tests/ref/vsynth/vsynth_lena-vc2-422p
    • [DH] tests/ref/vsynth/vsynth_lena-vc2-422p10
    • [DH] tests/ref/vsynth/vsynth_lena-vc2-422p12
    • [DH] tests/ref/vsynth/vsynth_lena-vc2-444p
    • [DH] tests/ref/vsynth/vsynth_lena-vc2-444p10
    • [DH] tests/ref/vsynth/vsynth_lena-vc2-444p12
    • [DH] tests/ref/vsynth/vsynth_lena-vc2-t5_3
    • [DH] tests/ref/vsynth/vsynth_lena-vc2-thaar
  • How to open a .sw file using libav library in c language ?

    29 août 2018, par volatile

    I created a .sw(16 bit pcm) file by passing an audio file. Now I am trying to get back the original audio(.mp3) by passing the .sw file as an input to the following file.

    How can I read the .sw file content so that I can get back the mp3 file. Below is the code,

    #include
    #include
    #include

    #include <libavcodec></libavcodec>avcodec.h>
    #include <libavformat></libavformat>avformat.h>

    #include <libavutil></libavutil>channel_layout.h>
    #include <libavutil></libavutil>common.h>
    #include <libavutil></libavutil>frame.h>
    #include <libavutil></libavutil>samplefmt.h>

    /* check that a given sample format is supported by the encoder */
    static int check_sample_fmt(const AVCodec *codec, enum AVSampleFormat sample_fmt)
    {
       const enum AVSampleFormat *p = codec->sample_fmts;

       while (*p != AV_SAMPLE_FMT_NONE) {
           if (*p == sample_fmt)
               return 1;
           p++;
       }
       return 0;
    }

    /* just pick the highest supported samplerate */
    static int select_sample_rate(const AVCodec *codec)
    {
       const int *p;
       int best_samplerate = 0;

       if (!codec->supported_samplerates)
           return 44100;

       p = codec->supported_samplerates;
       while (*p) {
           if (!best_samplerate || abs(44100 - *p) &lt; abs(44100 - best_samplerate))
               best_samplerate = *p;
           p++;
       }
       return best_samplerate;
    }

    /* select layout with the highest channel count */
    static int select_channel_layout(const AVCodec *codec)
    {
       const uint64_t *p;
       uint64_t best_ch_layout = 0;
       int best_nb_channels   = 0;

       if (!codec->channel_layouts)
           return AV_CH_LAYOUT_STEREO;

       p = codec->channel_layouts;
       while (*p) {
           int nb_channels = av_get_channel_layout_nb_channels(*p);

           if (nb_channels > best_nb_channels) {
               best_ch_layout    = *p;
               best_nb_channels = nb_channels;
           }
           p++;
       }
       return best_ch_layout;
    }

    static void encode(AVCodecContext *ctx, AVFrame *frame, AVPacket *pkt,
                      FILE *output)
    {
       int ret;

      /* send the frame for encoding */
      ret = avcodec_send_frame(ctx, frame);
      if (ret &lt; 0) {
          fprintf(stderr, "Error sending the frame to the encoder\n");
          exit(1);
      }

      /* read all the available output packets (in general there may be any
       * number of them */
      while (ret >= 0) {
          ret = avcodec_receive_packet(ctx, pkt);
          if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
              return;
          else if (ret &lt; 0) {
              fprintf(stderr, "Error encoding audio frame\n");
              exit(1);
          }

          fwrite(pkt->data, 1, pkt->size, output);
          av_packet_unref(pkt);
      }
    }

    int main(int argc, char **argv)
    {
      const char *filename;
      const AVCodec *codec;
      AVCodecContext *c= NULL;
      AVFrame *frame;
      AVPacket *pkt;
      int i, j, k, ret;
      FILE *f;
      uint16_t *samples;
      float t, tincr;

      av_register_all();
      avcodec_register_all();

      if (argc &lt;= 1) {
          fprintf(stderr, "Usage: %s <output file="file">\n", argv[0]);
          return 0;
      }
      filename = argv[1];

      /* find the MP2 encoder */
      codec = avcodec_find_encoder(AV_CODEC_ID_MP3);
      if (!codec) {
          fprintf(stderr, "Codec not found\n");
          exit(1);
      }

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

      /* put sample parameters */
      c->bit_rate = 64000;

      /* check that the encoder supports s16 pcm input */
      c->sample_fmt = AV_SAMPLE_FMT_S16P;
      if (!check_sample_fmt(codec, c->sample_fmt)) {
          fprintf(stderr, "Encoder does not support sample format %s",
                  av_get_sample_fmt_name(c->sample_fmt));
          exit(1);
      }

      /* select other audio parameters supported by the encoder */
      c->sample_rate    = select_sample_rate(codec);
      c->channel_layout = select_channel_layout(codec);
      c->channels       = av_get_channel_layout_nb_channels(c->channel_layout);

      /* 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);
      }

      /* packet for holding encoded output */
      pkt = av_packet_alloc();
      if (!pkt) {
          fprintf(stderr, "could not allocate the packet\n");
          exit(1);
      }

      /* frame containing input raw audio */
      frame = av_frame_alloc();
      if (!frame) {
          fprintf(stderr, "Could not allocate audio frame\n");
          exit(1);
      }

      frame->nb_samples     = c->frame_size;
      frame->format         = c->sample_fmt;
      frame->channel_layout = c->channel_layout;

      /* allocate the data buffers */
      ret = av_frame_get_buffer(frame, 0);
      if (ret &lt; 0) {
          fprintf(stderr, "Could not allocate audio data buffers\n");
          exit(1);
      }

      /* encode a single tone sound */
      t = 0;
      tincr = 2 * M_PI * 440.0 / c->sample_rate;
      for (i = 0; i &lt; 200; i++) {
          /* make sure the frame is writable -- makes a copy if the encoder
           * kept a reference internally */
          ret = av_frame_make_writable(frame);
          if (ret &lt; 0)
              exit(1);
          samples = (uint16_t*)frame->data[0];

          for (j = 0; j &lt; c->frame_size; j++) {
              samples[2*j] = (int)(sin(t) * 10000);

              for (k = 1; k &lt; c->channels; k++)
                  samples[2*j + k] = samples[2*j];
              t += tincr;
          }
          encode(c, frame, pkt, f);
      }

      /* flush the encoder */
      encode(c, NULL, pkt, f);

      fclose(f);

      av_frame_free(&amp;frame);
      av_packet_free(&amp;pkt);
      avcodec_free_context(&amp;c);

      return 0;
    }
    </output>

    I just want to know, where and how the .sw file is reading in the above audio encoding code ?

  • avcodec/c93 : Check for block overlap.

    16 avril 2013, par Michael Niedermayer

    avcodec/c93 : Check for block overlap.