Skip to content

add capability to signal internal storage support#729

Merged
ocampana-videotec merged 3 commits intodevelopmentfrom
video/feature-add-NoInternalStorage
Apr 1, 2026
Merged

add capability to signal internal storage support#729
ocampana-videotec merged 3 commits intodevelopmentfrom
video/feature-add-NoInternalStorage

Conversation

@bsriramprasad
Copy link
Copy Markdown
Contributor

https://github.com/onvif/wg_profile_cloud/issues/141

Added capability to signal NoInternalStorage to be able to differentiate below products

  • Local-only recording
    • NoInternalStorage = false or absent, and SupportedTargetFormats absent/empty
  • Local + external recording
    • NoInternalStorage = false or absent, and SupportedTargetFormats contains ≥ 1 value
  • External-only recording
    • NoInternalStorage = true, and SupportedTargetFormats contains ≥ 1 value
  • Invalid / inconsistent reporting
    • NoInternalStorage = true, and SupportedTargetFormats absent/empty
      • A device shall not report this combination.

I have only added capability for now, we should discuss further if we need to add any error codes or additional clarifications to be able to support Profile G + V devices, Profile G only, Profile V only devices.

@bsriramprasad
Copy link
Copy Markdown
Contributor Author

bsriramprasad commented Feb 25, 2026

can't add more than 2 reviewers

@ocampana-videotec Is this how we we want for reviews going forward?

<varlistentry>
<term>NoInternalStorage</term>
<listitem>
<para>Indicates that the device does not support local storage recording.</para>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's worth explaining what that actually means a bit more here?

Suggested change
<para>Indicates that the device does not support local storage recording.</para>
<para>Indicates that the device does not support local storage recording and requires that an external Target be specified in its recordings</para>

Or something similar?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my understanding about Profile G is, ONVIF Client gets the Recording Control Service entry point by GetServices/
GetCapabilities command, once the Recording Control Service end point is available, client thinks device supports local recording. Old Profile G client does not know the "NoInternalStorage" flag added newly in the new device, since Recording Control Service End point is available(i.e we use same recording control service end point for external storage i.e cloud storage recording too), client thinks local recording is possible.

Copy link
Copy Markdown
Contributor Author

@bsriramprasad bsriramprasad Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@venki5685

once the Recording Control Service end point is available, client thinks device supports local recording.

This is purely as assumption and worked well in the world where there is no notion of external recording, but it is not scaling well in Profile G + V products and hence this flag/capability as flagged by DTT vendor in Profile-V tool development becomes a necessity.

In addition, Since this is an attribute - which is optional by default, it does not and should not affect any existing Profile G devices or clients, this is a flag that adds value for devices that are offering Profile-V on top of Profile-G to be able to test out local vs external storage recording.

Copy link
Copy Markdown
Contributor

@venki5685 venki5685 Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bsriramprasad , as per ONVIF_Recording_Control_Device_Test_Specification(https://www.onvif.org/wp-content/uploads/2021/06/ONVIF_Recording_Control_Device_Test_Specification_21.06.pdf), 5.2.6 START RECORDING ON MEDIA PROFILE,
Pre-Requisite: ONVIF Client gets the entry points for Recording Control Service and Media Service
by GetServices command. At least one media profile compatible with at least one existing or created
recording exists on the DUT. All recording jobs were stopped. Options are supported by the DUT.
Device supports Pull-Point Notification feature.

How this test performs from old Profile G Client with New ONVIF Device with flag NoInternalStorage set to true. I am mainly thinking backward compatibility for old Profile G clients. How old profile G clients get to know local recording is not supported when connect with new Profile V device with NoInternalStorage set to true .

Copy link
Copy Markdown
Contributor Author

@bsriramprasad bsriramprasad Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's worth explaining what that actually means a bit more here?

Or something similar?

@melanconj I agree with your intention in the comment, but the proposed text seems to mix configuration with capability.

I propose as below

Indicates that the device does not support local storage recording and requires that SupportedTargetFormats list shall contain atleast one of type tt:TargetFormat

Its also a bit unfortunate that the TargetFormat is linked to external recording, does that mean we cannot store/recording for e.g. MP4 on local storage? :-o

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can once #432 lands, so that isn't it.
Maybe my clarification needs to live closer to configuration time, like in SetRecordingConfiguration (and/or CreateRecording?)

Copy link
Copy Markdown
Contributor Author

@bsriramprasad bsriramprasad Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bsriramprasad , as per ONVIF_Recording_Control_Device_Test_Specification(https://www.onvif.org/wp-content/uploads/2021/06/ONVIF_Recording_Control_Device_Test_Specification_21.06.pdf), 5.2.6 START RECORDING ON MEDIA PROFILE, Pre-Requisite: ONVIF Client gets the entry points for Recording Control Service and Media Service by GetServices command. At least one media profile compatible with at least one existing or created recording exists on the DUT. All recording jobs were stopped. Options are supported by the DUT. Device supports Pull-Point Notification feature.

How this test performs from old Profile G Client with New ONVIF Device with flag NoInternalStorage set to true. I am mainly thinking backward compatibility for old Profile G clients. How old profile G clients get to know local recording is not supported when connect with new Profile V device with NoInternalStorage set to true .

You are looking at test specification that has NOT undergone changes based on the new flag we are proposing in the PR :-) We should wait for Maria to update this logic once the PR approved.

I would want to add 'Profile G-only clients are NOT expected to interoperate with Profile V-only devices. Older G clients typically ignore unknown capability elements"

@ocampana-videotec
Copy link
Copy Markdown
Collaborator

can't add more than 2 reviewers

@ocampana-videotec Is this how we we want for reviews going forward?

I did not change anything, thus it should work as always.

@bsriramprasad
Copy link
Copy Markdown
Contributor Author

can't add more than 2 reviewers
@ocampana-videotec Is this how we we want for reviews going forward?

I did not change anything, thus it should work as always.

@ocampana-videotec I remember we were allowed to add more reviewers and hence wondering, lets talk more F2F.

@ocampana-videotec
Copy link
Copy Markdown
Collaborator

can't add more than 2 reviewers
@ocampana-videotec Is this how we we want for reviews going forward?
I did not change anything, thus it should work as always.
@ocampana-videotec I remember we were allowed to add more reviewers and hence wondering, lets talk more F2F.

As I said, I did not change anything, it must work as always,

Having said that, since you need to move forward, I can add reviewers for you to this PR. Who do you want to add?

@kieran242
Copy link
Copy Markdown
Contributor

kieran242 commented Mar 30, 2026

I like the Idea of this extra flag to specify the difference to external storage vs SD storage. I feel it is needed. @bsriramprasad cloud connected cameras are not going to be exclusively only cloud they are just cameras with that added capability.

Copy link
Copy Markdown
Contributor

@kieran242 kieran242 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ocampana-videotec ocampana-videotec merged commit 03dd9be into development Apr 1, 2026
@ocampana-videotec ocampana-videotec deleted the video/feature-add-NoInternalStorage branch April 1, 2026 08:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants