Recherche avancée

Médias (2)

Mot : - Tags -/plugins

Autres articles (100)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

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

  • ffserver "dimensions not set" when loading stream

    29 mai 2013, par GreenGiant

    I am live streaming a webcam from my raspberry pi using avconv (ffmpeg "replacement")

    avconv -f video4linux2 -v debug -r 5 -s 176x144 -i /dev/video0 -vcodec mjpeg http://192.168.0.3:8090/feed1.ffm

    to my local network OSX machine (for testing) running ffserver

    Port 8090
    BindAddress 0.0.0.0
    MaxHTTPConnections 2000
    MaxClients 1000
    MaxBandwidth 10000
    CustomLog -
    NoDaemon

    <feed>
      File feed1.ffm
      FileMaxSize 20M
      ACL allow 192.168.0.10
    </feed>

    <stream>
      Feed feed1.ffm
      Format mjpeg
      NoAudio
      VideoQMin 1
      VideoQMax 10
      VideoSize 176x144
      VideoFrameRate 5
    </stream>

    When I start avconv it appears to be streaming to ffserver fine :

    Output #0, ffm, to &#39;http://192.168.0.3:8090/feed1.ffm&#39;:
     Metadata:
       encoder         : Lavf55.0.1
       Stream #0.0, 0, 1/1000000: Video: mjpeg, yuvj420p, 320x240, 1/5, q=2-31, 200 kb/s, 1000k tbn, 5 tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (rawvideo -> mjpeg)
    Press ctrl-c to stop encoding
    frame=  108 fps= 18 q=21.7 size=     688kB time=21.60 bitrate= 260.9kbits/s

    And the ffserver status page shows the stream

    ffserver status

    However when I load http://localhost:8090/test.mjpeg in VLC it doesn't play and ffserver spits out :

    Sat May 25 17:25:34 2013 dimensions not set
    Sat May 25 17:25:34 2013 Error writing output header
    Sat May 25 17:25:34 2013 127.0.0.1 - - [GET] "/test.mjpeg HTTP/1.1" 200 66

    I've tried so many different configurations and settings, I'm at a loss to what is causing that error !

    Thank you

  • How to seek by msec with ffmpeg ?

    26 mai 2014, par Srv19

    I am trying to seek in video by milliseconds with ffmpeg. I have been trying to use code from this question, which uses avformat_seek_file (i use it with -1 for stream number and AVSEEK_FLAG_ANY flag).

    After that is called, i try to read next frames, that is :

    if (av_read_frame(fmt_ctx, &amp;pkt) >= 0)
    {
       int ret = 0;

       if (pkt.stream_index == video_stream_idx) {
           /* decode video frame */
           ret = avcodec_decode_video2(video_dec_ctx, frame, got_frame, &amp;pkt);
           if (ret &lt; 0) {
               fprintf(stderr, "Error decoding video frame\n");
               return ret;
           }
    //do something with frame
    }

    However, the frame->pts of retrieved frame always holds the time of the frame that was immediatly after last frame that was read before seeking.

    Edit : In spite of frame->pts forming unbroken sequence, seeking does occur. For some bizarre reason next frame i read is the first one. In fact, after i run :

      int got_frame = 0;
      do
      if (av_read_frame(fmt_ctx, &amp;pkt) >= 0) {
          decode_packet_ro(&amp;got_frame, 0);
          av_free_packet(&amp;pkt);
      }
      else
      {
          read_cache = true;
          pkt.data = NULL;
          pkt.size = 0;
          break;
      }
      while(!got_frame || this->frame->pts*av_q2d(video_dec_ctx->time_base) * 1000 &lt; tsms);

    next frame i read is always the first one.

  • Get frame time in ffmpeg

    30 mai 2013, par Srv19

    I am trying to make a little video player that has seek bar (with ffmpeg, of course). For that i need function that will, using data from frame and/or packet, get me current time in the video that should be set in seek slider.

    It should work like this :

    my_time = get_cur_time()
    seek(my_time + 10)
    assert(my_time+10 == get_cur_time())
    seek(my_time - 10)
    assert(my_time-10 == get_cur_time())

    I do understand thatffmpeg does not support precise seeking, so equality here means "something reasonably cloae).

    What code have i used for this thus far :

    frame_time = frame->pts*av_q2d(video_dec_ctx->time_base) * 1000;

    where frame is AVFrame and video_dec_ctx is AVCodecContext.

    And for seeking :

      int fn = ffmpeg::av_rescale(tsms,fmt_ctx->streams[video_stream->index]->time_base.den,
                                  fmt_ctx->streams[video_stream->index]->time_base.num);
      int frame = fn/1000;

      printf("\t avformat_seek_file to %d\n",frame);
      int flags = AVSEEK_FLAG_FRAME;
      if (frame &lt; this->frame->pts)
          flags |= AVSEEK_FLAG_BACKWARD;
      if(ffmpeg::av_seek_frame(fmt_ctx,video_stream->index,frame,flags))
      {
          printf("\nFailed to seek for time %d",frame);
         return false;
      }

      avcodec_flush_buffers(video_dec_ctx);
      int got_frame = 0;
      do
      if (av_read_frame(fmt_ctx, &amp;pkt) >= 0) {
          decode_packet_ro(&amp;got_frame, 0);
          av_free_packet(&amp;pkt);
      }
      else
      {
          read_cache = true;
          pkt.data = NULL;
          pkt.size = 0;
          break;
      }
      while(!(got_frame &amp;&amp; this->frame->pts >= frame));

    The code does forward seeking passably, but after any attempt of backward seeking my second assertion fails. After seeking to previous position, my method of getting time does not return position less that one before seeking. That causes my seek slider to work grossly incorrectly.