Recherche avancée

Médias (91)

Autres articles (72)

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

  • Encodage et transformation en formats lisibles sur Internet

    10 avril 2011

    MediaSPIP transforme et ré-encode les documents mis en ligne afin de les rendre lisibles sur Internet et automatiquement utilisables sans intervention du créateur de contenu.
    Les vidéos sont automatiquement encodées dans les formats supportés par HTML5 : MP4, Ogv et WebM. La version "MP4" est également utilisée pour le lecteur flash de secours nécessaire aux anciens navigateurs.
    Les documents audios sont également ré-encodés dans les deux formats utilisables par HTML5 :MP3 et Ogg. La version "MP3" (...)

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

  • Anomalie #4737 : Erreur recherche dans les forums dans le privé

    9 juillet 2021, par JLuc -

    Avec ou sans "plat", le SQL généré est :

    1. <span class="CodeRay"><span class="class">SELECT</span> forum.id_forum, resultats.points <span class="keyword">AS</span> points, forum.statut
    2. <span class="keyword">FROM</span> spip_forum <span class="keyword">AS</span> <span class="string"><span class="delimiter">`</span><span class="content">forum</span><span class="delimiter">`</span></span>  
    3. <span class="keyword">INNER</span> <span class="keyword">JOIN</span> spip_resultats <span class="keyword">AS</span> resultats <span class="keyword">ON</span> ( resultats.id = forum.id_forum )
    4. <span class="keyword">WHERE</span> <span class="keyword">NOT</span>((forum.statut <span class="keyword">LIKE</span> <span class="string"><span class="delimiter">'</span><span class="content">priv%</span><span class="delimiter">'</span></span>))
    5.     <span class="keyword">AND</span> (resultats.recherche=<span class="string"><span class="delimiter">'</span><span class="content">c7b4cacf770e2915</span><span class="delimiter">'</span></span> <span class="keyword">AND</span> resultats.table_objet=<span class="string"><span class="delimiter">'</span><span class="content">forum</span><span class="delimiter">'</span></span> <span class="keyword">AND</span> resultats.serveur=<span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>)
    6. <span class="keyword">GROUP</span> <span class="keyword">BY</span> forum.id_forum
    7. <span class="keyword">ORDER</span> <span class="keyword">BY</span> forum.id_forum <span class="directive">DESC</span>
    8. </span>

    Télécharger

    Le pb vient du fait que c’est le forum id_thread qui est enregistré dans la table spip_resultats.

  • pixblockdsp : Change type of stride parameters to ptrdiff_t

    6 septembre 2016, par Diego Biurrun
    pixblockdsp : Change type of stride parameters to ptrdiff_t
    

    This avoids SIMD-optimized functions having to sign-extend their
    line size argument manually to be able to do pointer arithmetic.

    Also adjust parameter names to be "stride" everywhere.

    • [DBH] libavcodec/arm/pixblockdsp_init_arm.c
    • [DBH] libavcodec/dv.h
    • [DBH] libavcodec/dvenc.c
    • [DBH] libavcodec/pixblockdsp.c
    • [DBH] libavcodec/pixblockdsp.h
    • [DBH] libavcodec/pixblockdsp_template.c
    • [DBH] libavcodec/ppc/pixblockdsp.c
    • [DBH] libavcodec/x86/pixblockdsp.asm
    • [DBH] libavcodec/x86/pixblockdsp_init.c
  • FFmpeg + iOS + lossy cellular connections

    9 novembre 2014, par Moss

    I am able to play an RTMP audio + video real-time stream on iOS with FFmpeg. Works fantastic when everything is on a solid WiFi connection.

    When I switch to a cellular connection (great signal strength and LTE/4G), av_read_frame() will intermittently block for an unacceptable amount of time. From what I can tell, it’s not that the cellular data connection just dropped, because I can reconnect immediately and start downloading more packets. In some cases, I’ve clocked 30+ seconds of hang time before it returns the next frame. When the next frame finally comes in, my real-time video stream is permanently delayed by the amount of time that av_read_frame() blocked.

    I attempted a work-around by using the AVIOInterruptCB interrupt callback to abort av_read_frame() if the function takes longer than 1 second to return. Here’s what that code looks like :

    - (void)readPackets {
       // Make sure FFmpeg calls our interrupt periodically
       _context->interrupt_callback.callback = interrupt_cb;
       _context->interrupt_callback.opaque = self;

       dispatch_async(_readPacketQueue, ^(void) {
           int err;

           while(true) {
               _readFrameTimeStamp = [[NSDate date] timeIntervalSince1970];
               err = av_read_frame(_context, &amp;packet);
               _readFrameTimeStamp = 0;

               if(err) {
                   // Error - Reconnect the entire stream from scratch, taking 5-10 seconds
                   // And we know when av_read_frame() was aborted
                   // because its error code is -1414092869 ("EXIT")
               }
               else {
                   // Play this audio or video packet
               }
           }
      });
    }

    /**
    * Interrupt
    * @return 1 to abort the current operation
    */
    static int interrupt_cb(void *decoder) {
       if(decoder) {
           if(_readFrameTimeStamp != 0) {
               if([[NSDate date] timeIntervalSince1970] - _readFrameTimeStamp > 1) {
                   // Abort av_read_frame(), it's taking longer than 1 second
                   return 1;
               }
           }
       }
    }

    This definitely aborts av_read_frame() after 1 second, but unfortunately after I do this, future attempts to call av_read_frame() result in EIO errors (-5), which indicates that the connection has been severed.

    As a result, I am forced to fully reconnect the viewer, which takes 5-10 seconds. (avformat_open_input() takes 3-4 seconds, and then find the stream info again takes 2-3 seconds, and then start reading frames).

    The 5-10 second delay to fully reconnect is much better than waiting more than 10 seconds for av_read_frame() to unblock, and it’s much better than the real-time stream being delayed by a significant amount. But it’s much worse than being able to retry av_read_frame() immediately.

    From a cellular user’s perspective, their video locks up intermittently for 5-10 seconds while we reconnect the stream in the background from scratch, which isn’t a good user experience.

    What strategies are there to better way to manage av_read_frame() on a lossy cellular connection ?
    (Or strategies to improve the reconnect time ?)