crtmpserver convert rtsp streaming to rtmp streaming

Rtsp Broadcasting: 

Braodcast from android handset with the help of Rtsp Server from VXG (Google player)

IP: 172.24.1.168              Port: 5540

Resolution: 720X480

Bitrate:  Video=1000 kpbs,  Audio=64 kpbs

URL = rtsp://172.24.1.168:5540/ch0

 

Streaming Server:

Debian 8 with crtmpserver v1.1c

IP = 172.24.1.69

Enable RTSP source by add following definition in the externalStreams section of crtmpserver.lua:

externalStreams ={

   {
     uri=”rtsp://172.24.1.168:5540/ch0″,
     localStreamName=”rtsp”,
     forceTcp=true,
     keepAlive=true
     },

  }

 

Verify RTMP on Workstation :

ffplay rtmp://172.24.1.69/live/rtsp

 

 

Support rtmp and rtsp same time from crtmpserver

Enable rtsp inbound in accept section of config file:

acceptors =
{
    {
    ip=”0.0.0.0″,
    port=6666,
    protocol=”inboundLiveFlv”,
    waitForMetadata=true,
   },
   {
   ip=”0.0.0.0″,
   port=9999,
   protocol=”inboundTcpTs”
   },

  {
   ip=”0.0.0.0″,
   port=5544,
   protocol=”inboundRtsp”
   },

}

Verify RTSP on Workstation :

ffplay rtsp://172.24.1.69:5544/rtsp

 

 

WPAC file for windows 10

Using socks instead of socket in windows 10,

cat wpad.us:

function FindProxyForURL(url, host)
{
if (isInNet(host, “172.16.0.0”, “255.240.0.0”)||
isInNet(host, “192.168.0.0”, “255.255.0.0”)||
isInNet(host, “10.0.0.0”,”255.0.0.0″)||
isInNet(host, “127.0.0.0”,”255.0.0.0″)||
isInNet(host, “comforthost.net”,”255.255.255.255″)||
isInNet(host, “www.comforthost.net”,”255.255.255.255″)||
isInNet(host, “panel.comforthost.net”,”255.255.255.255″)||
dnsDomainIs(host, “.cn”)||
dnsDomainIs(host, “.jd.com”)||
dnsDomainIs(host, “.baidu.com”)||
dnsDomainIs(host, “.taobao.com”)||
dnsDomainIs(host, “.tmall.com”)||
dnsDomainIs(host, “.springtour.com”))
{ return “DIRECT“; }
if ( isInNet(host,”60.254.128.0”, “255.255.192.0”)||
isInNet(host,”103.246.248.0″, “255.255.255.0”)||
isInNet(host,”113.29.0.0″, “255.255.128.0”)||
isInNet(host,”117.74.96.0″, “255.255.240.0”)||
isInNet(host,”171.16.0.0″, “255.240.0.0”)||
isInNet(host,”171.32.0.0″, “255.254.0.0”)||
isInNet(host,”171.64.0.0″, “255.240.0.0”)||
isInNet(host,”202.2.96.0″, “255.255.224.0”)||
isInNet(host,”202.72.96.0″, “255.255.224.0”)||
isInNet(host,”203.31.234.0″, “255.255.255.0”)||
isInNet(host,”203.144.48.0″, “255.255.240.0”)||
isInNet(host,”203.187.128.0″, “255.255.224.0”)||
isInNet(host,”216.0.0.0″, “254.0.0.0”)
)
{ return “SOCKS 127.0.0.1: 1080″; }
if ( isInNet(host,”1.0.0.0″, “255.0.0.0”)||
isInNet(host,”14.0.0.0″, “255.0.0.0”)||
isInNet(host,”27.0.0.0″, “255.0.0.0”)||
isInNet(host,”36.0.0.0″, “255.0.0.0”)||
isInNet(host,”39.0.0.0″, “255.0.0.0”)||
isInNet(host,”42.0.0.0″, “254.0.0.0”)||
isInNet(host,”45.64.112.0″, “255.255.254.0”)||
isInNet(host,”49.0.0.0″, “255.0.0.0”)||
isInNet(host,”54.222.0.0″, “255.254.0.0”)||
isInNet(host,”58.0.0.0″, “254.0.0.0”)||
isInNet(host,”60.0.0.0″, “254.0.0.0”)||
isInNet(host,”91.234.36.0″, “255.255.255.0”)||
isInNet(host,”101.0.0.0″, “255.0.0.0”)||
isInNet(host,”103.0.0.0″, “255.0.0.0”)||
isInNet(host,”106.0.0.0″, “255.0.0.0”)||
isInNet(host,”110.0.0.0″, “254.0.0.0”)||
isInNet(host,”112.0.0.0″, “240.0.0.0”)||
isInNet(host,”139.9.0.0″, “255.255.0.0”)||
isInNet(host,”139.129.0.0″, “255.255.0.0”)||
isInNet(host,”139.148.0.0″, “255.255.0.0”)||
isInNet(host,”139.155.0.0″, “255.255.0.0”)||
isInNet(host,”139.159.0.0″, “255.255.0.0”)||
isInNet(host,”139.170.0.0″, “255.255.0.0”)||
isInNet(host,”139.176.0.0″, “255.255.0.0”)||
isInNet(host,”139.183.0.0″, “255.255.0.0”)||
isInNet(host,”139.186.0.0″, “255.255.0.0”)||
isInNet(host,”139.189.0.0″, “255.255.0.0”)||
isInNet(host,”139.192.0.0″, “255.240.0.0”)||
isInNet(host,”139.208.0.0″, “255.248.0.0”)||
isInNet(host,”139.216.0.0″, “255.252.0.0”)||
isInNet(host,”139.220.0.0″, “255.254.0.0”)||
isInNet(host,”139.224.0.0″, “255.255.0.0”)||
isInNet(host,”139.226.0.0″, “255.254.0.0”)||
isInNet(host,”140.75.0.0″, “255.255.0.0”)||
isInNet(host,”140.143.0.0″, “255.255.0.0”)||
isInNet(host,”140.205.0.0″, “255.255.0.0”)||
isInNet(host,”140.206.0.0″, “255.254.0.0”)||
isInNet(host,”140.210.0.0″, “255.255.0.0”)||
isInNet(host,”140.224.0.0″, “255.255.0.0”)||
isInNet(host,”140.237.0.0″, “255.255.0.0”)||
isInNet(host,”140.240.0.0″, “255.255.0.0”)||
isInNet(host,”140.243.0.0″, “255.255.0.0”)||
isInNet(host,”140.246.0.0″, “255.255.0.0”)||
isInNet(host,”140.249.0.0″, “255.255.0.0”)||
isInNet(host,”140.250.0.0″, “255.255.0.0”)||
isInNet(host,”140.255.0.0″, “255.255.0.0”)||
isInNet(host,”144.0.0.0″, “255.254.0.0”)||
isInNet(host,”144.7.0.0″, “255.255.0.0”)||
isInNet(host,”144.12.0.0″, “255.255.0.0”)||
isInNet(host,”144.52.0.0″, “255.255.0.0”)||
isInNet(host,”144.123.0.0″, “255.255.0.0”)||
isInNet(host,”144.255.0.0″, “255.255.0.0”)||
isInNet(host,”150.0.0.0″, “255.255.0.0”)||
isInNet(host,”150.115.0.0″, “255.255.0.0”)||
isInNet(host,”150.121.0.0″, “255.255.0.0”)||
isInNet(host,”150.122.0.0″, “255.255.0.0”)||
isInNet(host,”150.129.0.0″, “255.255.0.0”)||
isInNet(host,”150.138.0.0″, “255.254.0.0”)||
isInNet(host,”150.223.0.0″, “255.255.0.0”)||
isInNet(host,”150.242.0.0″, “255.255.0.0”)||
isInNet(host,”150.255.0.0″, “255.255.0.0”)||
isInNet(host,”152.104.128.0″, “255.255.128.0”)||
isInNet(host,”153.0.0.0″, “255.255.0.0”)||
isInNet(host,”153.3.0.0″, “255.255.0.0”)||
isInNet(host,”153.34.0.0″, “255.254.0.0”)||
isInNet(host,”153.36.0.0″, “255.254.0.0”)||
isInNet(host,”153.99.0.0″, “255.255.0.0”)||
isInNet(host,”153.101.0.0″, “255.255.0.0”)||
isInNet(host,”153.118.0.0″, “255.254.0.0”)||
isInNet(host,”157.0.0.0″, “255.255.0.0”)||
isInNet(host,”157.18.0.0″, “255.255.0.0”)||
isInNet(host,”157.61.0.0″, “255.255.0.0”)||
isInNet(host,”157.122.0.0″, “255.255.0.0”)||
isInNet(host,”157.148.0.0″, “255.255.0.0”)||
isInNet(host,”157.156.0.0″, “255.255.0.0”)||
isInNet(host,”157.255.0.0″, “255.255.0.0”)||
isInNet(host,”159.226.0.0″, “255.255.0.0”)||
isInNet(host,”161.207.0.0″, “255.255.0.0”)||
isInNet(host,”162.105.0.0″, “255.255.0.0”)||
isInNet(host,”163.0.0.0″, “255.255.0.0”)||
isInNet(host,”163.47.4.0″, “255.255.252.0”)||
isInNet(host,”163.48.0.0″, “255.248.0.0”)||
isInNet(host,”163.125.0.0″, “255.255.0.0”)||
isInNet(host,”163.142.0.0″, “255.255.0.0”)||
isInNet(host,”163.177.0.0″, “255.255.0.0”)||
isInNet(host,”163.179.0.0″, “255.255.0.0”)||
isInNet(host,”163.204.0.0″, “255.255.0.0”)||
isInNet(host,”166.111.0.0″, “255.255.0.0”)||
isInNet(host,”167.139.0.0″, “255.255.0.0”)||
isInNet(host,”167.189.0.0″, “255.255.0.0”)||
isInNet(host,”168.160.0.0″, “255.255.0.0”)||
isInNet(host,”171.0.0.0″, “255.128.0.0”)||
isInNet(host,”171.208.0.0″, “255.240.0.0”)||
isInNet(host,”175.0.0.0″, “255.0.0.0”)||
isInNet(host,”180.0.0.0″, “255.0.0.0”)||
isInNet(host,”182.0.0.0″, “254.0.0.0”)||
isInNet(host,”192.124.154.0″, “255.255.255.0”)||
isInNet(host,”192.188.170.0″, “255.255.254.0”)||
isInNet(host,”192.188.172.0″, “255.255.255.0”)||
isInNet(host,”202.0.0.0″, “254.0.0.0”)||
isInNet(host,”210.0.0.0″, “254.0.0.0”)||
isInNet(host,”216.0.0.0″, “248.0.0.0”)||
isPlainHostName(host)
)
{ return “DIRECT“; }
return “SOCKS 127.0.0.1: 1080″
}

 

Custome Meta Data Sorting in Alfresco 3.4e

Add the following code To sort the Custom Meta Data:

source file:

tomcat/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/rmsearch/rmsearch.get.js

code:

 

function sortTitle(k,j){var m=k.title.toLowerCase(),l=j.title.toLowerCase();return(m>l)?1:(m<l)?-1:0}
 
function retrieveMetadataForElement(conn, meta, el)
{
   var res = conn.get(“/api/rma/admin/custompropertydefinitions?element=” + el);
   if (res.status == 200)
   {
      var props = eval(‘(‘ + res + ‘)’).data.customProperties;
 
      for (var id in props)
       {
         var prop = props[id];
           meta.push(
            {
             name: id,
             title: prop.label,
             dataType: prop.dataType
             }
            );
      }

    // sort data before display
   meta.sort(sortTitle);

   }
}