Recherche avancée

Médias (91)

Autres articles (30)

  • Soumettre améliorations et plugins supplémentaires

    10 avril 2011

    Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
    Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...)

  • 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

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

Sur d’autres sites (6144)

  • Révision 23409 : |affdate{Y-m-d} qui utilise la fonction PHP est un peu plus smart et sait traiter...

    9 février 2017, par cedric@yterium.com
  • C++ smart pointers to FFmpeg objects

    15 octobre 2024, par Elija

    Can I create and use C++ smart pointers for different pointer types from FFmpeg ?

    


      

    1. "AVCodecContext *" which is used only as a pointer in all functions except deallocation.
    2. 


    


    Alloc :

    


    AVCodecContext *avcodec_alloc_context3(const AVCodec *codec);


    


    Free :

    


    void avcodec_free_context(AVCodecContext **avctx);


    


    Use :

    


    int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options);


    


    Then the smart pointer :

    


    std::shared_ptr<avcodeccontext> av_codec_context(avcodec_alloc_context3(av_codec),&#xA;[](AVCodecContext* _context)&#xA;{&#xA;  if (_context) avcodec_free_context(&amp;_context);&#xA;});&#xA;avcodec_open2(av_codec_context.get(), av_codec, NULL)&#xA;</avcodeccontext>

    &#xA;

    Is this correct ?

    &#xA;

      &#xA;
    1. "AVDictionary **" which is used in all functions only as a pointer to a pointer.
    2. &#xA;

    &#xA;

    Alloc and use :

    &#xA;

    int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags);&#xA;

    &#xA;

    where pm is a Pointer to a pointer to a dictionary struct. If *pm is NULL a dictionary struct is allocated and put in *pm.

    &#xA;

    Free :

    &#xA;

    void av_dict_free(AVDictionary **m);&#xA;

    &#xA;

    Then a smart pointer :

    &#xA;

    std::shared_ptr av_dict(new (AVDictionary*),&#xA;[](AVDictionary** _dict)&#xA;{&#xA;  if (_dict)&#xA;  {&#xA;    if(*_dict)&#xA;      av_dict_free(_dict);&#xA;    delete _dict;&#xA;  }&#xA;});&#xA;av_dict_set(av_dict.get(), "key", "value", 0);&#xA;

    &#xA;

    Is this correct ?

    &#xA;

      &#xA;
    1. "AVFormatContext *" which is used both as a pointer and as a pointer to a pointer.
    2. &#xA;

    &#xA;

    Alloc :

    &#xA;

    AVFormatContext *avformat_alloc_context(void);&#xA;

    &#xA;

    Free :

    &#xA;

    void avformat_free_context(AVFormatContext *s);&#xA;

    &#xA;

    Use :

    &#xA;

    int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options);&#xA;

    &#xA;

    or

    &#xA;

    int avformat_open_input(AVFormatContext **ps, const char *url, const AVInputFormat *fmt, AVDictionary **options);&#xA;

    &#xA;

    where ps is a Pointer to user-supplied AVFormatContext (allocated by avformat_alloc_context). May be a pointer to NULL, in which case an AVFormatContext is allocated by this function and written into ps.

    &#xA;

    Then a smart pointer :

    &#xA;

    std::shared_ptr<avformatcontext> av_format_context(avformat_alloc_context(),&#xA;[](AVFormatContext* _context)&#xA;{&#xA;  if(_context)&#xA;    avformat_free_context(_context);&#xA;});&#xA;avformat_find_stream_info(av_format_context.get(), NULL);&#xA;</avformatcontext>

    &#xA;

    Is this correct ? But how can I use it with the avformat_open_input() function, which needs a pointer to a pointer and may want to create an object by this pointer ?

    &#xA;

  • ffmpeg audio over network [closed]

    22 août 2023, par mcam77

    I am trying to transmit audio(from mic) over network with ffmpeg. When the audio is silent, ffmpeg seems to reduce the datastream.&#xA;I have reduced the problem to an audiofile with Hello World, 2sec pause and Hello World again.

    &#xA;

    When i play this with

    &#xA;

    ffmpeg.exe -re -i F:\hw.mp3   -acodec mp3  -f mp3 udp://192.168.10.10:40001&#xA;ffplay.exe -i udp://192.168.10.10:40001 -nodisp&#xA;

    &#xA;

    I can hear 2 times "Hello World" with a pause.

    &#xA;

    When i do it with a raspberry

    &#xA;

    ffmpeg.exe -re -i F:\hw.mp3   -acodec mp3  -f mp3 udp://192.168.10.100:40001&#xA;ffplay -i udp://192.168.10.100:40001 -nodisp&#xA;

    &#xA;

    I only hear "World pause Hello World"

    &#xA;

    The first hello is gone.

    &#xA;

    Anybody could help me ?

    &#xA;

    adding a black screen video no success

    &#xA;

    reduced to a hello world audio file.

    &#xA;

    tried different containers/codecs with/without video

    &#xA;