Recherche avancée

Médias (16)

Mot : - Tags -/mp3

Autres articles (12)

  • MediaSPIP Init et Diogène : types de publications de MediaSPIP

    11 novembre 2010, par

    À l’installation d’un site MediaSPIP, le plugin MediaSPIP Init réalise certaines opérations dont la principale consiste à créer quatre rubriques principales dans le site et de créer cinq templates de formulaire pour Diogène.
    Ces quatre rubriques principales (aussi appelées secteurs) sont : Medias ; Sites ; Editos ; Actualités ;
    Pour chacune de ces rubriques est créé un template de formulaire spécifique éponyme. Pour la rubrique "Medias" un second template "catégorie" est créé permettant d’ajouter (...)

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

Sur d’autres sites (1011)

  • Decoding audio with FFMPEG

    8 juillet 2012, par Mariano

    I am using FFMPEG to decode an audio file, but I am not able to do it.

       AVFormatContext *pFormatCtx;
    AVCodec *pCodec_audio;
    AVCodecContext *aCodecCtx_audio = NULL;
    AVPacket packet;
    string outfilename = "salida.avi";
    string filename = "john.wav";
    int audioStream;
    int out_size, len, size;
    FILE *outfile;
    int16_t *outbuf;
    uint8_t inbuf[INBUF_SIZE + FF_INPUT_BUFFER_PADDING_SIZE];
    avcodec_init();
    /* register all the codecs */
    av_register_all();

    if(av_open_input_file(&pFormatCtx, filename.c_str(), NULL, 0, NULL) != 0) {
       cerr << "Archivo no encontrado" << endl;
       return -1; // Couldn't open file
    }

    if(av_find_stream_info(pFormatCtx) < 0) {
       cerr << " No encontro el stream de info" << endl;
       return -1;// Couldn't find stream information
    }

    dump_format(pFormatCtx, 0, filename.c_str(), 0);

    for(unsigned int i=0; i < pFormatCtx->nb_streams; i++)
     if(pFormatCtx->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO)
         audioStream = i;
    aCodecCtx_audio = pFormatCtx->streams[audioStream]->codec;
    pCodec_audio = avcodec_find_decoder(aCodecCtx_audio->codec_id);
    if(pCodec_audio == NULL) {
       cerr<< "Unsupported codec!" << endl;
       return -1; // Codec not found
    }

    if(avcodec_open(aCodecCtx_audio, pCodec_audio) < 0) {
       cerr << "No se pudo abrir el codec de audio" << endl;
       return -1;
    }

    outbuf = (int16_t*) av_malloc(AVCODEC_MAX_AUDIO_FRAME_SIZE);

    outfile = fopen(outfilename.c_str(), "wb");
    if (!outfile) {
       exit(1);
    }

    av_init_packet(&packet);
    packet.data = inbuf;
    while(av_read_frame(pFormatCtx, &packet) == 0) {
       if(packet.stream_index == audioStream) {
           size = packet.size;
           if (size == 0) {
               cerr << "Size = 0 " << endl;
               break;
           }
           while(size > 0) {
               out_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
               len = avcodec_decode_audio3(aCodecCtx_audio, outbuf, &out_size , &packet);
               //av_free_packet(&packet);
               cout << len << endl;
               if(len == -1) {
                   cerr << "Error while decoding" << endl;
                   return 1;
               }
               if(out_size > 0) {
                   fwrite(outbuf, 1, out_size, outfile);
               }
               size -= len;
               packet.data += len;
           }
       }
    }
    av_free_packet(&packet);


    fclose(outfile);
    free(outbuf);
    cout << "END CODE" << endl;
    avcodec_close(aCodecCtx_audio);
    av_free(aCodecCtx_audio);

    In the code I am trying to decode an .wav file to a .avi file. The output file ("salida.avi") is created , but does not play.

  • vc1dsp : Change remaining stride parameters to ptrdiff_t

    29 mars 2022, par Martin Storsjö
    vc1dsp : Change remaining stride parameters to ptrdiff_t
    

    The existing x86 assembly for loop filters uses the stride as a
    full register without clearing/sign extending the upper half
    of the registers on x86_64.

    This avoids crashes if the caller would have passed nonzero bits
    in the previously undefined upper 32 bits of the parameters.

    Signed-off-by : Martin Storsjö <martin@martin.st>

    • [DH] libavcodec/mips/vc1dsp_mips.h
    • [DH] libavcodec/mips/vc1dsp_mmi.c
    • [DH] libavcodec/vc1dsp.c
    • [DH] libavcodec/vc1dsp.h
    • [DH] libavcodec/x86/vc1dsp_init.c
    • [DH] libavcodec/x86/vc1dsp_loopfilter.asm
  • C++ ffmpeg mp4 to mp3 transcoding

    2 juillet 2014, par Unknown

    I am working on an application that converts the audio of mp4 video to mp3 files. I managed to compile ffmpeg with libmp3lame.

    This is what I have so far

    // Step 1 - Register all formats and codecs
    avcodec_register_all();
    av_register_all();

    AVFormatContext* fmtCtx = avformat_alloc_context();

    // Step 2 - Open input file, and allocate format context
    if(avformat_open_input(&amp;fmtCtx, filePath.toLocal8Bit().data(), NULL, NULL) &lt; 0)
       qDebug() &lt;&lt; "Error while opening " &lt;&lt; filePath;

    // Step 3 - Retrieve stream information
    if(avformat_find_stream_info(fmtCtx, NULL) &lt; 0)
       qDebug() &lt;&lt; "Error while finding stream info";

    // Step 4 - Find the audiostream
    int audioStreamIdx = -1;
    for(uint i=0; inb_streams; i++) {
       if(fmtCtx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
           audioStreamIdx = i;
           break;
       }
    }

    if(audioStreamIdx != -1) {
       AVCodecContext *audioDecCtx = fmtCtx->streams[audioStreamIdx]->codec;

       // Step 5
       AVCodec *aCodec = avcodec_find_decoder(audioDecCtx->codec_id);
       avcodec_open2(audioDecCtx, aCodec, NULL);

       // Step 6
       AVOutputFormat* outputFormat = av_guess_format(NULL, outPath.toLocal8Bit().data(), NULL);

       // Step 7
       AVFormatContext *outformatCtx = avformat_alloc_context();

       // Step 8
       AVCodec *encoder = avcodec_find_encoder(AV_CODEC_ID_MP3);
       //encoder->sample_fmts = AV_SAMPLE_FMT_S16;
       AVCodecContext *audioEncCtx = avcodec_alloc_context3(encoder);
       audioEncCtx->sample_fmt = AV_SAMPLE_FMT_S16P;
       audioEncCtx->sample_rate = 44100;
       audioEncCtx->channel_layout = av_get_default_channel_layout(audioDecCtx->channels);

       avcodec_open2(audioEncCtx, encoder, NULL);

       // Step 9
       AVFrame *frame = av_frame_alloc();

       AVPacket pkt;
       av_init_packet(&amp;pkt);

       // Step 10
       while(av_read_frame(fmtCtx, &amp;pkt) == 0) {
           int got_frame = 0;

           if(pkt.stream_index == audioStreamIdx) {
               int len = avcodec_decode_audio4(audioDecCtx, frame, &amp;got_frame, &amp;pkt);

               if(got_frame) {
                   // Step 11
                   AVPacket outPkt;
                   av_init_packet(&amp;outPkt);

                   int got_packet = 0;

                   qDebug() &lt;&lt; "This is printed";

                   int error = avcodec_encode_audio2(audioEncCtx, &amp;outPkt, frame, &amp;got_packet);

                   qDebug() &lt;&lt; "This is not printed...";
              }
           }
       }

       av_free_packet(&amp;pkt);
    }

    avformat_close_input(&amp;fmtCtx);

    It goes wrong at the line avcodec_encode_audio2(). It seems like the function does not return. As you can see, the line after the encoding line is not printed. What am I doing wrong ?

    Thanks in advance !