Recherche avancée

Médias (91)

Autres articles (64)

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

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

Sur d’autres sites (7597)

  • ffmpeg how to do the "earrape" sound effect

    20 avril 2020, par Shalin Shah

    I was wondering how to do the earrape effect using ffmpeg where the audio just sounds completely destroyed. Here's an example :
https://www.youtube.com/watch?v=KiCmvQiAC8Q

    



    I've tried a bunch of combinations of different commands on ffmpeg and the closest I've gotten is the following (where I use the superequalizer and then make the volume super high) :

    



    import ffmpeg
(
    ffmpeg
    .input('shark.wav')
    .filter("superequalizer", 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20)
    .filter("volume", 10)
    .output('output_earrape.wav')
    .run()
)


    



    I'm using a python wrapper but here's the command line equivalent :

    



    ffmpeg -i shark.wav -af "superequalizer=1b=20:2b=20:3b=20:4b=20:5b=20:6b=20:7b=20:8b=20:9b=20:10b=20:11b=20:12b=20:13b=20:14b=20:15b=20:16b=20:17b=20:18b=20,volume=10" output_earrape.wav


    



    The problem with the above is that it doesn't do anything for files that aren't already super loud (such as recorded audio) and most of the time the audio actually just ends up clipping and then being super soft.

    



    Does anyone have suggestions on how to do this effect ? Thanks !

    


  • Java sound vs C sound api in sound result

    18 août 2019, par Ahmed

    i finish developing a conference chat app using java, and i used mp3 as encoder and javacv ( ffmpeg ) as a library, but the sound i get not sonorous like Paltalk app

    i used java sound api to capture the sound then store the sound in a buffer , send it to the encoder and get the compressed bytes and send it via socket then decode it and play it in speaker.
    the sound format was like 44100 sample rate when i capture the sound in java and in encoder it generate 11025 sound.
    here how i get sound from java api

    AudioFormat format = new AudioFormat(44100.0f, 16 , 1, true, false);        
    // target dataline  (Mic)
    DataLine.Info info = new DataLine.Info(TargetDataLine.class, format);
    targetDataLine = (TargetDataLine) AudioSystem.getLine(info);
    targetDataLine.open();

    i want to know what the thing making sound sonorous ?

  • How to capture sound from microphone with FFmpeg and then stream it in C/C++ ?

    9 octobre 2019, par Emad Kebriaei

    I’m trying to implementing the following line in C++ :

    fmpeg -ac 1 -f alsa -i hw:0,0 -acodec mp2 -ab 32k -ac 1 -re -f rtp rtp://localhost:1234

    The abovementioned line capture audio from the mic device and after some processing, stream it in RTP packet over UDP.
    I tried available resources but could not find such (or similar) implementation in C++.
    This is my code : (It was first developed by Lei Xiaouha to stream .flv file over RTMP. I changed in a way to capture audio from the microphone and store it in receive.mp2.)

    int main(int argc, char* argv[])
    {
       avdevice_register_all();
       av_register_all();
       //Network
       avformat_network_init();

       AVOutputFormat *ofmt = NULL;
       //Input AVFormatContext and Output AVFormatContext
       AVFormatContext *ifmt_ctx = NULL, *ofmt_ctx = NULL;
       AVPacket pkt;
       const char *in_filename, *out_filename;
       int ret, i;
       int videoindex=-1;
       int frame_index=0;
       AVInputFormat *fmt = nullptr;

       out_filename = "./receive.mp2";
       fmt = av_find_input_format("alsa");
       in_filename = "hw:0,0";
       int cnt=0;
       //Input
       if ((ret = avformat_open_input(&ifmt_ctx, in_filename, fmt, nullptr)) < 0) {
           printf( "Could not open input file.");
           goto end;
       }
       if ((ret = avformat_find_stream_info(ifmt_ctx, nullptr)) < 0) {
           printf( "Failed to retrieve input stream information");
           goto end;
       }

       for(i=0; inb_streams; i++)
           if(ifmt_ctx->streams[i]->codecpar->codec_type==AVMEDIA_TYPE_VIDEO){
               videoindex=i;
               break;
           }

       av_dump_format(ifmt_ctx, 0, in_filename, 0);

       //Output
       avformat_alloc_output_context2(&ofmt_ctx, nullptr, "mp2", out_filename); //

       if (!ofmt_ctx) {
           printf( "Could not create output context\n");
           ret = AVERROR_UNKNOWN;
           goto end;
       }
       ofmt = ofmt_ctx->oformat;
       for (i = 0; i < ifmt_ctx->nb_streams; i++) {
           //Create output AVStream according to input AVStream
           AVStream *in_stream = ifmt_ctx->streams[i];
           AVStream *out_stream = avformat_new_stream(ofmt_ctx, in_stream->codec->codec);
           if (!out_stream) {
               printf( "Failed allocating output stream\n");
               ret = AVERROR_UNKNOWN;
               goto end;
           }
           //Copy the settings of AVCodecContext
           ret = avcodec_copy_context(out_stream->codec, in_stream->codec);
           if (ret < 0) {
               printf( "Failed to copy context from input to output stream codec context\n");
               goto end;
           }
           out_stream->codec->codec_tag = 0;
           if (ofmt_ctx->oformat->flags & AVFMT_GLOBALHEADER)
               out_stream->codec->flags |= CODEC_FLAG_GLOBAL_HEADER;
       }
       //Dump Format------------------
       av_dump_format(ofmt_ctx, 0, out_filename, 1);
       //Open output URL
       if (!(ofmt->flags & AVFMT_NOFILE)) {
           ret = avio_open(&ofmt_ctx->pb, out_filename, AVIO_FLAG_WRITE);
           if (ret < 0) {
               printf( "Could not open output URL '%s'", out_filename);
               goto end;
           }
       }
       //Write file header
       ret = avformat_write_header(ofmt_ctx, nullptr);
       if (ret < 0) {
           printf( "Error occurred when opening output URL\n");
           goto end;
       }

    #if USE_H264BSF
       AVBitStreamFilterContext* h264bsfc =  av_bitstream_filter_init("h264_mp4toannexb");
    #endif

       while (1) {
           cnt++;
           AVStream *in_stream, *out_stream;
           //Get an AVPacket
           ret = av_read_frame(ifmt_ctx, &pkt);
           if (ret < 0)
               break;

           in_stream  = ifmt_ctx->streams[pkt.stream_index];
           out_stream = ofmt_ctx->streams[pkt.stream_index];
           /* copy packet */
           //Convert PTS/DTS
           pkt.pts = av_rescale_q_rnd(pkt.pts, in_stream->time_base, out_stream->time_base, (AVRounding)(AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX));
           pkt.dts = av_rescale_q_rnd(pkt.dts, in_stream->time_base, out_stream->time_base, (AVRounding)(AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX));
           pkt.duration = av_rescale_q(pkt.duration, in_stream->time_base, out_stream->time_base);
           pkt.pos = -1;
           //Print to Screen
           if(pkt.stream_index==videoindex){
               printf("Receive %8d video frames from input URL\n",frame_index);
               frame_index++;

    #if USE_H264BSF
               av_bitstream_filter_filter(h264bsfc, in_stream->codec, NULL, &pkt.data, &pkt.size, pkt.data, pkt.size, 0);
    #endif
           }
           ret = av_write_frame(ofmt_ctx, &pkt);
    //        ret = av_interleaved_write_frame(ofmt_ctx, &pkt);

           if (ret < 0) {
               printf( "Error muxing packet\n");
               break;
           }

           av_free_packet(&pkt);
       if (cnt > 1000)
           break;
       }

    #if USE_H264BSF
       av_bitstream_filter_close(h264bsfc);
    #endif

       //Write file trailer
       printf("suse");
       av_write_trailer(ofmt_ctx);
    end:
       avformat_close_input(&ifmt_ctx);
       /* close output */
       if (ofmt_ctx && !(ofmt->flags & AVFMT_NOFILE))
           avio_close(ofmt_ctx->pb);
       avformat_free_context(ofmt_ctx);
       if (ret < 0 && ret != AVERROR_EOF) {
           printf( "Error occurred.\n");
           return -1;
       }
       return 0;
    }

    Can anyone help me with this ?