Real Time Stereoscopic Streaming

Conclusions & References

Conclusion

This project has been more than interesting on many points of view: First, on a technical point of view, I had to work under Linux, to deal with drivers, to learn how to write a windowed application using GTK+, then under windows I had to write 6-7 applications, from a RTP simple dumping app. to the complex receiving application, so I got familiar with MFC, Win32 and Win32 Dll programming.
Since I wanted to use shaders, I had to learn HLSL, to brush up my skills about Direct3D, and to dive deep into COM and the Media system of Windows. I also learnt a lot about networking, things like modifying an IP header, or implementing a protocol are lit with a new light for me.

On the linguistic point of view, I of course improved my Japanese, but I still need a lot of practice if I ever want to participate to a normal conversation. On the other hand I could also brush up my English: movies are only in original version, and it is quite hard to find French books here. In addition, the working language was English.

Considering the human side of this internship, I could find help from everyone, even not speaking English very well. It was really interesting to work with people having a completely different cultural reference.

Lexicon

RTP (Real-Time Transmission Protocol):
The Internet-standard protocol for the transport of real-time data, including audio and video.

RTCP (Real Time Transmission Controlled Protocol):
RTP based protocol providing a bit more controls on the transmission.

UDP (User Datagram Protocol):
A connection-less, unreliable, transport protocol that provides multiplexing and error detection for applications, which require a low-cost protocol for one-shot transactions

TCP (Transmission Control Protocol):
Internet networking software that controls the transmission of packets of data over the Internet. Among its tasks, TCP checks for lost packets, puts the data from multiple packets into the correct order, and requests that missing or damaged packets be resent.

DirectShow Filters:
Components very similar to ActiveX, i.e. ATL COM Dlls. They compose any media graph.

Codec:
Set of direct show filters, which allow encoding or decoding a media.

DLL:
Dynamic Linked Library. Software functions or objects that are stored in a library linked with the main application only at run-time

GUID: Global Unique ID.
Unique identifier for every Windows component or sub-component.

MFC: Microsoft Foundation Classes.
Base classes used for writing Windows applications

Bibliography

– Microsoft Developers Network (MSDN) (http://msdn.microsoft.com/)
– RFC 3550 & RFC 1889 (RTP definition)
– “IP Telephony with H323”, by V.Kumar, M.Korpi and S.Sengodan, edition Wiley, published in 2001.
– Experts exchange (www.experts-exchange.com)

Software used
– [MS Visual Studio->http://www.amazon.fr/gp/product/B000BV8A2S?ie=UTF8&tag=raphgrua-21&linkCode=as2&camp=1642&creative=6746&creativeASIN=B000BV8A2S]
– GraphEdit
– EffectEdit
– Kwrite
– Gcc

Applications developed
– A simple web server, able to run servlet-like modules.
– A DV player for Linux
– A lot of tutorials like a 3D video mapper or a RTP analyzer.
– The stream sender
– The stream receiver
– The RTP sending/receiving codec.


Leave a Reply

Your email address will not be published. Required fields are marked *