!!! Beta –Beta –Beta –Beta –Beta –Beta –Beta !!!
What is this ?
It is a set ofDirectShow filtersthat allows you to performmedia-streamingon yourWindows PC:
- Morgan RTP Source Filter(to receive media content over a network).
- Morgan RTP Destination Filter(to send media content over a network).
DirectShowis a sub-system of MicrosoftDirectXdedicated to media content on Windows platforms. ADirectShow filteris asoftware component(a kind of Plug-in) that adds features to DirectShow. When you install a new DirectShow filter on your system,every applicationsbased on DirectShow (like Windows Media Player)can use it.
Morgan RTP DirectShow Filtersare usingRTP, RTCP, RTSP and SDPstandard Internet protocols.
Screenshots
Windows Media Player automatically uses the
Morgan RTP Source Filterto play media content
delivered by a streaming server.
Windows Media Player 6 can display network
statistics ofMorgan RTP Source Filter.
Morgan Streaming Serveruses theMorgan RTP Destination Filter
to deliver streaming media content over a network.
Morgan RTP Source Filter :
Graph using theMorgan RTP Source Filterto play a ‘JPEG’ mov file
streamed by aDarwin Streaming Server.
Output window of the above graph.
- Implements anRTSPclient.
- ReceivesRTPpackets from an RTP server.
- Supportsunicast,mulcicastandRTP over TCP.
- SupportsRTCPprotocol.
- Can parseSDPfiles describing a streaming session.
- Supports‘specific’ payload type (96,X-MS-DSHOW) of Morgan RTP Destination filter.
- SupportsMPEG 1 VideoRTP payload type.
- SupportsMPEG 1 AudioRTP payload type (includingMP3).
- Supportsa subset ofJPEGRTP payload type(*).
- Will support more RTP payload types likeJPEG2000.
(*)With "Q field > 127" (seeRFC 2435: "3.1.4. – Q: 8 bits") and "Quantization Table Length = 128".
Morgan RTP Destination Filter :
Graph created by Morgan Streaming Server showing
Morgan RTP Destination Filterstreaming a mj2 file.
- Implements anRTSPsession server.
- SendsRTPpackets to an RTP client.
- Supportsunicast,mulcicastandRTP over TCP.
- SupportsRTCPprotocol.
- Only supports a‘specific’RTP payload type(96,X-MS-DSHOW).
- Will supportsstandards RTP payload typeslikeMPEG,JPEGandJPEG2000.
Morgan Streaming Server :
Morgan Streaming Serverusing the Morgan RTP Destination Filter
to stream an mj2 file, window content describe the RTSP session.
- Implements anRTSPserver.UsesMorgan RTP Destination Filterto stream media content.
- Can streamany media formatsupported by DirectShowincludingMPEG,MP3,AVI,MOV,DivX, viaX-MS-DSHOWpayload type.
- DynamicallycompressuncompressedPCMaudio toMP3.
- Will supportliveaudio and videosourcesand willdynamically compressthem before sending.
Server side :
Installation
Downloadtheserver side (62K), unzip its content in an empty directory (C:\MMRTPServerfor instance) and run theinstall.batfile.
You candownloadasample clip too :
Sample clip (806K)
(QuickTime – hinted – mov – 320×240 – 15 fps – JPEG – PCM audio).These clips can be streamed by bothMorgan Streaming ServerandDarwin Streaming Serverand can be played (on client side) by Windows Media Player 6 usingMorgan RTP Source FilterandMorgan M-JPEG codec.
Content
Install.bat: Installation script.
RTPDest.ax: Morgan RTP Destination Filter.
MStrmSrv.exe: Morgan Streaming Server.
Usage
Copymedia files to be served in the same directory
(C:\MMRTPServerfor instance). It can beany media formatsupported by DirectShowincludingMPEG,MP3,AVI,MOV,DivX.
RunMorgan Streaming Server(MStrmSrv.exe).
Media files are ready to be served and streamed to the client side. Note thatRTSP serverimplemented in Morgan Streaming Server usesport 554.
Limitations
Current version only supports the ‘specific’RTP payload type(96,X-MS-DSHOW). Next versions will supportsstandards RTP payload typeslikeMPEG,JPEGandJPEG2000.
To streamMP3files withMorgan Streaming Serverthese files need to have a.mpgor.mpaextension,not .mp3…
Configuration (mss.ini)
[RTSP]
port=554
thread_priority=0
[Session]
multicast=0
mcast_addr=239.255.42.42
[RTP]
thread_priority=0
[RTCP]
thread_priority=0multicast can be 0 or 1 (multicast=0 means unicast)
thread_priority can be :
-15 (IDLE)
-2 (LOWEST)
-1 (BELOW_NORMAL)
0 (NORMAL)
1 (ABOVE_NORMAL)
2 (HIGHEST)
15 (TIME_CRITICAL)
Client side :
Installation
Downloadtheclient side (103K), unzip its content in an empty directory (C:\MMRTPClientfor instance) and run theinstall.batfile.
Content
Install.bat: Installation script.
RTPSource.ax: Morgan RTP Source Filter.
RTPSource.reg: Registry script.
Usage
- RunWindows Media Player 6(mplayer2.exe).
- Click onFilemenu, chooseOpen …
- Type the location of your media (something likertsp://www.morganmultimedia.com/m2.movorrtsp://192.168.0.1/m2.mov).
or
- Click onStartbutton.
- Click onRun.
- Type the "rtsp://…" location of your media.
or
- Double-click on anSDPfile (with .sdp extension).
Limitations
Current version supports Windows Media Player versions 7, 8 and 9 only ifstatisticsis set to0in[WMP]section ofMMRTPSrc.iniconfiguration file. If statistics is set to 1, then only WMP 6 is supported.
Configuration (MMRTPSrc.ini)
[FILTER]
data_available_timeout=2000
media_type_found_timeout=15000
buff_size=65536
nb_aud_buff=4
nb_vid_buff=32
thread_priority=0
[RTP]
over_tcp=0
thread_priority=0
[WMP]
statistics=0xxx_timeout are in milliseconds.
buff_size is in bytes.
thread_priority can be :
-15 (IDLE)
-2 (LOWEST)
-1 (BELOW_NORMAL)
0 (NORMAL)
1 (ABOVE_NORMAL)
2 (HIGHEST)
15 (TIME_CRITICAL)
Requirements:
Morgan RTP DirectShow Filters requires 32-bits Windows PC platform with support for DirectShow (now part of DirectX) :
Windows 98, Me, 2000, XP support DirectShow by default.
Windows 95 requires an extrainstallation.
Windows NT can poorly supportDirectShow(aka DirectX Media).
Morgan RTP DirectShow Filters have been compiled using DirectX 8.1 SDK but they should work with previous and future versions of DirectXruntime.
http://www.morgan-multimedia.com/RTP/
Source code:
Source code ofMorgan Streaming Serveris availablehere(505K).
Note that it contains a modified version ofliveMedialibrary.
You need MSVC++ 6andDirectX 8.x SDKinstalled on your computer to build it.
Morgan Streaming Serverprojectis :
\MSS_v1_0\RTP\src\MStrmSrv\MStrmSrv.dsw
RTP Destination FilterCOMInterface(IStreamingSession) is defined in :
\MSS_v1_0\RTP\src\RTPDest\iStrmSes.h
RTP Destination FilterGUIDis defined in :
\MSS_v1_0\RTP\src\RTPDest\RTPDestuids.h
All calls toIStreamingSession(RTP Destination Filter) are donebyCStreamingServerSession::onRTSPcmdin \MSS_v1_0\RTP\src\MStrmSrv\MStrmSrv.cpp
Note that source code of Morgan RTP Source and Destination filters is not publically available.
!!! Beta – Beta – Beta – Beta – Beta – Beta – Beta !!!