It's been 7-8 years since we touched the DLNA protocol.
The earliest contact with DLNA was in 2007, for P company to do DLNA program, thick 1000 multi-page protocol all looked over. Then is the contact N Company provides mobile version of DLNA DMC implementation.
In recent years, s company's DLNA implementation and B Company's implementation.
These companies are big companies, it is interesting that they do not have to search online Libupnp,ushare,minidlna, all of their own built a wheel.
This may also be related to the big company's deep pockets, and it is interesting to note that they are all implemented in C language.
Many people on the Internet said C + + is the boss of streaming media, as far as my personal work experience, the stream media field is not exactly where C + +, the core code is occupied by C.
The DLNA protocol can be broadly divided into 3 tiers
First layer for device discovery layer based on UPnP
The second layer of service discovery layer, mainly soap, this and webservice is actually similar.
The third layer is streaming media service, the Transfer Protocol is HTTP1.1, RTP has been studied rarely in practice, then the media format and profile definition.
In the actual project, the main work focuses on the following 2 areas:
1> Device Discovery Debugging requires developers to be familiar with network capture and SSDP
2> Media Format mime and Demux, various playback issues investigated
Personally, the feeling of DLNA is currently the biggest problem is limited bandwidth, how to support multiple devices simultaneously 1080P playback.
How it blends with cloud servers.
Some of DLNA's experiences