Recherche avancée

Médias (17)

Mot : - Tags -/wired

Autres articles (51)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Possibilité de déploiement en ferme

    12 avril 2011, par

    MediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
    Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...)

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

Sur d’autres sites (9444)

  • hevc : remove HEVCContext usage from hevc_ps

    9 juillet 2015, par Anton Khirnov
    hevc : remove HEVCContext usage from hevc_ps
    

    Factor out the parameter sets into a separate struct and use it instead.

    This will allow us to reuse this code in the parser.

    • [DH] libavcodec/hevc.c
    • [DH] libavcodec/hevc.h
    • [DH] libavcodec/hevc_cabac.c
    • [DH] libavcodec/hevc_filter.c
    • [DH] libavcodec/hevc_mvs.c
    • [DH] libavcodec/hevc_ps.c
    • [DH] libavcodec/hevc_refs.c
    • [DH] libavcodec/hevcpred_template.c
  • hevc : remove HEVCContext usage from hevc_ps

    9 juillet 2015, par Anton Khirnov
    hevc : remove HEVCContext usage from hevc_ps
    

    Factor out the parameter sets into a separate struct and use it instead.

    This will allow us to reuse this code in the parser.

    • [DBH] libavcodec/hevc.c
    • [DBH] libavcodec/hevc.h
    • [DBH] libavcodec/hevc_cabac.c
    • [DBH] libavcodec/hevc_filter.c
    • [DBH] libavcodec/hevc_mvs.c
    • [DBH] libavcodec/hevc_ps.c
    • [DBH] libavcodec/hevc_refs.c
    • [DBH] libavcodec/hevcpred_template.c
  • ffmpeg player out of sync after seek

    15 juillet 2015, par sat

    I have a ffmpeg/SDL video player based on Dranger’s tutorial07 : https://github.com/illuusio/ffmpeg-tutorial/blob/master/tutorial07.c

    The image and the audio are not synchronized anymore, once seeked backwards to the beginning of the video. The image seems to be in the correct position unlike the audio. However, the video becomes synchronized subsequently being seeked forwards once.

    I trigger seeking in the main function’s loop by keypress :

    incr = -get_video_clock(is) //to restart the video    
    if(global_video_state) {
       pos = get_master_clock(global_video_state);
       pos += incr;
       stream_seek(global_video_state, (int64_t)(pos * AV_TIME_BASE), incr);
    }

    Then stream_seek sets seek parameters of global structure :

    void stream_seek(VideoState *is, int64_t pos, int rel) {
       if(!is->seek_req) {
           is->seek_pos = pos;
           is->seek_flags = rel < 0 ? AVSEEK_FLAG_BACKWARD : 0;
           is->seek_req = 1;
       }
    }

    And here is the seek part of the decode_thread’s main loop :

    if(is->seek_req) {
       int stream_index = -1;
       int64_t seek_target = is->seek_pos;

       if(is->videoStream >= 0) {
           stream_index = is->videoStream;

       } else if(is->audioStream >= 0) {
           stream_index = is->audioStream;
       }

       if(stream_index >= 0) {
           seek_target = av_rescale_q(seek_target, AV_TIME_BASE_Q, pFormatCtx->streams[stream_index]->time_base);
       }

       if(av_seek_frame(is->pFormatCtx, stream_index, seek_target, is->seek_flags) < 0) {
           fprintf(stderr, "%s: error while seeking\n", is->pFormatCtx->filename);

       } else {
           if(is->audioStream >= 0) {
               packet_queue_flush(&is->audioq);
               packet_queue_put(&is->audioq, &flush_pkt);
           }

           if(is->videoStream >= 0) {
               packet_queue_flush(&is->videoq);
               packet_queue_put(&is->videoq, &flush_pkt);
           }
       }

       is->seek_req = 0;
    }