2006-09-05, 11:45
I like to suggest/request that someone aught to look into if it would be a good idea and benifitial to integrate the libnemesi library either into XBMC's "FileSystem" layer or directly into the main player cores (ei. DVDplayer and PAPlayer)? That way both DVDplayer and PAPlayer could utilize that library to stream from RTSP and RTP/RTCP (ie. internet audio/video streams, with SDP and authentication support). This would mean that XBMC no longer will have to play internet (or intranet) video and radio streams with MPlayer. libnemesi does also support Creative Commons licensing meta-data for audio/video streaming (via libCCstreaming which is part of libnemesi), but I assume that part would not be a priority to implement. I also guess that we will not be able to stream Real Networks RealAudio to PAPlayer as libnemsi does not yet support any of those codecs, and I'm not either sure if the libnemesi library support streaming from RDT (Real Data Transport streaming-protocol, which is the streaming protocol that Real Networks streams uses), libnemesi does however support streaming QuickTime.
More information:
libnemesi library (from the latest trunk in the SVN of the NeMeSI project) is a SDP, RTSP and RTP/RTCP Open Media Streaming Client Library. It is designed to "let you add multimedia streaming playback in your applications in a quick and straightforward way". The libnemesi library is derived from the matured experience their developed gained from NeMeSi, is fully compliant with IETF's standards for real-time streaming of multimedia contents over Internet. The libnemesi library is a streaming client that allows user to enjoy playback of multimedia files with low latency transport over IP-based networks). libnemesi (and NeMeSI) source code does contain example code and there are partially doxygenized headers (Doxygen code documentation), that hopefully that can help porting.
libnemesi supported protocols for reference (fully compliant with IETF standards):
* RTSP = Real-Time Streaming Protocol (RFC 2326)
* RTP/RTCP = Real-Time Transport Protocol/RTP Control Protocol (RFC 3550)
** RTP Profile for Audio and Video Conferences with Minimal Control (RFC3551)
* SDP = Session Description Protocol
* Clean API for controlling protocols (seek, play, pause)
The library provides two different API:
* High level: the simplest abstraction to get the demuxed streams out of a resource uri.
* Low level: provides access to all the rtp, rtcp, rtsp primitives in order to develop advanced applications.
http://live.polito.it/documentation/libnemesi
http://live.polito.it/documentation/libnemesi/internals
What do you guys think?, ...any volunteers?
More information:
libnemesi library (from the latest trunk in the SVN of the NeMeSI project) is a SDP, RTSP and RTP/RTCP Open Media Streaming Client Library. It is designed to "let you add multimedia streaming playback in your applications in a quick and straightforward way". The libnemesi library is derived from the matured experience their developed gained from NeMeSi, is fully compliant with IETF's standards for real-time streaming of multimedia contents over Internet. The libnemesi library is a streaming client that allows user to enjoy playback of multimedia files with low latency transport over IP-based networks). libnemesi (and NeMeSI) source code does contain example code and there are partially doxygenized headers (Doxygen code documentation), that hopefully that can help porting.
libnemesi supported protocols for reference (fully compliant with IETF standards):
* RTSP = Real-Time Streaming Protocol (RFC 2326)
* RTP/RTCP = Real-Time Transport Protocol/RTP Control Protocol (RFC 3550)
** RTP Profile for Audio and Video Conferences with Minimal Control (RFC3551)
* SDP = Session Description Protocol
* Clean API for controlling protocols (seek, play, pause)
The library provides two different API:
* High level: the simplest abstraction to get the demuxed streams out of a resource uri.
* Low level: provides access to all the rtp, rtcp, rtsp primitives in order to develop advanced applications.
http://live.polito.it/documentation/libnemesi
http://live.polito.it/documentation/libnemesi/internals
What do you guys think?, ...any volunteers?