Recherche avancée

Médias (91)

Autres articles (54)

  • 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

  • Contribute to a better visual interface

    13 avril 2011

    MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
    Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.

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

Sur d’autres sites (5915)

  • How to Working Web audio (6 channel) client phone Properly

    12 octobre 2022, par Rayhan Rabby

    I have a streaming site. When audio Channel 6. Not worenter image description hereking sound properly on my phone.

    


  • Encode MP3 as image for client side caching

    12 octobre 2015, par cbuchert

    A few years back I ran across an article in which a process was described that would encode the contents of a MP3 file as a PNG image using FFMpeg (to circumvent browsers not caching downloaded audio) and then decoding them back to MP3 using a mix of Canvas, JS, and wizardry. I can’t find my original source, and all the links I’ve found while searching have been dead. Is this process documented anywhere public and if not how would you do it ?

  • can write frames to rtsp server, but can't display them in the ffplay or live555 client

    11 octobre 2016, par tankyx

    I am working on a zero latency streaming server, using ffmpeg libraries and I am facing a problem.
    My server is working when using nvenc, I can streaming successfully to my client, which is another computer on LAN. But if I change my encoder to use the libx264 (in order to reduce the latency), the server still write the frames, but the client is facing problems with the sdp header, and more specifically, the media subsession does not seem to be initialized. Therefore, the client crashes.

    The thing is, when I dump the sdp header when using nvenc and libx264, it is actually the same in both case.

    Here is the code I have done to initialize my encoder :

    /*
       Init the codec that is used to encode the video.
       Init the output format context (aka RTSP uri).
    */
    FfmpegEncoder::FfmpegEncoder(char *url)
    {
       AVRational      tmp_time_base;
       AVDictionary*   options = NULL;

       this->pCodec = avcodec_find_encoder_by_name("libx264");
       if (this->pCodec == NULL)
           throw myExceptions("Error: Can't initialize the encoder. FfmpegEncoder.cpp l:9\n");

       this->pCodecCtx = avcodec_alloc_context3(this->pCodec);

       //Alloc output context
       if (avformat_alloc_output_context2(&outFormatCtx, NULL, "rtsp", url) < 0)
           throw myExceptions("Error: Can't alloc stream output. FfmpegEncoder.cpp l:17\n");

       this->st = avformat_new_stream(this->outFormatCtx, this->pCodec);
       this->st->id = this->outFormatCtx->nb_streams - 1;

       if (this->st == NULL)
           throw myExceptions("Error: Can't create stream . FfmpegEncoder.cpp l:22\n");

       //Define the framerate of the output. The numerator should stay 1. Denumerator is the framerate we are aiming for.

       tmp_time_base.num = 1;
       tmp_time_base.den = 60;

       //TODO : parse these values
       this->pCodecCtx->bit_rate = 5000000;
       this->pCodecCtx->width = 1280;
       this->pCodecCtx->height = 720;
       //This set the fps. 60fps at this point.
       this->pCodecCtx->time_base = tmp_time_base;
       this->st->time_base = tmp_time_base;
       //Add a intra frame every 12 frames
       this->pCodecCtx->gop_size = 10;
       this->pCodecCtx->pix_fmt = AV_PIX_FMT_YUV420P;

       av_opt_set(this->pCodecCtx, "tune", "zerolatency", 0);
       av_opt_set(this->pCodecCtx, "vprofile", "main", 0);
       av_opt_set(this->pCodecCtx, "preset", "faster", 0);

       //Open Codec, using the context + x264 options
       if (avcodec_open2(this->pCodecCtx, this->pCodec, &options) < 0)
           throw myExceptions("Error: Can't open the codec. FfmpegEncoder.cpp l:43\n");

       if (avcodec_copy_context(this->st->codec, this->pCodecCtx) != 0) {
           throw myExceptions("Error : Can't copy codec context. FfmpegEncoder.cpp : l.46");
       }
       av_dump_format(this->outFormatCtx, 0, url, 1);

       //write the header needed to start the stream.
       if (avformat_write_header(this->outFormatCtx, NULL) != 0)
           throw myExceptions("Error: failed to connect to RTSP server. FfmpegEncoder.cpp l:48\n");
    }