
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (112)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains 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, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP 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 wojcientyI 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 onframeStatus = 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 atu0830I 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 moeiscoolThe 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.