Recherche avancée

Médias (91)

Autres articles (93)

  • Contribute to a better visual interface

    13 avril 2011

    MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
    Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.

  • Configuration spécifique pour PHP5

    4 février 2011, par

    PHP5 est obligatoire, vous pouvez l’installer en suivant ce tutoriel spécifique.
    Il est recommandé dans un premier temps de désactiver le safe_mode, cependant, s’il est correctement configuré et que les binaires nécessaires sont accessibles, MediaSPIP devrait fonctionner correctement avec le safe_mode activé.
    Modules spécifiques
    Il est nécessaire d’installer certains modules PHP spécifiques, via le gestionnaire de paquet de votre distribution ou manuellement : php5-mysql pour la connectivité avec la (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (6953)

  • Revision 99213 : Des notices PHP en moins. Et pour le test qui enlève du formulaire de ...

    19 août 2016, par marcimat@… — Log

    Des notices PHP en moins.
    Et pour le test qui enlève du formulaire de profil sur le public
    la date de création du compte si cest activé, le sortir du
    foreach précédent, qui n’a rien à voir.

  • How to enable audio of two ffplay windows simultaneously ?(How can I hear audio of the video files at the same time ?)

    9 octobre 2015, par Mitra M

    When more than one ffplay-window is running only the audio of one of them is enable , But I need to hear all of them at the same time.

    For example I run two command-lines separately like this :

    //command line 1
    ffplay -i video1.avi

    //command line 2
    ffplay -i video2.avi

    How can I hear audio of the video files at the same time ?

    I did not find anything about that in the ffplay documents, So I want to change the ffplay source code.

    this is event_loop function (in ffplay.c) :

    static void event_loop(VideoState *cur_stream)
    {
    SDL_Event event;
    double incr, pos, frac;

    for (;;) {
       double x;
       refresh_loop_wait_event(cur_stream, &event);
       switch (event.type) {
       case SDL_KEYDOWN:
           if (exit_on_keydown) {
               do_exit(cur_stream);
               break;
           }
           switch (event.key.keysym.sym) {
           case SDLK_ESCAPE:
           case SDLK_q:
               do_exit(cur_stream);
               break;
           case SDLK_f:
               toggle_full_screen(cur_stream);
               cur_stream->force_refresh = 1;
               break;
           case SDLK_p:
           case SDLK_SPACE:
               toggle_pause(cur_stream);
               break;
           case SDLK_m:
               toggle_mute(cur_stream);
               break;
           case SDLK_KP_MULTIPLY:
           case SDLK_0:
               update_volume(cur_stream, 1, SDL_VOLUME_STEP);
               break;
           case SDLK_KP_DIVIDE:
           case SDLK_9:
               update_volume(cur_stream, -1, SDL_VOLUME_STEP);
               break;
           case SDLK_s: // S: Step to next frame
               step_to_next_frame(cur_stream);
               break;
           case SDLK_a:
               stream_cycle_channel(cur_stream, AVMEDIA_TYPE_AUDIO);
               break;
           case SDLK_v:
               stream_cycle_channel(cur_stream, AVMEDIA_TYPE_VIDEO);
               break;
           case SDLK_c:
               stream_cycle_channel(cur_stream, AVMEDIA_TYPE_VIDEO);
               stream_cycle_channel(cur_stream, AVMEDIA_TYPE_AUDIO);
               stream_cycle_channel(cur_stream, AVMEDIA_TYPE_SUBTITLE);
               break;
           case SDLK_t:
               stream_cycle_channel(cur_stream, AVMEDIA_TYPE_SUBTITLE);
               break;
           case SDLK_w:
       #if CONFIG_AVFILTER
               if (cur_stream->show_mode == SHOW_MODE_VIDEO && cur_stream->vfilter_idx < nb_vfilters - 1) {
                   if (++cur_stream->vfilter_idx >= nb_vfilters)
                       cur_stream->vfilter_idx = 0;
               } else {
                   cur_stream->vfilter_idx = 0;
                   toggle_audio_display(cur_stream);
               }
        #else
               toggle_audio_display(cur_stream);
        #endif
               break;
           case SDLK_PAGEUP:
               if (cur_stream->ic->nb_chapters <= 1) {
                   incr = 600.0;
                   goto do_seek;
               }
               seek_chapter(cur_stream, 1);
               break;
           case SDLK_PAGEDOWN:
               if (cur_stream->ic->nb_chapters <= 1) {
                   incr = -600.0;
                   goto do_seek;
               }
               seek_chapter(cur_stream, -1);
               break;
           case SDLK_LEFT:
               incr = -10.0;
               goto do_seek;
           case SDLK_RIGHT:
               incr = 10.0;
               goto do_seek;
           case SDLK_UP:
               incr = 60.0;
               goto do_seek;
           case SDLK_DOWN:
               incr = -60.0;
           do_seek:
                   if (seek_by_bytes) {
                       pos = -1;
                       if (pos < 0 && cur_stream->video_stream >= 0)
                           pos = frame_queue_last_pos(&cur_stream->pictq);
                       if (pos < 0 && cur_stream->audio_stream >= 0)
                           pos = frame_queue_last_pos(&cur_stream->sampq);
                       if (pos < 0)
                           pos = avio_tell(cur_stream->ic->pb);
                       if (cur_stream->ic->bit_rate)
                           incr *= cur_stream->ic->bit_rate / 8.0;
                       else
                           incr *= 180000.0;
                       pos += incr;
                       stream_seek(cur_stream, pos, incr, 1);
                   } else {
                       pos = get_master_clock(cur_stream);
                       if (isnan(pos))
                           pos = (double)cur_stream->seek_pos / AV_TIME_BASE;
                       pos += incr;
                       if (cur_stream->ic->start_time != AV_NOPTS_VALUE && pos < cur_stream->ic->start_time / (double)AV_TIME_BASE)
                           pos = cur_stream->ic->start_time / (double)AV_TIME_BASE;
                       stream_seek(cur_stream, (int64_t)(pos * AV_TIME_BASE), (int64_t)(incr * AV_TIME_BASE), 0);
                   }
               break;
           default:
               break;
           }
           break;
       case SDL_VIDEOEXPOSE:
           cur_stream->force_refresh = 1;
           break;
       case SDL_MOUSEBUTTONDOWN:
           if (exit_on_mousedown) {
               do_exit(cur_stream);
               break;
           }
       case SDL_MOUSEMOTION:
           if (cursor_hidden) {
               SDL_ShowCursor(1);
               cursor_hidden = 0;
           }
           cursor_last_shown = av_gettime_relative();
           if (event.type == SDL_MOUSEBUTTONDOWN) {
               x = event.button.x;
           } else {
               if (event.motion.state != SDL_PRESSED)
                   break;
               x = event.motion.x;
           }
               if (seek_by_bytes || cur_stream->ic->duration <= 0) {
                   uint64_t size =  avio_size(cur_stream->ic->pb);
                   stream_seek(cur_stream, size*x/cur_stream->width, 0, 1);
               } else {
                   int64_t ts;
                   int ns, hh, mm, ss;
                   int tns, thh, tmm, tss;
                   tns  = cur_stream->ic->duration / 1000000LL;
                   thh  = tns / 3600;
                   tmm  = (tns % 3600) / 60;
                   tss  = (tns % 60);
                   frac = x / cur_stream->width;
                   ns   = frac * tns;
                   hh   = ns / 3600;
                   mm   = (ns % 3600) / 60;
                   ss   = (ns % 60);
                   av_log(NULL, AV_LOG_INFO,
                          "Seek to %2.0f%% (%2d:%02d:%02d) of total duration (%2d:%02d:%02d)       \n", frac*100,
                           hh, mm, ss, thh, tmm, tss);
                   ts = frac * cur_stream->ic->duration;
                   if (cur_stream->ic->start_time != AV_NOPTS_VALUE)
                       ts += cur_stream->ic->start_time;
                   stream_seek(cur_stream, ts, 0, 0);
               }
           break;
       case SDL_VIDEORESIZE:
               screen = SDL_SetVideoMode(FFMIN(16383, event.resize.w), event.resize.h, 0,
                                         SDL_HWSURFACE|(is_full_screen?SDL_FULLSCREEN:SDL_RESIZABLE)|SDL_ASYNCBLIT|SDL_HWACCEL);
               if (!screen) {
                   av_log(NULL, AV_LOG_FATAL, "Failed to set video mode\n");
                   do_exit(cur_stream);
               }
               screen_width  = cur_stream->width  = screen->w;
               screen_height = cur_stream->height = screen->h;
               cur_stream->force_refresh = 1;
           break;
       case SDL_QUIT:
       case FF_QUIT_EVENT:
           do_exit(cur_stream);
           break;
       case FF_ALLOC_EVENT:
           alloc_picture(event.user.data1);
           break;
       default:
           break;
       }
    }

    }

    But I can not find the command that cause disable audio when change active window or lost focus in event_loop function.

  • Evolution #3603 (Nouveau) : Ergonomie des onglets de sélection des plugins

    23 novembre 2015

    Le listing des plugins de la 3.1 est particulièrement complexe notamment pour les débutants.

    La vue par défaut liste tous notamment les plugins verrouillés (inutile pour un débutant)

    Au quotidien c’est aussi complexe à gérer car les vues sont de plus en plus lourdes.
    et en général on ne travaille que sur les actifs ou non actifs

    Je propose une simplification :
    - ne pas avoir de boutons "tous"
    - avoir un bouton "actif" : actif + non verrouillés —> cela serait la vue active par défaut lorsqu’on arrive sur le menu plugins
    - avoir un bouton "non-actif" : non actif + non verrouillés
    - avoir un bouton "verouillés" : tous les verrouillés

    en plus on pourrait introduire un bouton "configurable" listant les plugins avec un configuration pour faciliter l’accès aux personnalisations.

    voici une maquette :
    https://framapic.org/zleDtqLHpB6K/ELXiKPYT