This page is a
translated version of the page
Video API and the translation is 100% complete.
IRidium API.Videos, cameras, images
Methods for creating and using links to images and video-streams. Ways of work with cameras of control panels.
Methods
IR.CreateImageFromBuffer
Create an image from base64 string.
Syntax
IR.CreateImageFromBuffer(name, {base64});
name
|
"a unique name"
|
type: string a unique name of an image
|
base64
|
"iVBORw0KG..."
|
type: string a string with data in the base64 format.
|
Object
|
[object ImagePrototype]
|
type: Object a graphic object (images)
|
Sample
var base64 = "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"
var id = IR.CreateImageFromBuffer("a unique name", base64);
IR.GetPage("Page 1").GetItem("Item 1").GetState(0).Image = IR.GetImage(id);
IR.CreateImage
to create a dynamic image with a specified set of parameters. If you do not specify all image parameters, the missing parameters will be taken by default or retain the previous value. The created image is not assigned to graphic items. You can use it on different pages by addressing to it by its name. The name of the created image, unlike the other properties, cannot be changed
Syntax
IR.CreateImage(name, {image_properties});
name
|
"Camera 1"
|
type: string the name of the dynamic image (camera)
|
image_properties
|
Property: value
|
type: object the set of dinamic image properties
- URI: the link to the image
- Refresh: for images (snapshots), update frequency. For video-streams - 0
- Demuxer: automatic or manual selection of the FFMPEG stream type (in the cases when the stream cannot be defined automatically). The empty field - automatic selection, mxg - for Mobotix cameras
- Probe Size: 50000 (Kb) - the buffer of data in Kb that will be downloaded before playing the video. It is 5Mb by default (if you set 0). It can be decreased for low resolution cameras of slow connection, but the value less then 20000Kb is not recommended
- Param: the string for indicating the RTSP transport type. Indicate tcp, if video from the camera cannot be played via the Internet or produces playback artifacts
- Audio: to play audio-streams. It works with Mobotix (mxg) cameras
- ScaleWidth, ScaleHeight: resolution of stream or image. If you want to show the image in original size, do not fill this properties
|
Object
|
[object ImagePrototype]
|
type: Object an instance of a graphic object (image)
|
Sample
IR.AddListener(IR.EVENT_START,0, function()
{
// Create image
IR.CreateImage("Camera 1", {URI: "http://login:pass@host:port/file",
Refresh: 0,
Demuxer: '',
ProbeSize: 0,
Param: '',
Audio: false,
ScaleWidth: 640,
ScaleHeight: 480
});
// Get image
var l_oImage = IR.GetImage("Camera 1");
IR.Log(l_oImage) // [object ImagePrototype]
// Get image properties
IR.Log(l_oImage.URI) // http://login:pass@host:port/file
// Setup image (set image properties)
l_oImage.Refresh = 0;
l_oImage.Demuxer = '';
l_oImage.ProbeSize = 0;
l_oImage.Param = '';
l_oImage.Audio = false;
l_oImage.ScaleWidth = 1024;
l_oImage.ScaleHeight = 768;
// Link image to Item
IR.GetItem("Page 1").GetItem("Item 1").GetState(0).Image = IR.GetImage("Camera 1");
IR.GetItem("Page 1").GetItem("Item 2").GetState(0).Image = l_oImage;
});
if the camera has been created in Project Gallery (not in Script), you can link it to the item this way:
IR.GetItem("Page 1").GetItem("Item 1").GetState(0).Image = "Сamera from Gallery (name)"
the type of video stream cannot be changed via camera properties. It means that if you made an HTTP camera (via Studio or JS) and Demuxer & ProbeSize settings of this camera wasn't filled it will not be possible to change this settings via camera properties in JS. You have to create a camera with all the needed properties to make it possible to change them. Or you have to create a camera every time from zero to change a stream type.
IR.GetImage
to obtain an image as an object. It allows you to refer to dynamic images created from scripts or in iRidium Studio, the usual way
Syntax
IR.GetImage(name);
name
|
"Camera 1"
|
type: string the name of the dynamic image (camera)
|
Object
|
[object ImagePrototype]
|
type: Object an instance of a graphic object (image)
|
Sample
IR.AddListener(IR.EVENT_START,0,function()
{
IR.CreateImage("Norway", {URI: "http://217.17.220.110:80/mjpg/video.mjpg",
Refresh: 0,
Demuxer: '',
ProbeSize: 0,
Param: '',
Audio: false,
ScaleWidth: 640,
ScaleHeight: 480
});
IR.CreateImage("Screen", {URI: "http://cf2.imgobject.com/t/p/original/l74Tss1TW5a9r6rDbkBYaPbNzcp.jpg",
Refresh: 60000,
Demuxer: '',
ProbeSize: 0,
Param: '',
Audio: false,
ScaleWidth: 800,
ScaleHeight: 600
});
var l_oImage = IR.GetImage("Norway");
IR.GetItem("Page 1").GetItem("Item 1").GetState(0).Image = l_oImage;
IR.GetItem("Page 1").GetItem("Item 2").GetState(0).Image = IR.GetImage("Screen");
});
if the camera has been created in Project Gallery (not in Script), you can link it to the item this way:
IR.GetItem("Page 1").GetItem("Item 1").GetState(0).Image = "Сamera from Gallery (name)"
IR.DeleteImage
It deletes a dynamic image created earlier with the help of IR.CreateImage method. If if is required to change a camera dynamically, this method can be used to delete a created oject and avoid increasing the load in teh app due to broadcasting two streams. Use this method before every camera change.
Syntax
IR.GetImage(name);
name
|
"Camera 1"
|
type: string name of dynamic image (camera)
|
Object
|
[object ImagePrototype]
|
type: Object graphic item (image)
|
Sample
IR.AddListener(IR.EVENT_ITEM_RELEASE,IR.GetPage("Page 1").GetItem("Item 2"),function()
{
IR.DeleteImage("Camera 1"); //delete old camera from the object
var l_oImage = IR.CreateImage("Camera 2", {URI: "rtsp://192.168.1.112/live/ch00_0",
Refresh: 0,
Demuxer: '',
ProbeSize: 0,
Param: '',
Audio: false,
ScaleWidth: 640,
ScaleHeight: 480
});
IR.Log("ID new camera = " + l_oImage.ID) // [object ImagePrototype]
IR.GetPage("Page 1").GetItem("Item 1").GetState(0).Image = l_oImage;
})
IR.Camera
to get video from the front or main camera of iOS, Android, Windows devices and display it on graphic items in the interface. To use the function, the camera must be activated with the help of the IR.Camera method with settings and assigned to a graphic item in the project
Syntax
IR.Camera(action, <type>, <resolution>)
action
|
IR.CAMERA_RECORD
|
type: object actions with video-streams:
- IR.CAMERA_RECORD - to get video (type and resolution are required)
- IR.CAMERA_STOP - to stop the video (without parameters)
- IR.CAMERA_TOGGLE - to switch from the front to the main camera and back (type and resolution are not required)
- IR.CAMERA_ROTATE - to rotate the image be the angle specified in the type field
- IR.CAMERA_FLIP_VERTICAL - to flip the image vertically (true/false in the type field)
- IR.CAMERA_FLIP_HORIZONTAL - to flip the image horizontally (true/false in the type field)
|
type
|
IR.CAMERA_FRONT
|
type: object for IR.CAMERA_RECORD:
- IR.CAMERA_BACK video from the main camera
- IR.CAMERA_FRONT video from the front camera
for IR.CAMERA_ROTATE - the angle of rotation in degrees
for IR.CAMERA_FLIP_VERTICAL and IR.CAMERA_FLIP_HORIZONTAL - true/false, depending on the need of the flip
|
resolution
|
IR.CAMERA_RESOLUTION_LOW
|
type: object indicate for IR.CAMERA_RECORD:
- IR.CAMERA_RESOLUTION_LOW - low resolution
- IR.CAMERA_RESOLUTION_MEDIUM - medium resolution
- IR.CAMERA_RESOLUTION_HIGH - high resolution
|
-
Sample
// link camera to GUI item
IR.GetPopup("Page 1").GetItem("Item 1").GetState(0).Image = "ir_camera://";
// start record
IR.Camera(IR.CAMERA_RECORD, IR.CAMERA_FRONT, IR.CAMERA_RESOLUTION_MEDIUM);
// stop record
IR.Camera(IR.CAMERA_STOP);
// toggle camera
IR.Camera(IR.CAMERA_TOGGLE);
// rotate to angle
IR.Camera(IR.CAMERA_ROTATE, 270);
// flip horizontal
IR.Camera(IR.CAMERA_FLIP_HORIZONTAL, true);
// flip vertical
IR.Camera(IR.CAMERA_FLIP_VERTICAL, true);
to output video from the device camera on a graphic item, write "ir_camera://"
in the graphic item property .Image
, as shown in the example above
if you are using the SIP protocol for sending and receiving SIP video, write the incoming video-stream as "sip_image://"
in the graphic item property .Image
. See more in SIP.