Recherche avancée

Médias (0)

Mot : - Tags -/tags

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (35)

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

  • Les images

    15 mai 2013
  • Taille des images et des logos définissables

    9 février 2011, par

    Dans beaucoup d’endroits du site, logos et images sont redimensionnées pour correspondre aux emplacements définis par les thèmes. L’ensemble des ces tailles pouvant changer d’un thème à un autre peuvent être définies directement dans le thème et éviter ainsi à l’utilisateur de devoir les configurer manuellement après avoir changé l’apparence de son site.
    Ces tailles d’images sont également disponibles dans la configuration spécifique de MediaSPIP Core. La taille maximale du logo du site en pixels, on permet (...)

Sur d’autres sites (2324)

  • PHP - 500 error every second time after using exec() on ffmpeg

    23 août 2020, par Eduard Unruh

    I get an 500 error every second time executing this code :

    


    exec('"ffmpeg/bin/ffmpeg.exe" -y -i ' . $infile . ' -movflags faststart -pix_fmt yuv420p -maxrate 500k -bufsize 250k -vf scale=trunc(iw/2)*2:trunc(ih/2)*2 ' . $outfile . ' 2>&1', $output, $return_var);


    


    I've seen this answer :

    


    PHP Exec (ffmpeg) fails on IIS every other request

    


    But before I try to find out what changing the FastCGI protocol is and how to do it : is there a way in the code to avoid this ?

    


  • 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 < 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, &pkt) >= 0) {
          decode_packet_ro(&got_frame, 0);
          av_free_packet(&pkt);
      }
      else
      {
          read_cache = true;
          pkt.data = NULL;
          pkt.size = 0;
          break;
      }
      while(!(got_frame && 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.

  • avformat/hls : Fixes overwriting existing #EXT-X-PROGRAM-DATE-TIME value in HLS playlist

    1er décembre 2020, par Vignesh Ravichandran
    avformat/hls : Fixes overwriting existing #EXT-X-PROGRAM-DATE-TIME value in HLS playlist
    

    fix ticket : 8989

    This is is due to the following behavior in the current code :
    1. The initial_prog_date_time gets set to the current local time
    2. The existing playlist (.m3u8) file gets parsed and the segments
    present are added to the variant stream
    3. The new segment is created and added
    4. The existing segments and the new segment are written to the
    playlist file. The initial_prog_date_time from point 1 is used
    for calculating "#EXT-X-PROGRAM-DATE-TIME" for the segments,
    which results in incorrect "#EXT-X-PROGRAM-DATE-TIME" values
    for existing segments
    The following approach fixes this bug :
    1. Add a new variable "discont_program_date_time" of type double
    to HLSSegment struct
    2. Store the "EXT-X-PROGRAM-DATE-TIME" value from the existing
    segments in this variable
    3. When writing to playlist file if "discont_program_date_time"
    is set, then use that value for "EXT-X-PROGRAM-DATE-TIME" else
    use the value present in vs->initial_prog_date_time

    Signed-off-by : Vignesh Ravichandran <vignesh.ravichandran02@gmail.com>
    Signed-off-by : liuqi05 <liuqi05@kuaishou.com>

    • [DH] libavformat/hlsenc.c