We implement a system that transmits MP4 video files over a network using DDS (Data Distribution Service). Overall, the system works by having the sender and receiver send and receive video data in chunks and reassemble them.
I want to change the qos settings in the program, and I wonder which qos settings are suitable for the program and can shorten the time
Attachment | Size |
---|---|
qos_profiles.zip | 3.04 KB |
Hello!
In general I believe you will need to use something like the "BuiltinQosLibExp::Generic.StrictReliable.HighThroughput" profile (you can find an example on how to set this here). Now, I am recommending this assuming you need to send the files as fast as possible, but not in real time (this is not a streaming of video). If I am assuming incorrectly, let me know.
Another thing to consider is the chunk size, is this something you have evaluated already? In general the bigger the better, but depending on your network and the devices you will use, it might make sense to avoid IP fragmentation (chunks of less than the minimum MTU of your whole system). It might also make sense not having to fragment the DDS packets (size of the whole packet < max_message_size, which is aproximately 64k, the maximum size of an UDPv4 packet).
I would recommend you to try with a value for the chunks below your MTU (which will be likely either 1400 or 9k) and then a value around 63K (below the max_message_size), and decide which one offers you a higher throughput (less time to send the packets).
Regards,
Javi
The file size is 1.5GB and it is simply a way to transfer an mp4 file using the pub sub method. It is not real-time communication.