Is there a provision for transporting large amounts of data or continuous data via opc-ua?
Specifically, it might be very useful to have cameras or microphones in embedded devices. It would be nice to get the data. It seems the current protocol is specially designed to transport "atomic" data types like ints, doubles, or even structs. But is there any way to transport streams of data? One client connection getting multiple types of data, including subscribed data and stream data, over the chosen security method would be useful.
I don't see any provision for this in the opc-ua spec, but am I missing something?
What is Unified Automation's suggestion for transporting stuff like video and audio?
Thanks, Steve
video audio and other bulk data transport
Moderator: Support Team
-
- Hero Member
- Posts: 73
- Joined: 08 Mar 2014, 01:13
- Support Team
- Hero Member
- Posts: 3072
- Joined: 18 Mar 2011, 15:09
Re: video audio and other bulk data transport
Hello Steve,
even though OPC UA was not designed to transport streams of data, we have customers that "subscribe" to a picture variable, and with a publish/sampling of 40ms you will get your video with 25 pictures/second, just because . But I agree that OPC UA was designed for industrial use case and the design and all techniques are targeted to ensure that none of the "atomic" data is lost.
For large data or bulk data the file transfer function was added in 1.02 specification, our C++ SDK already supports this feature.
In case of video and audio streaming the OPC UA working group is already discussing further extension to the UA specification in order to transport streams of data. However, today there is nothing finally specified, hence we all need to wait. If the OPC Foundation releases the final spec, we at Unified Automation will of course enhance our SDKs to support latest specification.
Best Regards
Support Team
even though OPC UA was not designed to transport streams of data, we have customers that "subscribe" to a picture variable, and with a publish/sampling of 40ms you will get your video with 25 pictures/second, just because . But I agree that OPC UA was designed for industrial use case and the design and all techniques are targeted to ensure that none of the "atomic" data is lost.
For large data or bulk data the file transfer function was added in 1.02 specification, our C++ SDK already supports this feature.
In case of video and audio streaming the OPC UA working group is already discussing further extension to the UA specification in order to transport streams of data. However, today there is nothing finally specified, hence we all need to wait. If the OPC Foundation releases the final spec, we at Unified Automation will of course enhance our SDKs to support latest specification.
Best Regards
Support Team
-
- Hero Member
- Posts: 73
- Joined: 08 Mar 2014, 01:13
Re: video audio and other bulk data transport
Does the C server support this? Is there an example of how to send a blob? Where in the spec is the discription?For large data or bulk data the file transfer function was added in 1.02 specification, our C++ SDK already supports this feature.
What I am interested in is bootstrapping a new server and other code for system upgrades, in the field.
- Support Team
- Hero Member
- Posts: 3072
- Joined: 18 Mar 2011, 15:09
Re: video audio and other bulk data transport
Hi,
The FileType is defined in OPC UA Part 5, version 1.02, Annex C, File Transfer.
It defines the ObjectType FileType with a few properties and the methods Open, Close, Read, Write, GetPosition and SetPosition for accessing a file. You can use FolderType and FileType to represent a file system.
The only SDK that supports FileType with a helper class at the moment is the C++ server SDK version 1.4. Support with helper code is planned for the other SDKs too but it would be possible already to implement the FileType in custom code.
Best Regards,
Unified Automation Support Team
The FileType is defined in OPC UA Part 5, version 1.02, Annex C, File Transfer.
It defines the ObjectType FileType with a few properties and the methods Open, Close, Read, Write, GetPosition and SetPosition for accessing a file. You can use FolderType and FileType to represent a file system.
The only SDK that supports FileType with a helper class at the moment is the C++ server SDK version 1.4. Support with helper code is planned for the other SDKs too but it would be possible already to implement the FileType in custom code.
Best Regards,
Unified Automation Support Team