Recherche avancée

Médias (91)

Autres articles (19)

  • Pas question de marché, de cloud etc...

    10 avril 2011

    Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
    sur le web 2.0 et dans les entreprises qui en vivent.
    Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
    Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
    le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
    Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...)

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

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

  • discord.py Heroku FFmpeg issue

    6 avril 2022, par No.BoD

    hi I'm trying to deploy a discord bot on heroku. i'm using ffmpeg to stream music to a voice channel. i tried it local on my windows and got it working but when I deployed it on heroku, throws this exception and says nothing !

    


    I use these buildpacks :

    


      

    1. heroku/python
    2. 


    3. https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest.git
    4. 


    


    I appreciate if someone can help
    
here's a sample code :

    


    vid = pafy.new("https://www.youtube.com/watch?v=gdL7s0kw0SM")
print("Pafy Vid Created!")
audio = vid.getbestaudio()
print("Pafy Audio Created!")
try:
    // self.FFMPEG_OPTIONS = {'before_options': '-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5', 'options': '-vn'}
    self.vc[ctx.guild.id].play(FFmpegPCMAudio(Song['source'], **self.FFMPEG_OPTIONS), after=lambda _: E.set())
    print("Playing Music!!!")
except Exception as ex:
    print(ex)


    


    and here's what I got :

    


    2021-09-20T14:31:19.958645+00:00 app[worker.1]: Pafy Vid Created!
2021-09-20T14:31:19.958889+00:00 app[worker.1]: Pafy Audio Created!
2021-09-20T14:31:20.447278+00:00 app[worker.1]:


    


  • Cancelling ffpeg launched as a C# process

    22 avril 2016, par DarwinIcesurfer

    I’m launching ffmpeg in a c# process to encode a video. In a command window, ffmpeg can be interrupted by pressing CTRL-C. I have tried to achieve the same effect by closing the process, however ffmpeg does not appear to close (it is still visible in task manager and it does not release the handle on the file it was encoding)

    How can ffmpeg be interrupted programatically ?

    static Process proc;
    static BackgroundWorker bw;    

    public void EncodeVideoWithProgress(string filename, string arguments, BackgroundWorker worker, DoWorkEventArgs e)
    {
       proc = new Process();

       // assign the backgroud worker to a class member variable so all function within the class will have access
       bw = worker;

       proc.StartInfo.FileName = "ffmpeg";
       proc.StartInfo.Arguments = "-i " + " \"" + filename + "\" " + arguments;

       proc.StartInfo.UseShellExecute = false;
       proc.EnableRaisingEvents = true;
       proc.StartInfo.RedirectStandardError = true;
       proc.StartInfo.RedirectStandardOutput = false;
       proc.StartInfo.CreateNoWindow = true;

       proc.ErrorDataReceived += new DataReceivedEventHandler(NetErrorDataHandler);

       proc.Start();
       proc.BeginErrorReadLine();

       proc.WaitForExit();
    }

    private static void NetErrorDataHandler(object sendingProcess,
              DataReceivedEventArgs errLine)
    {
       if (bw.CancellationPending)
       {
           proc.CloseMainWindow();
           proc.Close();  
       }
       else
       {
        // do other tasks
       }
    }
  • Properly handling FFMpeg multithreading

    31 mars 2020, par Salvo Passaro

    I’m writing a program that receives multiple RTSP live streams and transmuxes them into various formats. My first idea was to spawn a thread for each stream to handle receiving, demuxing and remuxing ; then i realized it was conceptually better to instead spread the work across "workers".

    So i eventually ended up building

    • a std::queue (and an associated mutex) of AVPackets for each stream
    • a semaphore based on std::condition_variable
    • a worker to handle network io (which essentially loops over av_read_frame and notifies the semaphore on each successful iteration)
    • a worker to "consume" received packets from the queue (which waits on the semaphore)

    Now, using the above, stream quality noticeably dropped. I’m not sure if my load balancing approach is poor or messes up libavformat somehow ; is there something I’m missing ?