Recherche avancée

Médias (3)

Mot : - Tags -/image

Autres articles (49)

  • 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 (...)

  • 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

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

Sur d’autres sites (7728)

  • FFmpeg realtime volume changing with C API

    9 janvier 2019, par Tank2006

    My environment is FFmpeg 4.1(Prebuild package from an official site) on Windows 10/Visual Studio 2017.

    I want to change an audio volume as realtime according to a volume button operation from media player apps.

    Think simply, it will update if AVFilter parameters changes, but it seems doesn’t work.

    const char src[] = "C:\\sample.mp3";

    AVFilterGraph *graph = NULL;
    AVFilterContext *ctx_src, *ctx_sink;
    AVFilter *ctx_vol;

    int main()
    {
       int res;
       AVPacket *packet = av_packet_alloc();
       AVFrame *frame = av_frame_alloc();
       AVFrame *fframe = av_frame_alloc();

       AVCodec *codec = avcodec_find_decoder(AV_CODEC_ID_MP3);
       AVCodecParser *parser = av_parser_init(codec->id);

       AVCodecContext *cc = avcodec_alloc_context3(codec);
       avcodec_open2(cc, codec, NULL);


       FILE *fp; uint8_t buffer[1024]; int filterinit = 0;
       fopen_s(&fp, src, "rb");
       while (feof(fp) == 0) {
           int read = fread(buffer, 1, 1024, fp);

           res = av_parser_parse2(parser, cc, &packet->data, &packet->size,
               buffer, read, AV_NOPTS_VALUE, AV_NOPTS_VALUE, 0);
           if (packet->size) {
               res = avcodec_send_packet(cc, packet);

               while (res >= 0) {
                   res = avcodec_receive_frame(cc, frame);

                   if (res == AVERROR(EAGAIN) || res == AVERROR_EOF) {
                       break;
                   } else if (res < 0) {
                       fprintf(stderr, "Error during decoding\n");
                       exit(1);
                   }

                   if (filterinit == 0) {
                       // Create a volume filter, links and graph from AVCodecContext's parameter
                       if(init_filters(cc)) filterinit = 1;
                   }

                   if (filterinit == 1) {
                       res = av_buffersrc_add_frame(ctx_src, frame);
                       if(av_buffersink_get_frame(ctx_sink, frame) >= 0) {

                           // Change the volume realtime
                           av_opt_set(ctx_vol, "volume", AV_STRINGIFY(1.2), AV_OPT_SEARCH_CHILDREN);


                           int datasize = av_get_bytes_per_sample(cc->sample_fmt);
                           for (int i = 0; i < frame->nb_samples; i++) {
                               for (int ch = 0; ch < cc->channels; ch++) {
                                   //fwrite(frame->data[ch] + data_size * i, 1, data_size, outfile);
                               }
                           }
                       }
                   }
               }
           }
       }

       fclose(fp);

       avcodec_free_context(&cc);
       av_parser_close(parser);
       av_frame_free(&frame);
       av_frame_free(&fframe);
       av_packet_free(&packet);

       avfilter_graph_free(&graph);

       return 0;
    }

    Can I change the filter value in realtime with FFmpeg’s C API or I need to create a new filter link each time when it requires to update ?

  • FFmpeg Has A Native VP8 Decoder

    24 juin 2010, par Multimedia Mike — VP8

    Thanks to David Conrad and Ronald Bultje who committed their native VP8 video decoder to the FFmpeg codebase yesterday. At this point, it can decode 14/17 of the VP8 test vectors that Google released during the initial open sourcing event. Work is ongoing on those 3 non-passing samples (missing bilinear filter). Meanwhile, FFmpeg’s optimization-obsessive personalities are hard at work optimizing the native decoder. The current decoder is already profiled to be faster than Google/On2’s official libvpx.

    Testing
    So it falls to FATE to test this on the ridiculous diversity of platforms that FFmpeg supports. I staged individual test specs for each of the 17 test vectors : vp8-test-vector-001 ... vp8-test-vector-017. After the samples have propagated through to the various FATE installations, I’ll activate the 14 test specs that are currently passing.

    Initial Testing Methodology
    Inspired by Ronald Bultje’s idea, I built the latest FFmpeg-SVN with libvpx enabled. Then I selected between the reference and native decoders as such :

    $ for i in 001 002 003 004 005 006 007 008 009 \
     010 011 012 013 014 015 016 017
    do
      echo vp80-00-comprehensive-$i.ivf
      ffmpeg -vcodec libvpx -i \
        /path/to/vp8-test-vectors-r1/vp80-00-comprehensive-$i.ivf \
        -f framemd5 - 2> /dev/null
    done > refs.txt
    

    $ for i in 001 002 003 004 005 006 007 008 009 \
    010 011 012 013 014 015 016 017
    do
    echo vp80-00-comprehensive-$i.ivf
    ffmpeg -vcodec vp8 -i \
    /path/to/vp8-test-vectors-r1/vp80-00-comprehensive-$i.ivf \
    -f framemd5 - 2> /dev/null
    done > native.txt

    $ diff -u refs.txt native.txt

    That reveals precisely which files differ.

  • convert WAV to TETRA format

    14 juin 2020, par Ashish Arora

    I am trying to convert a wav file into TETRA encoded file (https://en.wikipedia.org/wiki/Terrestrial_Trunked_Radio). Tetra is used by fire-fighters, it provides a radio-like voice.

    



    I am trying to use the official tetra codec codes available at (https://www.etsi.org/deliver/etsi_en/300300_300399/30039502/01.03.01_60/) and we can easily compile it using the scripts available at https://github.com/sq5bpf/install-tetra-codec.

    



    However, I am not able to figure out how to convert a wav file into tetra codec files using these files. I tried going through the documentation of the compiled files (ccoder, cdecoder, scoder, sdecoder).

    



    I tried the following command -

    



    


    tetra/bin/scoder input.wav serial_file synth_file

    


    



    here serial_file and synth_file are the output files and have following documentation in the scoder.c file :

    



        INPUT   :   - Description : speech file to be analyzed
                - Format : binary file 16 bit-samples
                  240 samples per frame

serial_file :   - Description : serial stream output file 
            - Format : binary file 16 bit-samples
              each 16 bit-sample represents one encoded bit
              138 (= 1 + 137) bits per frame

synth_file  :   - Description : local synthesis output file 
            - Format : binary file 16 bit-samples


    



    For an input file of size 13M, I obtained serial_file and synth_file of size 8.0M and 16M. However, I thought since the wav file is getting converted into a walkie-talkie type signal the output file size will be alot smaller.

    



    I want to clarify if :

    



      

    • I used the correct code to convert an input wav file into a tetra format output file.
    • 


    • can you please help me understand, what is serial_file and synth_file.
    • 


    



    Thanks,
Ashish