From 45c9b7e2259113a870c28a660df974a541b3cd17 Mon Sep 17 00:00:00 2001 From: Ganesh Gunasegaran Date: Thu, 16 Aug 2012 01:32:08 +0530 Subject: [PATCH] Added test rtmp publisher --- test/rtmp-publisher/README.md | 14 ++++ test/rtmp-publisher/RtmpPublisher.mxml | 108 +++++++++++++++++++++++++ test/rtmp-publisher/RtmpPublisher.swf | Bin 0 -> 46156 bytes test/rtmp-publisher/demo.html | 19 +++++ test/rtmp-publisher/swfobject.js | 4 + 5 files changed, 145 insertions(+) create mode 100644 test/rtmp-publisher/README.md create mode 100644 test/rtmp-publisher/RtmpPublisher.mxml create mode 100644 test/rtmp-publisher/RtmpPublisher.swf create mode 100644 test/rtmp-publisher/demo.html create mode 100644 test/rtmp-publisher/swfobject.js diff --git a/test/rtmp-publisher/README.md b/test/rtmp-publisher/README.md new file mode 100644 index 0000000..d0ff69d --- /dev/null +++ b/test/rtmp-publisher/README.md @@ -0,0 +1,14 @@ +# RTMP Publisher + +Simple RTMP publisher. + +Edit the following flashvars in demo.html to suite your needs. + +streamer: RTMP endpoint +file: live stream name + +## Compile + +Install flex sdk http://www.adobe.com/devnet/flex/flex-sdk-download.html + + mxmlc RtmpPublisher.mxml diff --git a/test/rtmp-publisher/RtmpPublisher.mxml b/test/rtmp-publisher/RtmpPublisher.mxml new file mode 100644 index 0000000..6d4f209 --- /dev/null +++ b/test/rtmp-publisher/RtmpPublisher.mxml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/test/rtmp-publisher/RtmpPublisher.swf b/test/rtmp-publisher/RtmpPublisher.swf new file mode 100644 index 0000000000000000000000000000000000000000..325a2337f5edca8a2cd76a7371bc28df48c86d0e GIT binary patch literal 46156 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 + + + RTMP Publisher + + + + +
+

Flash not installed

+
+ + diff --git a/test/rtmp-publisher/swfobject.js b/test/rtmp-publisher/swfobject.js new file mode 100644 index 0000000..8eafe9d --- /dev/null +++ b/test/rtmp-publisher/swfobject.js @@ -0,0 +1,4 @@ +/* SWFObject v2.2 + is released under the MIT License +*/ +var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y0){for(var af=0;af0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad'}}aa.outerHTML='"+af+"";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab