Recherche avancée

Médias (2)

Mot : - Tags -/map

Autres articles (83)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

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

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (12604)

  • Revision c4826c5941 : Adaptive motion search control This commit enables adaptive constraint on motio

    12 septembre 2013, par Jingning Han

    Changed Paths :
     Modify /vp9/encoder/vp9_block.h


     Modify /vp9/encoder/vp9_encodeframe.c


     Modify /vp9/encoder/vp9_onyx_if.c


     Modify /vp9/encoder/vp9_onyx_int.h


     Modify /vp9/encoder/vp9_rdopt.c



    Adaptive motion search control

    This commit enables adaptive constraint on motion search range for
    smaller partitions, given the motion vectors of collocated larger
    partition as a candidate initial search point.

    It makes speed 0 runtime of bus at CIF and 2000 kbps goes from
    167s down to 162s (3% speed-up), at 0.01dB performance gains. In
    the settings of speed 1, this makes the runtime goes from 33687 ms
    to 32142 ms (4.5% speed-up), at 0.03dB performance gains.

    Compression performance wise, it gains at speed 1 :
    derf 0.118%
    yt 0.237%
    hd 0.203%
    stdhd 0.438%

    Change-Id : Ic8b34c67810d9504a9579bef2825d3fa54b69454

  • Revision eeae6f946d : fix a problem where an invalid mv used in search The commit added reset of pred

    16 septembre 2013, par Yaowu Xu

    Changed Paths :
     Modify /vp9/encoder/vp9_encodeframe.c


     Modify /vp9/encoder/vp9_rdopt.c



    fix a problem where an invalid mv used in search

    The commit added reset of pred_mv at the beginning of each SB64x64
    partition mv search, also limited the usage of pred_mv only when
    search on the largest partition is already done. This is to fix
    a crash at speed 1/2 encoder where an invalid mv is used in mv
    search.

    Change-Id : I39010177da76d054e3c90b7899a44feb2e3a5b1b

  • How to solve Accord.Video.FFMPEG memory leak problem

    26 mai 2021, par mfwoo

    I am developing a digital billboard application that allow customer to click on the touch screen to go back and forth.

    


    Screen 0 -> touch -> Screen 1 -> touch -> Screen 2 -> time out -> Screen 0

    


    If no interaction happens Screen 0 will loop indefinitely. Every Screen is running its own MP4 file.

    


    However, for every running cycle of Screen 1, it gobbled up memory and in no time the application crash.

    


    Is it because of VideoFileSource's video object is not being dispose properly or because of some threading problem in video_NewFrame ?

    


    Because I get this error occasionally - "Invoke or BeginInvoke cannot be called on a control until the windows handle is created"

    


    I am using VS2017 .NET Framework 4.5 with Accord.Video.FFMPEG by Accord.NET version 3.8

    


    Screen 0 MP4 size - 5.5MB
Screen 1 MP4 size - 5.6MB
Screen 2 MP4 size - 7.0MB

    


    Here is my code :-
...

    


    Bitmap image;
VideoFileSource video;
int screenIdx = 0;
bool enableClicking = true;
bool isTimeOut = false;
string VideoPath = @"d:\KioskApp\Bkgrnd\"

public frmMain()
    {
        InitializeComponent(); 
        StartFirstScreen();
        tmrScreen01.Interval = 10000;
        tmrScreen02.Interval = 10000;
    }
    
     private void StartFirstScreen()
    {
        try
        {
            string fileName = VideoPath + Screen00();
            video = new VideoFileSource(fileName);
            video.PlayingFinished += new Accord.Video.PlayingFinishedEventHandler(video_Finished);
            video.NewFrame += new Accord.Video.NewFrameEventHandler(video_NewFrame);
            video.Start();
            screenIdx = 1;
        }
        catch (Exception ex)
        {
            string strErrMsg = strMsg + " - " + ex.Message;
            MessageBox.Show(strErrMsg);
        }
    }
    
    private void video_NewFrame(object sender, Accord.Video.NewFrameEventArgs eventArgs)
    {
        try
        {
            Invoke(new Action(() =>
            {
                System.Drawing.Image OldImage;
                OldImage = pictureBox1.Image;
                pictureBox1.Image = AForge.Imaging.Image.Clone(eventArgs.Frame);
                if (OldImage != null)
                    OldImage.Dispose();
            }));    
        }
        catch (Exception ex)
        {
            var strErrMsg = "video_NewFrame - " + ex.Message;
            MessageBox.Show(strErrMsg);
        }
    }
    
     private void video_Finished(object sender, Accord.Video.ReasonToFinishPlaying reason)
    {
        try
        {
            if (screenIdx == 1)
            {
                video.PlayingFinished -= video_Finished;
                video.NewFrame -= video_NewFrame;
                video = null;                    
                StartFirstScreen();
                return;
            }
            enableClicking = true;

        }
        catch (Exception ex)
        {
            var strErrMsg = "video_Finished - " + ex.Message;
            MessageBox.Show(strErrMsg);

        }
    }
    
    void startLastScreen()
    {
        string fileName = string.Empty;
        video.SignalToStop();
        fileName = VideoPath + Screen02();
        screenIdx = 0;
        if (object.ReferenceEquals(null, video))
        {
            video = new VideoFileSource(fileName);
        }
        else
        {
            video = null;
            video = new VideoFileSource(fileName);
        }

        video.PlayingFinished += new Accord.Video.PlayingFinishedEventHandler(video_Finished);
        video.NewFrame += new Accord.Video.NewFrameEventHandler(video_NewFrame);
        video.Start();
        enableClicking = false;
    }
    
    private void pictureBox1_Click(object sender, EventArgs e)
    {
        if (!enableClicking && screenIdx != 1) return;

        tmrScreen01.Stop();
        tmrScreen02.Stop();
        
        //  Check clickable area before allow to proceed to the next screen     
        string fileName = string.Empty;
        video.SignalToStop();
        video.Stop();

        if (screenIdx == 0)
        {
            fileName = VideoPath + Screen00();
            screenIdx = 1;
        }
        else if (screenIdx == 1)
        {
            fileName = VideoPath + Screen01();
            screenIdx = 2;
            
        }
        else if (screenIdx == 2)
        {
            fileName = VideoPath + Screen02();
            screenIdx = 0;
           
        }

        if (object.ReferenceEquals(null, video))
        {
            video = new VideoFileSource(fileName);
        }
        else
        {
            video = null;
            video = new VideoFileSource(fileName);
        }
        video.PlayingFinished += new Accord.Video.PlayingFinishedEventHandler(video_Finished);
        video.NewFrame += new Accord.Video.NewFrameEventHandler(video_NewFrame);
        enableClicking = false;
        isTimeOut = false;
        video.Start();
    }


    


    ...