-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add section for JSON metadata over MQTT #157
Conversation
Change-Id: I521c11bc6f9f55741571c59ff5daa3e9b5ba04ad
- Add basic use-case. - Clarified topic structure. - Reformat topic definition in ABNF syntax. - Add example section with XML and JSON syntax. Change-Id: Ic381bc8325a550790e0124e0e1a91b4bd9e1f196
Change-Id: I59b609d9e22901f04dfd9207fb61b7e0ab2ce32e
Change-Id: I521c11bc6f9f55741571c59ff5daa3e9b5ba04ad
Change-Id: I59b609d9e22901f04dfd9207fb61b7e0ab2ce32e
Video/json meta over mqtt
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This extension belongs to chapter 5.1. Unfortunately 5.1 is badly placed in the service part while it has nothing to do with the service.
Propose a restructuring by moving section 5.1 to a new 6 and appending the MQTT related normative part as 6.3.
Suggest to use a different name for "Source" because the definition provided differs from the normal VideoSource or AudioSource. |
Update 2022/3/17
|
Can't approve this as more work to be done and PR outstanding since 17th Mar. Can this PR be updated for review please. |
1) Included JSON LD spec reference 2) Created a new section of JSON metadata (removed it as a subsection to service) 3) Accordingly all other sections are adjusted/auto-numbered.
Hi All, Sorry for getting back late, Here are the changes I pushed in the latest commit addressing earlier feedbacks, please review and let me know if this looks OK.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for re-arranging. You didn't grasp the idea that we wanted to have the scene description as a separate section 5 with the metadata as 5.4.
Since I cannot edit your fork I suggest to merge as is and then rearrange section 5.
<para>Concrete Topic Expression to select specific topics to publish, see section <xref linkend="_Ref210199558" />.</para> | ||
<para>If PublishFilter is empty, then device shall send all events but not metadata, for e.g. "MyDevice/onvif-ej//." <xref linkend="_Ref210199558" />.</para> | ||
<para>Concrete Topic Expression to select specific topics to publish, see section <xref linkend="_Ref210199558" />. Example TopicExpression: "tns1:VideoAnalytics//.|tns1:RuleEngine//."</para> | ||
<para>If PublishFilter is empty, then device shall send all events but not metadata, for e.g. "MyDevice/onvif-ej//." <xref linkend="_Ref210199558" />.</para> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Publish filter empty case is clear, but its not clear how we can set the publish filter for event and metadata topic. Here in example, its following the eventservice topic filter concept, do we have to use the full base topic "mydevice/onvif-ej/VideoAnalytics//.|mydevice/onvif-mj/VideoAnalytics" ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your example is what actually also some implementer tried for normal events and complained that it didn't work. I don't think that it is a good idea to mix MQTT topic expression with ONVIF topic expression.
Should we keep this as open issue or do we want to fix it before release?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In my opinion its better to fix this, since this is introduced by metadata topic addition.
If we want to follow the onvif event topic filter concept with PublishFilter, because of backward compatibility issues. one solution would be to add an additional MetaPublishFilter separately, that way we can handle both the filters separately.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Me and Fredrik agree with the suggestion to have a separate filter for events and metadata and I will push the changes as proposed below (changes will be reflected in analytics.xml, core.xml, event.wsdl)
PublishFilter: Empty (All events)
PublishFilter: Included (events matching the filter)
MetadataPublishFilter: Empty (All possible metadata depending on active sources)
MetadataPublishFilter: Included (metadata related to filter)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally agree. However MetadataPublishFilter empty sending everything seems to be wrong, because than it is always on.
Question: what is the filter syntax?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MetadataPublishFilter empty sending everything seems to be wrong, because than it is always on.
But the same can be switched off with MetadataConfiguration as that's basic for all these filters to apply, Isn't it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Think I got the all/nothing mechanism: When MetadataFilter is missing no metadata is sent and when it is present with empty string then everything is sent.
Only part missing is to describe the format which probably deviates from PublishFilter.
doc/Analytics.xml
Outdated
<programlisting>MyDevice/onvif-mj/VideoAnalytics/1/MyClassifier</programlisting> | ||
|
||
<para>Where "MyDevice" is the given TopicPrefix and "1" is the | ||
analytics configuration token. Shown below is how the sample metadata |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to the table above topic should have profile token.
"1" is the analytics configuration token ---> "1" is the profile token
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, yes its a typo.
Streamline section level of last three MQTT sections. Update chapter overview section.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I reviewed all files and including Hans Updates all looks ok.
No description provided.