home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
MediaPortal 1
Development
General Development (no feature request here!)
MERGING MediaPortal Url Source Splitter & IPTV Filter
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="KayDiefenthal" data-source="post: 1025137" data-attributes="member: 22825"><p>first rtsp by sat2ip Devices uses 554</p><p>the rtp can you Chose rtcp should be rtp +1 so is it describe in the spec</p><p>here a exsample of my Sat2Ip Library <a href="http://code.google.com/p/sat2ip/source/browse/Sat2Ip.Library/trunk/Sat2Ip.Library/Rtsp/RtspSession.cs" target="_blank">http://code.google.com/p/sat2ip/source/browse/Sat2Ip.Library/trunk/Sat2Ip.Library/Rtsp/RtspSession.cs</a></p><p> </p><p>[CODE]public bool Setup(string query)</p><p> </p><p> {</p><p> </p><p> var result = false;</p><p> </p><p> if ((_rtspSocket==null))</p><p> </p><p> {</p><p> </p><p> Connect();</p><p> </p><p> }</p><p> </p><p> var sb = new StringBuilder();</p><p> </p><p> if (string.IsNullOrEmpty(_rtspSessionId))</p><p> </p><p> {</p><p> </p><p> sb.AppendFormat("{0} ", "SETUP");</p><p> </p><p> sb.AppendFormat("rtsp://{0}:{1}/?{2} RTSP/1.0\r\n", RtspDevice.RtspServerAddress,RtspDevice.RtspServerPort, query);</p><p> </p><p> sb.AppendFormat("CSeq: {0}\r\n", (++_rtspSequenceNum).ToString(CultureInfo.InvariantCulture));</p><p> </p><p> sb.AppendFormat("Transport: RTP/AVP;unicast;client_port={0}-{1}\r\n\r\n", RtspDevice.RtpClientPort, RtspDevice.RtcpClientPort);</p><p> </p><p> }</p><p> </p><p> else</p><p> </p><p> {</p><p> </p><p> sb.AppendFormat("{0} ", "SETUP");</p><p> </p><p> sb.AppendFormat("rtsp://{0}:{1}/?{2} RTSP/1.0\r\n", RtspDevice.RtspServerAddress, RtspDevice.RtspServerPort, query);</p><p> </p><p> sb.AppendFormat("CSeq: {0}\r\n", (++_rtspSequenceNum).ToString(CultureInfo.InvariantCulture));</p><p> </p><p> sb.AppendFormat("Session: {0}\r\n", _rtspSessionId);</p><p> </p><p> sb.AppendFormat("Transport: RTP/AVP;unicast;client_port={0}-{1}\r\n\r\n", RtspDevice.RtpClientPort, RtspDevice.RtcpClientPort);</p><p> </p><p> }</p><p> </p><p> result = SendRequest(sb.ToString());</p><p> </p><p> result = GetResponse();</p><p> </p><p> var lineArray = Regex.Split(RtspResponse, @"[\r\n]+");</p><p> </p><p> foreach (var s in lineArray)</p><p> </p><p> {</p><p> </p><p> if(s.Contains("Date:"))</p><p> </p><p> {}</p><p> </p><p> if (s.Contains("Session:"))</p><p> </p><p> {</p><p> </p><p> var sessionline = s;</p><p> </p><p> if (string.IsNullOrEmpty(sessionline))</p><p> </p><p> {</p><p> </p><p> </p><p> </p><p> }</p><p> </p><p> var sessionlinevalues = sessionline.Split(';');</p><p> </p><p> var sessionvalues = sessionlinevalues[0].Split(':');</p><p> </p><p> _rtspSessionId = sessionvalues[1];</p><p> </p><p> if(sessionlinevalues.Length> 1)</p><p> </p><p> {</p><p> </p><p> var ttlvalues = sessionlinevalues[1].Split('=');</p><p> </p><p> _rtspSessionTimeToLive = int.Parse(ttlvalues[1]);</p><p> </p><p> }</p><p> </p><p> </p><p> </p><p> }</p><p> </p><p> if (s.Contains("Transport:"))</p><p> </p><p> {</p><p> </p><p> var transportline = s;</p><p> </p><p> if (string.IsNullOrEmpty(transportline))</p><p> </p><p> {</p><p> </p><p> </p><p> </p><p> }</p><p> </p><p> var transportvalues = transportline.Split(';');</p><p> </p><p> foreach (var transportvalue in transportvalues)</p><p> </p><p> {</p><p> </p><p> if (transportvalue.Contains("server_port"))</p><p> </p><p> {</p><p> </p><p> var serverportvalues = transportvalue.Substring(("server_port").Length)</p><p> </p><p> .Trim()</p><p> </p><p> .Split('=');</p><p> </p><p> </p><p> </p><p> var ports = serverportvalues[1].Split('-');</p><p> </p><p> ServerRtpPort = ports[0];</p><p> </p><p> ServerRtcpPort = ports[1];</p><p> </p><p> }</p><p> </p><p> if (transportvalue.Contains("destination"))</p><p> </p><p> {</p><p> </p><p> var destinationvalues = transportvalue.Substring(("destination").Length)</p><p> </p><p> .Trim()</p><p> </p><p> .Split('=');</p><p> </p><p> Destination = destinationvalues[1];</p><p> </p><p> }</p><p> </p><p> if (transportvalue.Contains("source"))</p><p> </p><p> {</p><p> </p><p> </p><p> </p><p> }</p><p> </p><p> }</p><p> </p><p> }</p><p> </p><p> if (s.Contains("com.ses.streamID:"))</p><p> </p><p> {</p><p> </p><p> RtspStreamId = s.Substring(("com.ses.streamID:").Length).Trim();</p><p> </p><p> }</p><p> </p><p> }</p><p> </p><p> </p><p> </p><p> return result;</p><p> </p><p> }</p><p> </p><p>[/CODE]</p><p> </p><p>PS dont add &fe or &fec attributes and values to query Digital Devices send than a Bad Request</p></blockquote><p></p>
[QUOTE="KayDiefenthal, post: 1025137, member: 22825"] first rtsp by sat2ip Devices uses 554 the rtp can you Chose rtcp should be rtp +1 so is it describe in the spec here a exsample of my Sat2Ip Library [url]http://code.google.com/p/sat2ip/source/browse/Sat2Ip.Library/trunk/Sat2Ip.Library/Rtsp/RtspSession.cs[/url] [CODE]public bool Setup(string query) { var result = false; if ((_rtspSocket==null)) { Connect(); } var sb = new StringBuilder(); if (string.IsNullOrEmpty(_rtspSessionId)) { sb.AppendFormat("{0} ", "SETUP"); sb.AppendFormat("rtsp://{0}:{1}/?{2} RTSP/1.0\r\n", RtspDevice.RtspServerAddress,RtspDevice.RtspServerPort, query); sb.AppendFormat("CSeq: {0}\r\n", (++_rtspSequenceNum).ToString(CultureInfo.InvariantCulture)); sb.AppendFormat("Transport: RTP/AVP;unicast;client_port={0}-{1}\r\n\r\n", RtspDevice.RtpClientPort, RtspDevice.RtcpClientPort); } else { sb.AppendFormat("{0} ", "SETUP"); sb.AppendFormat("rtsp://{0}:{1}/?{2} RTSP/1.0\r\n", RtspDevice.RtspServerAddress, RtspDevice.RtspServerPort, query); sb.AppendFormat("CSeq: {0}\r\n", (++_rtspSequenceNum).ToString(CultureInfo.InvariantCulture)); sb.AppendFormat("Session: {0}\r\n", _rtspSessionId); sb.AppendFormat("Transport: RTP/AVP;unicast;client_port={0}-{1}\r\n\r\n", RtspDevice.RtpClientPort, RtspDevice.RtcpClientPort); } result = SendRequest(sb.ToString()); result = GetResponse(); var lineArray = Regex.Split(RtspResponse, @"[\r\n]+"); foreach (var s in lineArray) { if(s.Contains("Date:")) {} if (s.Contains("Session:")) { var sessionline = s; if (string.IsNullOrEmpty(sessionline)) { } var sessionlinevalues = sessionline.Split(';'); var sessionvalues = sessionlinevalues[0].Split(':'); _rtspSessionId = sessionvalues[1]; if(sessionlinevalues.Length> 1) { var ttlvalues = sessionlinevalues[1].Split('='); _rtspSessionTimeToLive = int.Parse(ttlvalues[1]); } } if (s.Contains("Transport:")) { var transportline = s; if (string.IsNullOrEmpty(transportline)) { } var transportvalues = transportline.Split(';'); foreach (var transportvalue in transportvalues) { if (transportvalue.Contains("server_port")) { var serverportvalues = transportvalue.Substring(("server_port").Length) .Trim() .Split('='); var ports = serverportvalues[1].Split('-'); ServerRtpPort = ports[0]; ServerRtcpPort = ports[1]; } if (transportvalue.Contains("destination")) { var destinationvalues = transportvalue.Substring(("destination").Length) .Trim() .Split('='); Destination = destinationvalues[1]; } if (transportvalue.Contains("source")) { } } } if (s.Contains("com.ses.streamID:")) { RtspStreamId = s.Substring(("com.ses.streamID:").Length).Trim(); } } return result; } [/CODE] PS dont add &fe or &fec attributes and values to query Digital Devices send than a Bad Request [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
MediaPortal 1
Development
General Development (no feature request here!)
MERGING MediaPortal Url Source Splitter & IPTV Filter
Contact us
RSS
Top
Bottom