Recherche avancée

Médias (0)

Mot : - Tags -/inscription3

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (86)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

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

  • avformat/dashenc : Added support for Low-latency HLS(Experimental)

    12 décembre 2018, par kjeyapal@akamai.com
    avformat/dashenc : Added support for Low-latency HLS(Experimental)
    

    Apple doesn't have an official spec for LHLS. Meanwhile hls.js player folks are
    trying to standardize a open LHLS spec. The draft spec is available in https://github.com/video-dev/hlsjs-rfcs/blob/lhls-spec/proposals/0001-lhls.md
    This option will also try to comply with the above open spec, till Apple's spec officially supports it.
    Applicable only when @varstreaming and @varhls_playlist options are enabled.

    • [DH] doc/muxers.texi
    • [DH] libavformat/dashenc.c
  • c++ ffmpeg "Starting new cluster" error

    9 novembre 2016, par R2-D2

    I want to encode a live stream into webm, but ffmpeg gets stuck in a live lock after 5 seconds stating

    [webm @ 0x1d81940] Starting new cluster at offset 0 bytes, pts 5040dts 5040

    I tried increasing the related AVFormatContext params

    av_opt_set_int(oc->priv_data, "chunk_duration", INT_MAX, 0);
    av_opt_set_int(oc->priv_data, "cluster_time_limit", INT_MAX, 0);
    av_opt_set_int(oc->priv_data, "cluster_size_limit", INT_MAX, 0);

    which avoids the error for about 30 seconds, but then again ffmpeg hangs

    [webm @ 0xbc9940] Starting new cluster due to timestamp
    [webm @ 0xbc9940] Starting new cluster at offset 0 bytes, pts 32800dts 32800

    The error can be reproduced with the official example doc/examples/muxing.c just by writing into a buffer instead of a file like this

    oc = avformat_alloc_context();
    oc->oformat = av_guess_format("webm", NULL, NULL);
    oc->oformat->flags |= AVFMT_NOFILE;

    and for actual writing

    uint8_t *output_buf;
    avio_open_dyn_buf(&oc->pb);

    avformat_write_header(oc, &opt);
    /* or */
    av_interleaved_write_frame(fmt_ctx, pkt);

    avio_close_dyn_buf(oc->pb, &output_buf);
    av_free(output_buf);

    How can I encode webm into a buffer ?
    (And why does it work for files ?)

  • FFMPEG memory leak on FLV video frame decoding

    10 août 2014, par Michael IV

    I am decoding FLV video on Windows using FFMPEG latest dev version(20140810) .Monitoring memory consumption of my program process I found the memory footprint constantly increasing.I do packet deallocation and also tried to delete and then reallocate the AVFrame anew on each decode.But it doesn’t help.I read on some threads people pointing out there is an internal memory leak in H264 decoder but I have seen no official confirmation of it nor any solution.
    Here is how I decode a frame :

    AVPacket packet;
    av_read_frame(_ifmt_ctx, &packet);

    if (packet.stream_index == _in_video_stream->index)
    {
       int isGotVideoFrame = 0;

       // Decode video frame
       ret = avcodec_decode_video2(_dec_in_video_ctx, _src_video_frame,
                      &isGotVideoFrame, &packet);

       if (1 == isGotVideoFrame)
       {
           sws_scale(_sws_ctx, (const uint8_t * const*) _src_video_frame->data,
                     _src_video_frame->linesize, 0,_inVideoHeight,
                     _dst_video_frame->data, _dst_video_frame->linesize);

           uint8_t* dest = new uint8_t[_numBytes];
           memcpy(dest, _dst_video_frame->data[0], _numBytes);

           av_free_packet(&packet);
           _frames_cache.push_back(dest);
       }

       av_frame_unref(_src_video_frame);
       av_frame_free(&_src_video_frame);
       _src_video_frame = av_frame_alloc();
    }

    Then in another place on each frame I delete ’dest’ from the vector :

       uint8_t * fr = _frames_cache.front();
       _frames_cache.erase(_frames_cache.begin());
       delete [] fr ;