Recherche avancée

Médias (1)

Mot : - Tags -/Christian Nold

Autres articles (30)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

  • Selection of projects using MediaSPIP

    2 mai 2011, par

    The examples below are representative elements of MediaSPIP specific uses for specific projects.
    MediaSPIP farm @ Infini
    The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)

Sur d’autres sites (5917)

  • live streaming video file from iphone to internet using FFMpeg

    18 avril 2014, par Luis Mok

    i am trying to live streaming some video content from iphone to the internet (or server). I have read the following post (http://stackoverflow.com/questions/4084811/iphone-http-live-streaming-without-any-server-side-processing)

    And i understand i can first capture the images and audio into file then send it out to the internet. But i really have no idea how to start the work on constantly send out these video files.

    I understand i can use ffmpeg to do the streaming part. after long researching i can only found a sample program called iFrameExtractor using FFmpeg library. But the sample only shows how to use ffmpeg to playback a video file, but no sample on how to use the live streaming function in ffmpeg...

    Can anyone provide a direction or tutorial how to live streaming a video file using ffmpeg ? or anyone can suggest other ways to solve this problem ? i am sure lots of people want to know how to do that.

  • Allow native compilation on the iPhone.

    25 juillet 2013, par Carl Eugen Hoyos
    Allow native compilation on the iPhone.
    
    • [DH] configure
  • Opencv mask object from rtsp camera

    19 août 2016, par user3689259

    i want to add an image as mask in camera live frame after detect specific logo .
    if possible Output rtmp ://127.0.0.1:1935/live/mycamOutput ,, I have nginx-rtmp the rtmp can work if we add it in source , pls any one can help me

    //opencv
    #include "opencv2/imgcodecs.hpp"
    #include "opencv2/imgproc.hpp"
    #include "opencv2/videoio.hpp"
    #include <opencv2></opencv2>highgui.hpp>
    #include <opencv2></opencv2>video.hpp>
    //C
    #include
    //C++
    #include <iostream>
    #include <sstream>

    using namespace cv;
    using namespace std;

    // Global variables
    Mat frame; //current frame
    Mat fgMaskMOG2; //fg mask fg mask generated by MOG2 method
    Ptr<backgroundsubtractor> pMOG2; //MOG2 Background subtractor
    int keyboard; //input from keyboard

    /** Function Headers */
    void help();
    void processVideo(char* videoFilename);
    void processImages(char* firstFrameFilename);

    void help()
    {
       cout
       &lt;&lt; "--------------------------------------------------------------------------" &lt;&lt; endl
       &lt;&lt; "This program shows how to use background subtraction methods provided by "  &lt;&lt; endl
       &lt;&lt; " OpenCV. You can process both videos (-vid) and images (-img)."             &lt;&lt; endl
                                                                                       &lt;&lt; endl
       &lt;&lt; "Usage:"                                                                     &lt;&lt; endl
       &lt;&lt; "./bg_sub {-vid <video filename="filename">|-img <image filename="filename">}"                     &lt;&lt; endl
       &lt;&lt; "for example: ./bg_sub -vid video.avi"                                       &lt;&lt; endl
       &lt;&lt; "or: ./bg_sub -img /data/images/1.png"                                       &lt;&lt; endl
       &lt;&lt; "--------------------------------------------------------------------------" &lt;&lt; endl
       &lt;&lt; endl;
    }

    /**
    * @function main
    */
    int main(int argc, char* argv[])
    {
       //print help information
       help();

       //check for the input parameter correctness
       if(argc != 3) {
           cerr &lt;&lt;"Incorret input list" &lt;&lt; endl;
           cerr &lt;&lt;"exiting..." &lt;&lt; endl;
           return EXIT_FAILURE;
       }

       //create GUI windows
       namedWindow("Frame");
       namedWindow("FG Mask MOG 2");

       //create Background Subtractor objects
       pMOG2 = createBackgroundSubtractorMOG2(); //MOG2 approach

       if(strcmp(argv[1], "-vid") == 0) {
           //input data coming from a video
           processVideo(argv[2]);
       }
       else if(strcmp(argv[1], "-img") == 0) {
           //input data coming from a sequence of images
           processImages(argv[2]);
       }
       else {
           //error in reading input parameters
           cerr &lt;&lt;"Please, check the input parameters." &lt;&lt; endl;
           cerr &lt;&lt;"Exiting..." &lt;&lt; endl;
           return EXIT_FAILURE;
       }
       //destroy GUI windows
       destroyAllWindows();
       return EXIT_SUCCESS;
    }

    /**
    * @function processVideo
    */
    void processVideo(char* videoFilename) {
       //create the capture object
       VideoCapture capture(videoFilename);
       if(!capture.isOpened()){
           //error in opening the video input
           cerr &lt;&lt; "Unable to open video file: " &lt;&lt; videoFilename &lt;&lt; endl;
           exit(EXIT_FAILURE);
       }
       //read input data. ESC or 'q' for quitting
       while( (char)keyboard != 'q' &amp;&amp; (char)keyboard != 27 ){
           //read the current frame
           if(!capture.read(frame)) {
               cerr &lt;&lt; "Unable to read next frame." &lt;&lt; endl;
               cerr &lt;&lt; "Exiting..." &lt;&lt; endl;
               exit(EXIT_FAILURE);
           }
           //update the background model
           pMOG2->apply(frame, fgMaskMOG2);
           //get the frame number and write it on the current frame
           stringstream ss;
           rectangle(frame, cv::Point(10, 2), cv::Point(100,20),
                     cv::Scalar(255,255,255), -1);
           ss &lt;&lt; capture.get(CAP_PROP_POS_FRAMES);
           string frameNumberString = ss.str();
           putText(frame, frameNumberString.c_str(), cv::Point(15, 15),
                   FONT_HERSHEY_SIMPLEX, 0.5 , cv::Scalar(0,0,0));
           //show the current frame and the fg masks
           imshow("Frame", frame);
           imshow("FG Mask MOG 2", fgMaskMOG2);
           //get the input from the keyboard
           keyboard = waitKey( 30 );
       }
       //delete capture object
       capture.release();
    }

    /**
    * @function processImages
    */
    void processImages(char* fistFrameFilename) {
       //read the first file of the sequence
       frame = imread(fistFrameFilename);
       if(frame.empty()){
           //error in opening the first image
           cerr &lt;&lt; "Unable to open first image frame: " &lt;&lt; fistFrameFilename &lt;&lt; endl;
           exit(EXIT_FAILURE);
       }
       //current image filename
       string fn(fistFrameFilename);
       //read input data. ESC or 'q' for quitting
       while( (char)keyboard != 'q' &amp;&amp; (char)keyboard != 27 ){
           //update the background model
           pMOG2->apply(frame, fgMaskMOG2);
           //get the frame number and write it on the current frame
           size_t index = fn.find_last_of("/");
           if(index == string::npos) {
               index = fn.find_last_of("\\");
           }
           size_t index2 = fn.find_last_of(".");
           string prefix = fn.substr(0,index+1);
           string suffix = fn.substr(index2);
           string frameNumberString = fn.substr(index+1, index2-index-1);
           istringstream iss(frameNumberString);
           int frameNumber = 0;
           iss >> frameNumber;
           rectangle(frame, cv::Point(10, 2), cv::Point(100,20),
                     cv::Scalar(255,255,255), -1);
           putText(frame, frameNumberString.c_str(), cv::Point(15, 15),
                   FONT_HERSHEY_SIMPLEX, 0.5 , cv::Scalar(0,0,0));
           //show the current frame and the fg masks
           imshow("Frame", frame);
           imshow("FG Mask MOG 2", fgMaskMOG2);
           //get the input from the keyboard
           keyboard = waitKey( 30 );
           //search for the next image in the sequence
           ostringstream oss;
           oss &lt;&lt; (frameNumber + 1);
           string nextFrameNumberString = oss.str();
           string nextFrameFilename = prefix + nextFrameNumberString + suffix;
           //read the next frame
           frame = imread(nextFrameFilename);
           if(frame.empty()){
               //error in opening the next image in the sequence
               cerr &lt;&lt; "Unable to open image frame: " &lt;&lt; nextFrameFilename &lt;&lt; endl;
               exit(EXIT_FAILURE);
           }
           //update the path of the current frame
           fn.assign(nextFrameFilename);
       }
    }
    </image></video></backgroundsubtractor></sstream></iostream>