On 11-09-19 04:18 AM, Pawel Fic wrote:
> Hi Greg. 
> 
> I have few problems regarding "/agents/{name}/configuration". One major, and 
> few minor problems. With minor problems I will be very specific, to save 
> your/our time. With major I cannot be so specific :-)
> I will start with Major, but please read both before answering. 
> Here I go:
> 
> 
> Major: 
> -----------
> What are agent's capabilities for? How are they used in the system. To be as 
> specific as possible, I will stick to my story:
>  - my agent has capability of capturing video in high and low quality. I 
> would like to expose this capability to the server, and allow the user to 
> scheduler a low/high quality session. 
> Is capabilities right place to implement it? 
> If to - then how? If now - then what are they ? What parts of 
> code/functionality are using capabilities.

Replying here since this message came pre-move.

The agents' capabilities/configuration are used by the admin UI to
present the user with a list of devices the agent can capture from.  For
instance, the demo CA has three MOCK_* devices.  If you want to present
the option of capturing both high and low you could list each mode as a
separate input, but there is no way of expressing an XOR condition in
the UI:  You could have users selecting both high and low quality and
your agent would have to know what to do with that.

The only parts using the capabilities are the CA and the scheduling UI,
so it's pretty freeform.  The documentation is in the CA's config file,
but I'll dump it here just in case:

# To make a new input device available to the capture agent you must
assign it
# a unique name (without whitespace or punctuation) that will show up in the
# administrative user interface.  For instance, the following lines will
make a
# device called "audience_camera" available in the administrative interface:
#     capture.device.names=audience_camera
#     capture.device.audience_camera.src=/dev/video0
#     capture.device.audience_camera.outputfile=audience.mpg
#     capture.device.audience_camera.flavor=presentation/source
#
# Codecs, containers, and bitrates for devices can be specified as follows:
#     capture.device.audience_camera.codec=ffenc_mpeg2video
#     capture.device.audience_camera.codec.bitrate=2048
#     capture.device.audience_camera.container=mpegtsmux

If I were you, I would create an input for each device+quality pair.  so
capture.device.input1qualitylow.*, capture.device.input1qualityhigh.*,
etc.  Then in your CA's implementation you'll need to look for the
various input types and parse those out to figure out which
device+quality pairs you need to capture from.  NB:  Most of those keys
are optional, the minimum configuration data you can send is the
capture.device.names key, which is what actually controls the devices
listed in the UI.  It *will not* work without that key, and everything
else is optional.  The idea behind all that other information is that it
can be shown in the admin UI, and (eventually) set by the user when they
are scheduling an event.  If you device does not present a way to do
that then it would make sense to leave the information out.

The ideal thing would be to have a single capture.device.input1 and then
present the user with a way to select the quality, but the admin UI just
isn't there yet :)

G

> 
> 
> 
> 
> Minor no. 1:
> -----------------
> To be as specific as possible. 

This was answered already elsewhere in this thread :)

G

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Matterhorn mailing list
[email protected]
http://lists.opencastproject.org/mailman/listinfo/matterhorn


To unsubscribe please email
[email protected]
_______________________________________________

Reply via email to