Recently I purchased an IP camera (here's a link to the manual, in case that is needed: http://www.safehome.dk/wp-content/uploads/2014/07/SafeHome_Manual-278040_278041-NORDIC.pdf ).
I would like to make a small Python program, where I can change and adjust different settings. Just so you will know in which way I'm heading, then I would like 4 IP cameras, where one of the feeds are shown in large and the other three are shown in small (standard surveillance-style). But the catch is, that is should be easy to adjust the delay for all the cameras, so the user can choose a number between 0 and 20 seconds, depending on how long they want the delay to be.
I've now connected my camera and I can use it, using the software from the manufacturer (viewed in a browser - which is not the best way). I assume that the first step is to find the feed from the camera - but I don't know how the images are transferred.
So my question is this:
a) How does a (my) IP Camera send data to a (my) machine?
b) In case that it is a feed/link - how do I find that, if it isn't in the manual?
If I go to the camera's IP-address in a browser, then it asks me to login, and then I just enter the camera's main menu. But I can see, that it has some kind of structure in there, because if I go to 'Settings', then it takes me to the URL: 10.0.0.34/web/admin.html. So I imagined that the actual feed from the camera would be something along the lines of: 10.0.0.34/stream.mjpeg
Use the Source!
Navigate to the admin.html page in your web browser
Look for the <img> or <video> tag, with a source that's something like what you mentioned (10.0.0.34/steam.mjpeg)
Grab it in Python and display it
Related
Ok so this question is actually in two parts.
I coded a video filter for VLC and I would like to add a control to the Video Effects panel on the OS X UI. So far I've been able to link my plugin the the UI by hijacking one of the existing controls, but this isn't ideal.
Now, if I open up the Xcode project (I'm running Xcode 6.3.1) and try to open the VideoEffect.xib file, I get the following error:
I tried to google this but it sounds like the only alternative would be to play archaeologist and dig up an old copy of Xcode 3. Is there any other way to be able to open this file and edit it somehow? I tried to look at the XML code but if I started to change that I'd do more damage than good.
The second thing I'd like to do is sending back values from the effect module to the UI. At the moment (by hijacking one of the existing sliders), all I can do is read a value from the panel with
config_ChainParse(p_filter, FILTER_PREFIX, ppsz_filter_options, p_filter->p_cfg);
p_filter->p_sys->i_factor = var_CreateGetIntegerCommand(p_filter, FILTER_PREFIX "factor");
and then, inside the callback function:
p_sys->i_factor = VLC_CLIP( newval.i_int, 0, 255 );
However, I haven't been able to write back the value. I'd like the filter to set p_sys->i_factor to a random value at start. This works (using var_SetInteger()), but it isn't reflected in the position of the slider in the Video Effect panel. I suspect I need to hack a bit deeper for that. Any ideas?
Regarding your first question with the xib-file. Consider downloading and using our forthcoming 3.0 code from git://git.videolan.org/vlc.git - it allows editing of said file without Xcode 3.
Regarding your second question, why would you want your video filter to interfere with the UI? This is not how the architecture of VLC works and there is no correct way to do it at this point. You would need to edit the core to do another global variable callback to ask the UI to reload the presented filter configuration.
Perhaps, if you give details about what your filter does and what you want to achieve, we find a more supported way :)
I am currently testing a DSC-HX400. While I am able to do almost everything I need to with the camera there are a couple of items that are not exposed via the API that have frustrated my efforts.
1) The camera does not seem to offer an option, via the API or the camera itself, to capture images in RAW format. It does offer standard & fine JPEG format but both of those are leaving artifacts in the image that become extremely noticeable when you zoom in with an image editor. Is there a way to get the camera to capture RAW images? I do not need the SDK to return the data just to save it out to the card. If getting the RAW data is impossible has anyone found an inventive way to clean up the artifacts?
2) The camera supports both still shoot and movie mode but the API will only expose the mode that I am currently in. It makes it impossible to transition between still to movie mode (to allow recording) from the API but I can do that same transition by pressing a single button on the camera. Once I am recording a movie the API will allow me to transition back to still mode (by cancelling recording). Is there plans to support the ability to trigger a movie recording via the API if you are in a still capture mode (Seeing the firmware already supports this functionality)?
Answers to the questions below:
If the camera cannot capture RAW images, the API will not be able to either. I do not know of a way to capture RAW images but can only comment with regards to the API as I am not an expert on usage of the camera itself.
You can change between still and movie mode by using the "setShootMode" API.
I am using Projekktor to display video, but if someone is using, say, an iPhone I want to send out a smaller video than the full 1080p that might be sent to a browser.
Is there a built-in way to do this, or do I need to do a user-agent check and create a playlist based on the device manually?
You can configure Projekktor to fetch a specific video file depending on the dimensions of the video display.
To do so you need to provide multiple video video files with different resolutions for each format you want to deliver and set a "quality" property for each of them.
To alter the dimensions/quality mapping you have to set the "playbackQualities" config option
The whole logic is described in detail over here.
A little background info is that my team and I developed a website for a Real Estate Agency and I've been assigned the task of setting the image of the currently selected property into facebook's sharing feature.
The webpage for the property is dynamic as there are several listings, so what I've done is select the first image that is loaded on the page and set it to the og:image meta tag.
Now let's say I copy the URL and post it on Facebook, it'll show the correct thumbnail, HOWEVER, it'll also show multiple thumbnails from other listings.
All images on the website are over 200 x 200px and are within an aspect ratio of 3:1.
My question is, how do I tell Facebook to only take my initial image and not grab others while it's as it.
Is there perhaps a SelectSingleImage property that I can apply?
I've already spent more time searching for the answer to this issue than I would have liked, so thanks for any help provided, it's much appreciated.
One method I use sometimes is to recognize Facebook's server and simply provide it with different data. This way you can actually only have one image on the page (as far as Facebook knows).
I don't know anything about vb.net, but here is a simple code sample in PHP. All it does is perform a regular expression on the user agent of the request to match it against the string "facebook".
$isFacebook = false;
if(preg_match("/facebook/",strtolower($_SERVER["HTTP_USER_AGENT"]))) {
$isFacebook = true;
}
Facebook may very well change their user agent signature one day, but for now, I'm pretty sure you'll be safe but keep synced with the Developers Blog and the Roadmap.
It seems that Facebook saved those images in cache for some bizarre reason, but to resolve this issue all I had to do was enter the URL into Facebook's Linter tool which in turn cleared the cache on their server.
My question is similar to this one "https://bitly.com/UaQOC4", but that question is somewhat misleading.
In my Windows 8 Store app, I have a Bing map reference to a particular location somewhere in South Africa. The referenced location will have multiple pins to denote key areas of interest to users of the application, with an info window for each of the pins.
When a user clicks on a pin, the info window will give them more information, like statistics around the location and a link to a page within the application, for example: /pages/nests/crowsnest.html.
What I need is to be able to push the user, when clicked on the location in the info window, to this page, however, this does not seem to be allowed.
From my understanding, we're trying to force a page load from within the current domain space (our application) from outside of the application scope (info window == iframe) as this is not a web page, this seems to be disallowed.
Is my assumption correct in that we're trying to break the domain policy here? I don't see how we can, as we're just redirecting users to a page.
I have tried the WinJS.Navigation.navigate("/pages/nests/crowsnets.html") and event a normal -tag but neither of these approaches allowed me any success.
I'm still not sure what are you trying to achieve. You can use Bing Maps control in your Windows 8 app and you can pin any Pushpins in there, You can also handle the behavior when user taps any pin and show more detailed info on the map.
Bing Maps SDK for Windows Store apps