Recherche avancée

Médias (0)

Mot : - Tags -/signalement

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

Autres articles (61)

  • Soumettre améliorations et plugins supplémentaires

    10 avril 2011

    Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
    Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...)

  • Contribute to translation

    13 avril 2011

    You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
    To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
    MediaSPIP is currently available in French and English (...)

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

Sur d’autres sites (8377)

  • 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
  • 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 &lt;&lt; "capture.open(0): " &lt;&lt; capture.open(0) &lt;&lt; std::endl;
       std::cout &lt;&lt; "NOOO" &lt;&lt; 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 &lt;&lt; "Camera properties\n";
       //cout &lt;&lt; "width = " &lt;&lt; width &lt;&lt; endl &lt;&lt;"height = "&lt;&lt; height &lt;&lt; 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, &amp;frame, &amp;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() &lt; 1000000/framerate){
               //determine current elapsed time
               currentFrameTimestamp = microsec_clock::local_time();
               td = (currentFrameTimestamp - nextFrameTimestamp);
               if(cvWaitKey( 5 ) == 'q'){
                   std::cout &lt;&lt; "B" &lt;&lt; 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 &lt;&lt; frame;
           imshow("video", frame);

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

           // 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 &lt;&lt; delayFound &lt;&lt; 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 &lt;&lt; "C" &lt;&lt; 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

  • How to tell if faststart for video is set using ffmpeg or ffprobe

    5 septembre 2022, par jsherk

    I am having trouble figuring out how to determine if faststart is set on an MP4 video.

    &#xA;&#xA;

    I understand that "moov atom" is the data that needs to be located at the beginning of the file for faststart to be enabled, instead of at the end of the file.

    &#xA;&#xA;

    I specifically want to use ffmpeg or ffprobe to determine if it has been moved to the beginning or not already.

    &#xA;&#xA;

    On a side note, I understand I can run the following command to move it from the end to the beginning (but I want to find out if it is already there) :

    &#xA;&#xA;

    ffmpeg -i infile.mp4 -map 0 -c:v copy -c:a copy -c:s copy -c:d copy -c:t copy -movflags &#x2B;faststart outfile.mp4&#xA;

    &#xA;