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
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Matterhorn mailing list [email protected] http://lists.opencastproject.org/mailman/listinfo/matterhorn To unsubscribe please email [email protected] _______________________________________________
