Table of Contents

Neovid REST HTTP API

The Neovid app supports the REST interface for information management.

Storage Service

Receiving Media Asset List

A request to the media database for retrieving the list of media assets. The request returns an XML-document with short descriptions of media assets in the whole database or in a certain folder. Graphic templates have the mime_type field with the value “10”.

GET http://<IP_ADDR>:7901/storage/<NAME>[/<FOLDER>[/<FOLDER>...]][?format=val[&datetime=val...]]

An example of server response to a request to the media database in the StoredTree mode:

| response_storedtree_mediadb.xml
<StoredTree query_root="">
	<Folder name="">
		<Clip link_id="0" finalized="true">
			<Attr name="bps">16</Attr>
			<Attr name="channels">2</Attr>
			<Attr name="derived_from">CityViews2 HD</Attr>
			<Attr name="frame_time">0.0400000000</Attr>
			<Attr name="frames">3425</Attr>
			<Attr name="height">1080</Attr>
			<Attr name="orig_name">CityViews2 HD</Attr>
			<Attr name="orig_type">3</Attr>
			<Attr name="sample_rate">48000</Attr>
			<Attr name="width">1920</Attr>
			<Attr name="first_frame">0</Attr>
			<Attr name="last_frame">3425</Attr>
			<Attr name="title">CityViews3</Attr>
			<Attr name="create_time">2018-03-27T10:26:30</Attr>
			<Attr name="rec_time">2016-12-17T16:15:14</Attr>
		</Clip>
		<Clip link_id="3" finalized="true">
			<Attr name="bps">16</Attr>
			<Attr name="channels">2</Attr>
			<Attr name="derived_from">Hockey</Attr>
			<Attr name="frame_time">0.0400000000</Attr>
			<Attr name="frames">1501</Attr>
			<Attr name="height">1080</Attr>
			<Attr name="orig_name">Hockey</Attr>
			<Attr name="orig_type">3</Attr>
			<Attr name="sample_rate">48000</Attr>
			<Attr name="width">1920</Attr>
			<Attr name="first_frame">0</Attr>
			<Attr name="last_frame">1501</Attr>
			<Attr name="title">Hockey</Attr>
			<Attr name="create_time">2018-03-27T14:13:15</Attr>
			<Attr name="rec_time">2016-12-18T01:14:24</Attr>
		</Clip>
		<Folder name="New Folder"/>
		<Folder name="New Folder 1"/>
	</Folder>
</StoredTree>
</xml>

An example of server response to a request to the media database in the mam mode:

| response_mam_mediadb.xml
<mam>
	<asset>
		<id>CityViews3</id>
		<dir/>
		<length>00:02:17</length>
		<hires>
		$(video_path)/media/CityViews2_HD-NID0-3/CityViews2_HD.avi
		</hires>
		<proxy>
		$(video_path)/proxy/CityViews2_HD-NID0-19/CityViews2_HD_lrv.avi
		</proxy>
	</asset>
	<asset>
		<id>Hockey</id>
		<dir/>
		<length>00:01:00.04</length>
		<hires>$(video_path)/media/Hockey-NID3-51/Hockey.avi</hires>
	</asset>
</mam>

An example of server response to a request to the media database in the folderlist mode:

| response_folderlist_mediadb.xml
<StoredTree query_root="">
	<Folder name="">
		<Folder name="New Folder"/>
		<Folder name="New Folder 1"/>
	</Folder>
</StoredTree>

Retrieving Information on Asset

A request for receiving detailed information on the object (including names of parameters for graphic templates). The request returns an XML-document.

GET http://<IP_ADDR>:7901/storage/<NAME>@<TITLE>

An example of server response to a request to the media database for retrieving detailed information on an object:

| response_asset_mediadb.xml
<Clip folder="" hires="$(video_path)/media/CityViews2_HD-NID0-3/CityViews2_HD.avi" proxy="$(video_path)/proxy/CityViews2_HD-NID0-19/CityViews2_HD_lrv.avi" archive="" link_id="0" finalized="true">
	<Attr name="bps">16</Attr>
	<Attr name="channels">2</Attr>
	<Attr name="derived_from">CityViews2 HD</Attr>
	<Attr name="frame_time">0.0400000000</Attr>
	<Attr name="frames">3425</Attr>
	<Attr name="height">1080</Attr>
	<Attr name="orig_name">CityViews2 HD</Attr>
	<Attr name="orig_type">3</Attr>
	<Attr name="sample_rate">48000</Attr>
	<Attr name="width">1920</Attr>
	<Attr name="first_frame">0</Attr>
	<Attr name="last_frame">3425</Attr>
	<Attr name="title">CityViews3</Attr>
	<Attr name="create_time">2018-03-27T10:26:30</Attr>
	<Attr name="rec_time">2016-12-17T16:15:14</Attr>
</Clip>

Receiving WebProxy

The request returns media data (MP4 or HLS).

GET http://<IP_ADDR>:7901/storage/<NAME>@<TITLE>/<WPN>

Receiving clip XMP metadata

GET http://<IP_ADDR>:7901/storage/<NAME>@<TITLE>/GETUSERFIELDS

Asset Deletion

DELETE http://<IP_ADDR>:7901/storage/<NAME>@<TITLE>

Loading XMP Metadata

The detailed description of the function of XMP metadata batch load to MAM through Metadata Connectors. Added in the 2.0.60 version.

PUT http://<IP_ADDR>:7901/storage/<NAME>?connector=<CONNECTOR_NAME>

Actions with Assets

POST http://<IP_ADDR>:7901/storage/<NAME>@<TITLE>?command=<COMMAND_NAME>[&param=val...]

Generation of PNG Thumbnail for Asset

A request for retrieving a PNG thumbnail of the media asset (including parameterized graphic templates) for any specified frame. The request returns a PNG image. Added in the 2.3.63 version.

GET http://<IP_ADDR>:7901/storage/<NAME>@<TITLE>/GETICON[?[pos=FRM][&dur=FRM][&w=PX][&h=PX][&param=NAME:VAL[&param=NAME:VAL]]]

RSS Feeder Service

GET http://<IP_ADDR>:7901/rss/<NAME>
PUT http://<IP_ADDR>:7901/rss/<NAME>/<FNAME>
DELETE http://<IP_ADDR>:7901/rss/<NAME>?guid=<GUID>

GPI Service

A request for retrieving the latest GPI event. The request returns an XML-document.

GET http://<IP_ADDR>:7901/gpi?module_id=<N>

Parameters description:

An example of a request to the server:

http://localhost:7901/gpi?module_id=2

An example of the server response for the GPI Board System/HotKey service:

| response_gpi.xml
<GPI ReceivedTime="2018-03-28T14:00:42.904">
	<Attr name="last_key">Alt+F1</Attr>
</GPI>

Program Channel

A request for retrieving the latest GPI event. The request returns an XML-document.

POST http://<IP_ADDR>:7901/pgm?channel=<N>&command=<cmd>

Parameters description:

AsRun

A request for retrieving a report on executed broadcast events (the log AsRun). The request returns an XML-document.

GET http://<IP_ADDR>:7901/as_run?module_id=<N>[&max_count=M][&datetime=YYYY-MM-DDTHH:MM:SS]

Parameters description:

An example of a request to the server:

http://localhost:7901/as_run?module_id=1&max_count=3&datetime=2018-03-28T13:29:00

An example of server response:

| response_asrun.xml
<AsRun request_time="2018-03-28T13:30:38.839">
	<BroadCasted_Clip uri="CityViews2 HD">
		<Attr name="title">CityViews2 HD</Attr>
		<Attr name="start_time">2018-03-28T13:29:04.560</Attr>
		<Attr name="end_time">2018-03-28T13:29:57.160</Attr>
		<Attr name="duration">00:00:52:15</Attr>
		<Attr name="onair"/>
	</BroadCasted_Clip>
	<BroadCasted_Clip uri="Robots 1">
		<Attr name="title">Robots 1</Attr>
		<Attr name="start_time">2018-03-28T13:29:57.160</Attr>
		<Attr name="end_time">2018-03-28T13:30:24.160</Attr>
		<Attr name="duration">00:00:27:00</Attr>
		<Attr name="onair"/>
	</BroadCasted_Clip>
	<BroadCasted_Clip uri="Robots 2">
		<Attr name="title">Robots 2</Attr>
		<Attr name="start_time">2018-03-28T13:30:24.160</Attr>
		<Attr name="end_time">2018-03-28T13:30:36.120</Attr>
		<Attr name="duration">00:00:11:24</Attr>
		<Attr name="onair"/>
	</BroadCasted_Clip>
</AsRun>

Recorder service

Requests to control the recording service. Added in version 2.5.61.

Status request

GET http: // <IP_ADDR>: 7901 / recorder? Module_id = <N>

Parameters description:

Selecting a recording profile

POST http: // <IP_ADDR>: 7901 / recorder? Module_id = <N> & command = set_profile & profile = <NAME>

Parameters description:

Start recording

POST http: // <IP_ADDR>: 7901 / recorder? Module_id = <N> & command = rec_start [& title = <TITLE>] [& folder = <FOLDER> |.]

Parameters description:

Stop recording

POST http: // <IP_ADDR>: 7901 / recorder? Module_id = <N> & command = rec_stop

Parameters description:

Returned XML fields:

Insert a marker to the current recording position

POST http://<IP_ADDR>:7901/recorder?module_id=<N>&command=append_marker[&title=<TITLE>][&comment=<COMMENT>][&track=<TRACK>][&keywords=<KEYWORDS>][&time_pos=<LOCAL_TIME>]

Parameters description: