Recherche avancée

Médias (3)

Mot : - Tags -/plugin

Autres articles (53)

  • 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

  • Pas question de marché, de cloud etc...

    10 avril 2011

    Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
    sur le web 2.0 et dans les entreprises qui en vivent.
    Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
    Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
    le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
    Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (6573)

  • Smart y coordinate to make vertical alignment for the text with typewriting effect

    31 août 2021, par Макс Шульдинер

    I'm doing animation for the typewriting effect. Here is my ffmpeg string :

    


    -i ffmpeg_inputs/output-onlinegiftools.gif  -vf "[in]drawtext=fonts/RobotoMono-Regular.ttf:text='h':fontcolor=orange:fontsize=35:x=(w-text_w)/2-200+0:y=h-th-400:enable='between(t,0.00, 7.80)', drawtext =fonts/RobotoMono-Regular.ttf:text = 'i':fontcolor=orange:fontsize=35:x=(w-text_w)/2-200+25:y=h-th-400:enable='between(t,0.80, 7.80)', drawtext =fonts/RobotoMono-Regular.ttf:text = 'g':fontcolor=orange:fontsize=35:x=(w-text_w)/2-200+75:y=h-th-400:enable='between(t,1.60, 7.80)', drawtext =fonts/RobotoMono-Regular.ttf:text = 'u':fontcolor=orange:fontsize=35:x=(w-text_w)/2-200+100:y=h-th-400:enable='between(t,2.40, 7.80)', drawtext =fonts/RobotoMono-Regular.ttf:text = 'y':fontcolor=orange:fontsize=35:x=(w-text_w)/2-200+125:y=h-th-400:enable='between(t,3.20, 7.80)', drawtext =fonts/RobotoMono-Regular.ttf:text = 's':fontcolor=orange:fontsize=35:x=(w-text_w)/2-200+150:y=h-th-400:enable='between(t,4.00, 7.80)'[out]" ffmpeg_outputs/test2.gif -y 


    


    Here is the results with different y values :

    


    enter image description here

    


    enter image description here

    


    As i understand, to make smooth sentence, for some letters i need top vertical alignment, and for others i need bottom vertical alignment. How can i make this "smart alignment", or the only one method is to hardcode y values for different letters ?

    


  • 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;

  • avcodec/amfenc : add smart access video option

    11 mars, par Evgeny Pavlov
    avcodec/amfenc : add smart access video option
    

    This commit adds option for enabling SmartAccess Video (SAV)
    in AMF encoders. SAV is an AMD hardware-specific feature which
    enables the parallelization of encode and decode streams across
    multiple Video Codec Engine (VCN) hardware instances.

    • [DH] libavcodec/amfenc.h
    • [DH] libavcodec/amfenc_av1.c
    • [DH] libavcodec/amfenc_h264.c
    • [DH] libavcodec/amfenc_hevc.c