Recherche avancée

Médias (1)

Mot : - Tags -/wave

Autres articles (58)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

Sur d’autres sites (9826)

  • FFmpeg Easing function doesn't behave as expected [closed]

    11 juin 2024, par Alejandro Sanchez

    What is the simplest way to add an easing function to an animation ? I'm currently trying to animate a zoom value, but for some reason, it goes completely over the final zoom value i constrained it to (my easing function should output values between 0 and 1) : This is the part of a bigger expression which i just cannot understand :

    


    if(gt(in_time\,3.7999999046325685)\,3 - ((0.3) * (((exp((5*(it-3.80)) - 1))/(exp(5*0.80)-1))))\,3)

    


    Note : (exp((5*(it-3.80)) - 1))/(exp(50.80)-1))) are values between 0 and 1 for the animation duration of 0.8 seconds, however the resulting zoom goes way beyond 3-0.31 = 2.7, it just goes crazy in the end.

    


    I tried all kinds of easing functions, all of them behave similarly

    


  • Transcode H264 to AV1

    17 février 2024, par Crear

    We have some roadside cameras deployed and due to the supply chain issue (also the cost) we installed 1080P@H264 encoder.

    


    I know that AV1 is significantly more efficient than H264, but transcoding H264 to AV1 may result in quality loss.

    


    My purpose is to reduce some space while minimizing the quality loss, is there a python or FFmpeg command that can do it ? My major concern is quality loss, but if I use the same bitrate, it won’t reduce the size.

    


    We have years of data so we can’t really look into the videos one by one to determine the optimal bitrate, sometimes when the weather is extreme, the higher dynamic in the frames results in a bigger H264 file size. I don’t want to lose those details because it can help fine-tone the detection models.

    


  • AVFrame in AV_PIX_FMT_YUV420P format to H*W*3 data buffer conversion using sws_scale not accurate ?

    13 février 2024, par user3133806

    I have an AVFrame that is in YUV420 format and I am trying to convert to packed RGB in a data buffer :

    


      // Allocate enough for 8 bits per color in RGB.&#xA;  // Note that I want packed, not planar. i.e. RGBRGBRGB...&#xA;  // Each pixel is 3 bytes of RGB in row-major order&#xA;  buffer = new unsigned char[frame->height * frame->width * 3];&#xA;&#xA;  enum AVPixelFormat frameFormat =&#xA;      static_cast<enum avpixelformat="avpixelformat">(frame->format);&#xA;&#xA;  // Make sure the input is in the expected format.&#xA;  CHECK_EQ(frameFormat, AV_PIX_FMT_YUV420P);&#xA;&#xA;  SwsContext* swsContext = sws_getContext(&#xA;      frame->width,&#xA;      frame->height,&#xA;      frameFormat,&#xA;      frame->width,&#xA;      frame->height,&#xA;      AV_PIX_FMT_RGB24,&#xA;&#xA;      // I played around with these flags but could not get an accurate image&#xA;      SWS_BICUBIC | SWS_ACCURATE_RND,&#xA;      nullptr,&#xA;      nullptr,&#xA;      nullptr);&#xA;&#xA;  // My understanding is that because I am using packed format, not planar&#xA;  // I only need to fill in the first pointer.&#xA;  unsigned char* out_planes[4];&#xA;  out_planes[0] = buffer;&#xA;  out_planes[1] = nullptr;&#xA;  out_planes[2] = nullptr;&#xA;  out_planes[3] = nullptr;&#xA;&#xA;  sws_scale(&#xA;      swsContext,&#xA;      frame->data,&#xA;      frame->linesize,&#xA;      0,&#xA;      frame->height,&#xA;      &amp;out_planes,&#xA;&#xA;      // My understanding is that the stride of each plane is frame->width * 3&#xA;      (const int[4]){frame->width * 3, 0, 0, 0});&#xA;  sws_freeContext(swsContext);&#xA;&#xA;</enum>

    &#xA;

    This code does produce an image but the image appears to be wrong.

    &#xA;

    On a 300x200 video, the right few columns are wrong.

    &#xA;

    On a bigger resolution video the image seems correct, but on a smaller video it is not :

    &#xA;

    image produced by code

    &#xA;

    expected image

    &#xA;

    EDIT : It appears this is a bug in sws_scale (bug or expected feature). Turning off vector instructions causes it to work as expected :

    &#xA;

    // Adding this line before sws_scale causes the images to be bit exact.&#xA;av_set_cpu_flags_mask(0);&#xA;

    &#xA;

    I got that idea from this answer on SO : Turn off sw_scale conversion to planar YUV 32 byte alignment requirements

    &#xA;