Recherche avancée

Médias (29)

Mot : - Tags -/Musique

Autres articles (78)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

Sur d’autres sites (11603)

  • OpenCV's VideoCapture::open Video Source Dialog

    13 novembre 2015, par swtdrgn

    In my current project, when I call VideoCapture::open(camera device index) and the camera is in used by another program, it shows a Video Source dialog and returns true when I select a device that is already in use.

    However, in my [previous] experiment project, when I called VideoCapture::open(camera device index), it doesn’t show this dialog.

    I want to know what is causing the Video Source dialog to show and the program to behave differently from the experimental project.

    This is the source code to the experiment project :

    int main (int argc, char *argv[])
    {

       //vars
       time_duration td, td1;
       ptime nextFrameTimestamp, currentFrameTimestamp, initialLoopTimestamp, finalLoopTimestamp;
       int delayFound = 0;
       int totalDelay= 0;

       // initialize capture on default source
       VideoCapture capture;
       std::cout << "capture.open(0): " << capture.open(0) << std::endl;
       std::cout << "NOOO" << std::endl;
       namedWindow("video", 1);

       // set framerate to record and capture at
       int framerate = 15;

       // Get the properties from the camera
       double width = capture.get(CV_CAP_PROP_FRAME_WIDTH);
       double height = capture.get(CV_CAP_PROP_FRAME_HEIGHT);

       // print camera frame size
       //cout << "Camera properties\n";
       //cout << "width = " << width << endl <<"height = "<< height << endl;

       // Create a matrix to keep the retrieved frame
       Mat frame;

       // Create the video writer
       VideoWriter video("capture.avi",0, framerate, cvSize((int)width,(int)height) );

       // initialize initial timestamps
       nextFrameTimestamp = microsec_clock::local_time();
       currentFrameTimestamp = nextFrameTimestamp;
       td = (currentFrameTimestamp - nextFrameTimestamp);

       // start thread to begin capture and populate Mat frame
       boost::thread captureThread(captureFunc, &frame, &capture);
       // loop infinitely
       for(bool q=true;q;)
       {
           if(frame.empty()){continue;}
           //if(cvWaitKey( 5 ) == 'q'){ q=false; }
           // wait for X microseconds until 1second/framerate time has passed after previous frame write
           while(td.total_microseconds() < 1000000/framerate){
               //determine current elapsed time
               currentFrameTimestamp = microsec_clock::local_time();
               td = (currentFrameTimestamp - nextFrameTimestamp);
               if(cvWaitKey( 5 ) == 'q'){
                   std::cout << "B" << std::endl;
                   q=false;
                   boost::posix_time::time_duration timeout = boost::posix_time::milliseconds(0);
                   captureThread.timed_join(timeout);
                   break;
               }
           }

           // determine time at start of write
           initialLoopTimestamp = microsec_clock::local_time();

           // Save frame to video
           video << frame;
           imshow("video", frame);

           //write previous and current frame timestamp to console
           cout << nextFrameTimestamp << " " << currentFrameTimestamp << " ";

           // add 1second/framerate time for next loop pause
           nextFrameTimestamp = nextFrameTimestamp + microsec(1000000/framerate);

           // reset time_duration so while loop engages
           td = (currentFrameTimestamp - nextFrameTimestamp);

           //determine and print out delay in ms, should be less than 1000/FPS
           //occasionally, if delay is larger than said value, correction will occur
           //if delay is consistently larger than said value, then CPU is not powerful
           // enough to capture/decompress/record/compress that fast.
           finalLoopTimestamp = microsec_clock::local_time();
           td1 = (finalLoopTimestamp - initialLoopTimestamp);
           delayFound = td1.total_milliseconds();
           cout << delayFound << endl;

           //output will be in following format
           //[TIMESTAMP OF PREVIOUS FRAME] [TIMESTAMP OF NEW FRAME] [TIME DELAY OF WRITING]
           if(!q || cvWaitKey( 5 ) == 'q'){
               std::cout << "C" << std::endl;
               q=false;
               boost::posix_time::time_duration timeout = boost::posix_time::milliseconds(0);
               captureThread.timed_join(timeout);
               break;
           }
       }

       // Exit
       return 0;
    }

    Video Source Dialog

  • libavformat/mpegts : expose raw packet size

    19 décembre 2013, par Leandro Dorileo
    libavformat/mpegts : expose raw packet size
    

    We cannot easily determine if an mpeg TS’s packet size is DVHS, FEC
    or so on, for that we need to expose the internal raw_packet_size
    field.

    Signed-off-by : Leandro Dorileo <leandro.maciel.dorileo@intel.com>
    Signed-off-by : Michael Niedermayer <michaelni@gmx.at>

    • [DH] libavformat/mpegts.c
  • flutter : Getting width and height of video using

    2 mai 2019, par ebg11

    I am trying to retrieve the width and height of a video using flutter. I have tried using ffmpeg

    _flutterFFmpeg.getMediaInformation(file.path);

    but the width and height are occasionally flipped. I have noticed
    "rotate" -> "90" and "displaymatrix" -> "rotation of -90.00 degrees" are present in the meta data returned.

    Is there a bug free method of using the rotate/display matrix to determine the true width/height of the video or is there a better method/library that can help me here ?

    Thanks.