Recherche avancée

Médias (1)

Mot : - Tags -/ticket

Autres articles (43)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

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

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (8994)

  • Adding a Skip Command to Discord.Net

    16 août 2017, par ComedicChimera

    I have a music bot for my Discord server, that is running on Discord.Net and I am trying to implement a skip feature for my bot. Because of the way I have my bot setup, all I need to do is end the current stream to skip. The problem is I can’t figure out how to do that without causing an exception or some other error. Here is my code for playing. (create stream returns an ffmpeg process)

    var output = CreateStream(url).StandardOutput.BaseStream;
                       Music.stream = Music.client.CreatePCMStream(AudioApplication.Music);
                       await output.CopyToAsync(Music.stream);
                       await Music.stream.FlushAsync().ConfigureAwait(false);

    And the FFMPEG code :

    private Process CreateStream(string path)
       {
           return Process.Start(new ProcessStartInfo
           {
               FileName = "ffmpeg.exe",
               Arguments = $"-hide_banner -loglevel panic -i \"{path}\" -ac 2 -f s16le -ar 48000 pipe:1",
               UseShellExecute = false,
               RedirectStandardOutput = true
           });
       }

    Music is a public class that just holds a bunch of variables so other methods can access them. (as module base is abstract)

  • 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, &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, &pkt);
           if (ret < 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, &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*av_q2d(video_dec_ctx->time_base) * 1000 < tsms);

    next frame i read is always the first one.

  • avformat/mov : Fix memleak upon encountering repeating tags

    14 juin 2020, par Andreas Rheinhardt
    avformat/mov : Fix memleak upon encountering repeating tags
    

    mov_read_custom tries to read three strings belonging to three different
    tags. When an already encountered tag is encountered again, a new buffer
    for the string to be read is allocated and stored in the pointer
    destined for this particular tag. But in this scenario, said pointer
    already holds the address of the string read earlier, leading to a leak.

    This commit therefore aborts the reading process upon encountering
    an already encountered tag.

    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@gmail.com>

    • [DH] libavformat/mov.c