Recherche avancée

Médias (1)

Mot : - Tags -/biographie

Autres articles (68)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

Sur d’autres sites (6652)

  • Revision 200ec69abb : Simplify the skip flag cost code Code refactoring. Change-Id : Idad53cb80497d13

    16 septembre 2014, par Yunqing Wang

    Changed Paths :
     Modify /vp9/encoder/vp9_rdopt.c



    Simplify the skip flag cost code

    Code refactoring.

    Change-Id : Idad53cb80497d13551a142a642f7529fc305b0bc

  • Revision 906c1b4bd9 : changed to avoid code confusion The previous double if and else code snippets w

    22 octobre 2012, par Yaowu Xu

    Changed Paths : Modify /vp8/common/findnearmv.c changed to avoid code confusion The previous double if and else code snippets were rather confusing. Change-Id : Id1b6152fa0e471beb9b20407aa406e109c1471e3

  • store pcm data into file, but can not play that file

    25 mai 2016, par Peng Qu

    I am writing a simple program, which reads mp3 file and store its pcm data into another file. I could get that file now, but when I play that on windows, I failed. So is there any wrong in my code, or windows couldn’t play raw audio data ?

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

    int main()
    {
    int err;
    FILE *fout = fopen("test.wav", "wb");
    av_register_all();

    // step 1, open file and find audio stream
    AVFormatContext *fmtx = NULL;
    err = avformat_open_input(&amp;fmtx, "melodylove.mp3", NULL, NULL);
    assert(!err);

    err = avformat_find_stream_info(fmtx, NULL);
    assert(!err);

    int audio_stream_idx = -1;
    AVStream *st;
    AVCodecContext *decx;
    AVCodec *dec;

    for (int i = 0; i &lt; fmtx->nb_streams; ++i) {
       audio_stream_idx = i;
       if (fmtx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
           st = fmtx->streams[i];
           decx = st->codec;
           dec = avcodec_find_decoder(decx->codec_id);
           decx->request_channel_layout = AV_CH_LAYOUT_STEREO_DOWNMIX;
           decx->request_sample_fmt = AV_SAMPLE_FMT_FLT;
           avcodec_open2(decx, dec, NULL);
           break;
       }
    }
    assert(audio_stream_idx != -1);

    int channels = decx->channels;
    int sample_rate = decx->sample_rate;
    int planar = av_sample_fmt_is_planar(decx->sample_fmt);
    int num_planes =  planar? decx->channels : 1;
    const char *sample_name = av_get_sample_fmt_name(decx->sample_fmt);
    printf("sample name: %s, channels: %d, sample rate: %d\n",
           sample_name, channels, sample_rate);
    printf("is planar: %d, planes: %d\n", planar, num_planes);

    /*
    * above I print some infomation about mp3 file, they are:
    * sample name: s16p, channels: 2, sample rate: 48000
    * is planar: 1, planes: 2
    */
    getchar();

    AVPacket pkt;
    av_init_packet(&amp;pkt);
    AVFrame *frame = av_frame_alloc();

    while (1) {
       err = av_read_frame(fmtx, &amp;pkt);
       if (err &lt; 0) {
           printf("read frame fail\n");
           fclose(fout);
           exit(-1);
       }
       if (pkt.stream_index != audio_stream_idx) {
           printf("we don't need this stream\n");
           continue;
       }
       printf("data size: %d\n", pkt.size);

       int got_frame = 0;
       int bytes = avcodec_decode_audio4(decx, frame, &amp;got_frame, &amp;pkt);
       if (bytes &lt; 0) {
           printf("decode audio fail\n");
           continue;
       }
       printf("frame size: %d, samples: %d\n", bytes, frame->nb_samples);

       if (got_frame) {
           int input_samples = frame->nb_samples * decx->channels;
           int sz = input_samples / num_planes;
           short buffer1[input_samples];

           for (int j = 0; j &lt; frame->nb_samples; ++j) {
               for (int i = 0; i &lt; num_planes; ++i) {
                   short *d = (short *)frame->data[i];
                   buffer1[j*2+i] = d[j];
               }
           }

           fwrite(buffer1, input_samples, 2, fout);
       } else {
           printf("why not get frame???");
       }
    }
    }