Recherche avancée

Médias (1)

Mot : - Tags -/lev manovitch

Autres articles (112)

  • 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 ;

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

Sur d’autres sites (15305)

  • OpenCV [[mjpeg @ 0000000000428480] overread 8] during reading a frame from camera

    8 octobre 2015, par wojcienty

    I have a very annoying OpenCV error, that i can’t understand, and handle with.
    I write an application which gets mjpg’s stream from ip camera, and process it, but when i try to load image from stream, sometimes i have

    [mjpeg @ 0000000000428480] overread 8

    error, and i don’t know why.
    Even if i try to skip this issue, and try to load next frame from the stream, the application stucks on

    frameStatus = cameraHandler->read(mat);

    This is code for connection establishing :

    void ImageProcessor::connectWithCamera(VideoCapture * cameraHandler) {
       if (cameraHandler != nullptr) {
           Logger::log("Closing existing camera stream.");
           cameraHandler->release();
           delete cameraHandler;
       }
       Logger::log("Camera configuration and connection establishing.");
       cameraHandler = new VideoCapture();
       cameraHandler->set(CV_CAP_PROP_FRAME_WIDTH, config.RESOLUTION_WIDTH);
       cameraHandler->set(CV_CAP_PROP_FRAME_HEIGHT, config.RESOLUTION_HEIGHT);
       cameraHandler->set(CV_CAP_PROP_FPS, config.CAMERA_FPS);
       cameraHandler->set(CV_CAP_PROP_FOURCC, CV_FOURCC('M', 'J', 'P', 'G'));
       while (!cameraHandler->open(config.LINK)) {
           Logger::log("Cannot connect to camera! Trying again.");
       }
    }

    And this is code for capturing images :

    void ImageProcessor::start() {

       VideoCapture * cameraHandler = new VideoCapture();
       this->connectWithCamera(cameraHandler);
       this->connectWithServer(this->serverConnection);

       Logger::log("Id sending.");
       serverConnection->send(config.TOKEN + "\n");
       Logger::log("Computations starting.");

       Mat mat;
       Result * result = nullptr;
       int delta = 1000 / cameraHandler->get(CV_CAP_PROP_FPS);
       char frameErrorCounter = 0;
       bool frameStatus;

       while (true) {
           frameStatus = false;
           cv::waitKey(delta);

           try {
               frameStatus = cameraHandler->read(mat);
           } catch (std::exception& e) {
               std::string message = e.what();
               Logger::log("Critical camera error! : " + message);
           }

           if (!frameStatus) {
               Logger::log("Cannot read a frame from source. ");
               ++frameErrorCounter;
               if (!cameraHandler->isOpened() || frameErrorCounter >= this->GET_FRAME_ERROR_COUNTER) {
                   Logger::log("Probably camera is disconnected. Trying to establish connection again.");
                   frameErrorCounter = 0;
                   this->connectWithCamera(cameraHandler);
                   Logger::log("Computations starting.");
               }
               continue;
           }

           result = processImage(mat);

           std::string stringResult;
           if (result == nullptr) {
               stringResult = this->NO_RESULT;
               delete result;
               result = nullptr;
           } else {
               stringResult = result->toJson();
           }

           if (!serverConnection->send(stringResult)) {
               Logger::log("Server connection lost, trying to establish it again.");
               serverConnection->close();
               while (!serverConnection->isOpen()) {
                   this->connectWithServer(serverConnection);
               }
           }

           mat.release();
       }

    }

    Thanks in advance !

  • ffmpeg streaming camera with directshow

    17 novembre 2015, par atu0830

    I am trying use ffmpeg to streaming one camera. The command is

    ffmpeg.exe -y  -f dshow -i video="AmCam" -c:v copy  -framerate 7.5 -map 0:0 -f ssegment -segment_time 4 -segment_format mpegts  -segment_list "web\stream.m3u8"  -segment_list_size 720  -segment_list_flags live  -segment_wrap 10 -segment_list_type m3u8  "web\segments\s%%d.ts"

    And I create a html in web folder

                                         
                                   
                                       
                                     
       <video controls="controls" width="720" height="405" autoplay="autoplay">  
           <source src="stream.m3u8" type="application/x-mpegURL"></source>          
       </video>                                    
                                       

    All ts file generated but looking Safari on iPad looding but it always show dark player and loading

  • when ffmpeg is waiting to reconnect to camera, add blank frames ?

    7 décembre 2016, par moeiscool

    The command I am using is this one.

    It takes an MJPEG stream and saves it to WEBM for one output and another output is straight to stdout as I use it for something else.

    ffmpeg -loglevel warning -reconnect 1 -f mjpeg -r 5 -i http://MJPEGURL/ -vcodec libvpx -r 5 -q:v 1 filename.webm -vf fps=1 -s 640x480 -f image2pipe pipe:1

    It works great. The only issue is that when connection drops to the camera it just stitches together from where it reconnects.

    I would like to add blank frames in between where it disconnects. Is there an option or a way to detect it ? Then maybe i can push some data with stdin ?

    The purpose for adding blank frames is so that is has the proper length even if its "missing frames" from the actual stream itself.