分类: Javascript

  • 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);

       }
    }