چگونه بطور مستقیم کلیپ دنلود کنیم

bishtar

Member
شاید زیاد با سایتهای نمایش کلیپ مشابه youtube.com برخورد کرده باشید و با دیدن یک کلیپ هوس دنلود آن به سرتان زده باشد. برای سایتهای رسانه ای معروف مثل youtube نرم افزار های مختلفی جهت دریافت کلیپ وجود دارد ولی برای سایت /www.mydamnchannel.com خیر پس بهترین راه استفاده از خود سایت برای بدست آوردن لینک مستقیم کلیپ می باشد.

خب مراحل کار بصورت ساده به قرار زیر هست :
لینک مستقیم کلیک را بوسیله بروزر باز می کنیم و بعد فایل swf بدست آمده را ذخیره می کنیم.
بوسیله یک swf decompiler فایل مذکور را باز می کنیم داریم:

// Action script...

// [onClipEvent of sprite 99 in frame 1]
on (release)
{
this._alpha = 0;
this._visible = 0;
_root.determinePlayMethod();
}

// [onClipEvent of sprite 99 in frame 1]
on (rollOver)
{
this.videoplay_btn.gotoAndStop(2);
}

// [onClipEvent of sprite 99 in frame 1]
on (rollOut)
{
this.videoplay_btn.gotoAndStop(1);
}

// [Action in Frame 1]
stop ();

function loadFlashXML(loaded)
{
if (loaded)
{
var _loc3 = this;
_root.totalFlashElements = _loc3.firstChild.childNodes.length;
_root.flashObj = new Object();
_root.flashObj.flv = _loc3.firstChild.childNodes[0].childNodes[0].firstChild.nodeValue;
_root.flashObj.title = _loc3.firstChild.childNodes[0].childNodes[1].firstChild.nodeValue;
_root.flashObj.subtitle = _loc3.firstChild.childNodes[0].childNodes[2].firstChild.nodeValue;
_root.flashObj.description = _loc3.firstChild.childNodes[0].childNodes[3].firstChild.nodeValue;
_root.flashObj.keywords = _loc3.firstChild.childNodes[0].childNodes[4].firstChild.nodeValue;
_root.flashObj.videoadtype = _loc3.firstChild.childNodes[0].childNodes[5].firstChild.nodeValue;
_root.flashObj.outvideoparam = _loc3.firstChild.childNodes[0].childNodes[6].firstChild.nodeValue;
_root.flashObj.inadtype = _loc3.firstChild.childNodes[0].childNodes[7].firstChild.nodeValue;
_root.flashObj.channels = unescape(_loc3.firstChild.childNodes[0].childNodes[8].firstChild.nodeValue);
_root.flashObj.videoid = _loc3.firstChild.childNodes[0].childNodes[9].firstChild.nodeValue;
_root.flashObj.url = unescape(_loc3.firstChild.childNodes[0].childNodes[10].firstChild.nodeValue);
if (_root.flashObj.inadtype == "1")
{
_root.useSS = "true";
_root.useGoogle = "false";
}
else if (_root.flashObj.inadtype == "2")
{
_root.useGoogle = "true";
_root.useSS = "false";
} // end else if
_root.flashXMLloaded = true;
} // end if
} // End of the function
function UnPauseVideo()
{
myFLVPlayer2.playVideo();
} // End of the function
function PauseVideo()
{
myFLVPlayer2.pauseVideo();
} // End of the function
function GetVideoTime()
{
var _loc1 = myFLVPlayer2.returnTime();
return (_loc1);
} // End of the function
function ss_videoTimeUpdate()
{
_root.ss_ads.timerUpdate(_root.GetVideoTime());
} // End of the function
function ss_pause(evtObj)
{
_root.PauseVideo();
} // End of the function
function ss_resume(evtObj)
{
_root.UnPauseVideo();
} // End of the function
function delegate(scope, handler)
{
var _loc2 = function ()
{
return (handler.apply(scope, arguments));
};
return (_loc2);
} // End of the function
function onLoadInit(clip)
{
request.videoId = _root.flashObj.videoid;
request.videoPublisherId = "ca-video-pub-5799716970878563";
request.videoHostingSite = _root.siteurl;
request.videoFlvUrl = _root.flashObj.flv;
request.videoDescriptionUrl = _root.flashObj.url;
request.channels = [_root.flashObj.channels];
request.adType = "overlay";
_root.googleInterval = setInterval(this, "beginServingGoogle", 2000, clip);
} // End of the function
function beginServingGoogle(clip)
{
if (_root.GetVideoTime() > 15 && _root.googleActivated == false)
{
_root.googleActivated = true;
clip.requestAds(_root.request, delegate(this, onAdsRequestResult));
clearInterval(_root.googleInterval);
trace ("beginServingGoogle Ads");
} // end if
} // End of the function
function onAdsRequestResult(callbackObj)
{
if (callbackObj.success)
{
var _loc2 = callbackObj.ads[0].getAdPlayerMovieClip();
_loc2.setSize(480, 360);
_loc2.setX(0);
_loc2.setY(0);
_loc2.load();
_loc2.play();
_loc2.pauseContentVideo = delegate(this, PauseVideo);
_loc2.resumeContentVideo = delegate(this, UnPauseVideo);
}
else
{
trace ("Error: " + callbackObj.errorMsg);
} // end else if
} // End of the function
var xmlFlashData = new XML();
var flashXMLloaded = false;
var flashObj = new Object();
_root.invis_btn._visible = false;
_root.siteurl = "www.mydamnchannel.com";
var serverpath = "http://www.mydamnchannel.com/xml/";
_root.useSS = "false";
_root.useGoogle = "false";
movie_txt.text = _root.episode;
videotype_txt.text = _root.videotype;
startScanScout = function ()
{
if (_root.useSS == "true")
{
_root.ss_ads.start();
} // end if
};
stopScanScout = function ()
{
if (_root.useSS == "true")
{
_root.ss_ads.stop();
} // end if
};
_root.preRollVideo = "";
_root.playedPreRoll = false;
_root.postRollVideo = "";
_root.playedPostRoll = false;
_root.videoReplaying = false;
_root.linkURL = "";
_root.trackLink = "";
_root.endscreen_mc._visible = false;
_root.endscreen_mc._alpha = 0;
_root.firsttime = true;
var snd = new Sound();
snd.setVolume(0);
var xmlFlashFile = _root.serverpath + "getembedmovie.aspx?associd=" + _root.episode;
Big_play_btn._alpha = 0;
Big_play_btn._visible = false;
preloader_mc._visible = false;
preloader_mc._alpha = 0;
getOrigMovie = function ()
{
if (_root.episode != undefined)
{
xmlFlashData.ignoreWhite = true;
xmlFlashData.load(xmlFlashFile);
xmlFlashData.onLoad = loadFlashXML;
this.onEnterFrame = function ()
{
if (_root.flashXMLloaded)
{
Big_play_btn._alpha = 100;
Big_play_btn._visible = true;
trace ("loading");
Big_play_btn.title_txt.text = flashObj.title;
if (flashObj.subtitle != undefined && flashObj.subtitle != "")
{
Big_play_btn.subtitle_txt.text = flashObj.subtitle;
}
else
{
Big_play_btn.subtitle_txt.text = "";
} // end else if
delete this.onEnterFrame;
}
else
{
Big_play_btn.title_txt.text = "Error, player could not load Video.";
} // end else if
};
}
else
{
Big_play_btn.title_txt.text = "Error. Player Embeded without Episode ID";
} // end else if
};
setUpScanScout = function ()
{
System.security.allowDomain("media.scanscout.com", "www.mydamnchannel.com");
var _loc3;
_root.ss_ads.addEventListener("ss_pause", this);
_root.ss_ads.addEventListener("ss_resume", this);
_root.ss_ads.setParam("ss_partnerId", 625);
_root.ss_ads.setParam("ss_pageURL", "SS_SYNDICATEDPAGE");
_root.ss_ads.setParam("ss_mediaURL", _root.flashObj.flv);
_root.ss_ads.setParam("ss_mediaTitle", _root.flashObj.title);
_root.ss_ads.setParam("ss_mediaKeywords", _root.flashObj.keywords);
_root.ss_videoTimeIntervalID = setInterval(this, "ss_videoTimeUpdate", 1000);
};
setUpGoogle = function ()
{
System.security.allowDomain("http://pagead2.googlesyndication.com/pagead");
var _loc5 = _root.createEmptyMovieClip("swfClip", target.getNextHighestDepth());
var _loc4 = new Object();
_loc4.onLoadInit = delegate(this, onLoadInit);
var _loc3 = new MovieClipLoader();
_loc3.addListener(_loc4);
_loc3.loadClip("http://pagead2.googlesyndication.com/pagead/googlevideoadslibrary.swf", _loc5);
trace ("here");
};
_root.request = new Object();
_root.googleActivated == false;
playMovie = function (commercial)
{
_root.delay = true;
_root.lastTime = Math.floor(getTimer() / 1000);
_root.wait = 1;
preloader_mc._visible = true;
preloader_mc._alpha = 100;
_root.onEnterFrame = function ()
{
if (_root.delay)
{
if (Math.floor(getTimer() / 1000) >= _root.lastTime + 1)
{
_root.delay = false;
} // end if
}
else if (Math.floor(getTimer() / 1000) >= _root.lastTime + _root.wait)
{
if (commercial == null)
{
trace ("No Ads");
_root.postRollVideo = undefined;
}
else
{
var _loc3 = commercial.url;
_root.linkURL = commercial.link;
if (_root.videoAdType == 1)
{
_root.trackLink = commercial.tracklink;
} // end if
if (_loc3 != "" && _loc3 != undefined)
{
if (_loc3.indexOf("rtmp") == 0)
{
var _loc4 = _loc3.split("/");
_root.postRollVideo = _loc4[_loc4.length - 1];
server = _loc3.substring(0, _loc3.indexOf(file));
}
else
{
_root.postRollVideo = _loc3;
} // end if
} // end else if
} // end else if
myFLVPlayer2 = new FLVPlayer(this, -7, -8);
myFLVPlayer2.setControlsVisible();
myFLVPlayer2.loadVideo(_root.flashObj.flv);
if (_root.useSS == "true")
{
_root.setUpScanScout();
_root.startScanScout();
}
else if (_root.useGoogle == "true")
{
_root.setUpGoogle();
} // end else if
delete _root.onEnterFrame;
if (_root.episode != "" && _root.episode != undefined)
{
scriptVars = new LoadVars();
scriptVars.episode = _root.episode;
scriptVars.sendAndLoad("http://www.mydamnchannel.com/xml/submitembedplayerview.aspx", scriptVars, "GET");
} // end if
} // end else if
};
};
_root.playPreRoll = function (commercial)
{
_root.onEnterFrame = function ()
{
if (_root.delay)
{
if (Math.floor(getTimer() / 1000) >= _root.lastTime + 1)
{
_root.delay = false;
} // end if
}
else if (Math.floor(getTimer() / 1000) >= _root.lastTime + _root.wait)
{
if (commercial == null)
{
trace ("No Ads");
_root.preRollVideo = undefined;
}
else
{
var _loc3 = commercial.url;
_root.linkURL = commercial.link;
if (_root.videoAdType == 1 || _root.videoAdType == 3)
{
_root.trackLink = commercial.tracklink;
} // end if
if (_loc3 != "" && _loc3 != undefined)
{
if (_loc3.indexOf("rtmp") == 0)
{
var _loc4 = _loc3.split("/");
_root.preRollVideo = _loc4[_loc4.length - 1];
server = _loc3.substring(0, _loc3.indexOf(file));
}
else
{
_root.preRollVideo = _loc3;
} // end if
} // end else if
} // end else if
myFLVPlayer2 = new FLVPlayer(this, -7, -8);
if (_root.preRollVideo == undefined || _root.preRollVideo == "")
{
myFLVPlayer2.setControlsVisible();
myFLVPlayer2.loadVideo(_root.flashObj.flv);
if (_root.useSS == "true")
{
_root.setUpScanScout();
_root.startScanScout();
}
else if (_root.useGoogle == "true")
{
_root.setUpGoogle();
} // end else if
}
else
{
myFLVPlayer2.loadVideo(_root.preRollVideo);
myFLVPlayer2.setControlsInvisible();
if (_root.trackLink != "" && _root.trackLink != undefined)
{
_root.trackingImage_mc.loadMovie(_root.trackLink);
} // end if
} // end else if
delete _root.onEnterFrame;
} // end else if
};
};
playVideoAfterPreRoll = function ()
{
myFLVPlayer2.setControlsVisible();
myFLVPlayer2.loadVideo(_root.flashObj.flv);
if (_root.useSS == "true")
{
_root.setUpScanScout();
_root.startScanScout();
}
else if (_root.useGoogle == "true")
{
_root.setUpGoogle();
} // end else if
if (_root.episode != "" && _root.episode != undefined)
{
scriptVars = new LoadVars();
scriptVars.episode = _root.episode;
scriptVars.sendAndLoad("http://www.mydamnchannel.com/xml/submitembedplayerview.aspx", scriptVars, "GET");
} // end if
};
playPostRoll = function ()
{
trace (myFLVPlayer2);
if (_root.postRollVideo != undefined)
{
_root.playedPostRoll = true;
_root.stopScanScout();
if (_root.videoAdType == 1)
{
if (_root.trackLink != "" && _root.trackLink != undefined)
{
_root.trackingImage_mc.loadMovie(_root.trackLink);
} // end if
} // end if
myFLVPlayer2.setControlsInvisible();
myFLVPlayer2.loadVideo(_root.postRollVideo);
}
else
{
_root.playedPostRoll = true;
} // end else if
};
determinePlayMethod = function ()
{
if (_root.flashObj.videoadtype == "1")
{
_root.videoAdType = 1;
trace ("double click post roll");
var _loc3 = "";
if (_root.flashObj.outvideoparam != " ")
{
_loc3 = _root.flashObj.outvideoparam;
} // end if
trace ("DD Param " + _loc3);
_root.DoubleSyndicator = new DoubleClickSyndicator("post", _loc3);
_root.DoubleSyndicator.RequestBVC(playMovie);
}
else if (_root.flashObj.videoadtype == "2")
{
_root.videoAdType = 2;
trace ("spotxchange");
_root.channel_id = "69619";
_root.ip_addr = "199.0.0.2";
_root.session_capping = "false";
_root.iab_imu = "medium_rectangle";
_root.render_banner = "false";
var _loc2 = new Object();
_loc2.channel_id = parseInt(_root.channel_id);
_loc2.ip_addr = _root.ip_addr;
_root.Syndicator = new SpotxchangeSyndicator(_loc2);
trace ("init SpotXChange Params Complete");
_root.Syndicator.RequestBVC(playVideo);
}
else if (_root.flashObj.videoadtype == "3")
{
_root.videoAdType = 3;
trace ("double click pre roll");
_loc3 = "";
if (_root.flashObj.outvideoparam != " ")
{
_loc3 = _root.flashObj.outvideoparam;
} // end if
trace ("DD Param " + _loc3);
_root.DoubleSyndicator = new DoubleClickSyndicator("pre", _loc3);
_root.DoubleSyndicator.RequestBVC(playPreRoll);
}
else
{
_root.playMovie(null);
} // end else if
};
linkClick = function ()
{
if (_root.playedPostRoll == true && _root.videoReplaying == false)
{
if (_root.linkURL != "" && _root.linkURL != undefined)
{
setProperty("", _target, "_blank");
getURL(_root.linkURL, "_blank");
} // end if
} // end if
};
hideEndScreen = function ()
{
_root.endscreen_mc._visible = false;
_root.endscreen_mc._alpha = 0;
};
displayEndScreen = function ()
{
_root.stopScanScout();
_root.endscreen_mc._visible = true;
_root.endscreen_mc._alpha = 100;
};
replayVideo = function ()
{
hideEndScreen();
_root.playedPostRoll = true;
_root.playedPreRoll = true;
_root.videoReplaying = true;
myFLVPlayer2.setControlsVisible();
myFLVPlayer2.loadVideo(_root.flashObj.flv);
_root.startScanScout();
};
getOrigMovie();
Big_play_btn._alpha = 100;
Big_play_btn._visible = 1;

با نگاه به کدها می بینیم که مرجع مشخصات فایل کلیپ از طریق یک xml هست
var serverpath = "http://www.mydamnchannel.com/xml/";​
خب حالا باید مسیر صحیح فایل xml را در خط فرمان برور گذاشت پس با نگاه مجدد به کدها داریم :
var xmlFlashFile = _root.serverpath + "getembedmovie.aspx?associd=" + _root.episode;
که حاوی مسیر کامل فایل xml ما هست یعنی آدرس صحیح مسیر بصورت زیر هست :
که پارامترassocid همان شماره کذایی کلیپ هست پس شماره کلیپ را وارد می کنیم :
http://www.mydamnchannel.com/xml/getembedmovie.aspx?associd=602
حالا آدرس فوق را در بروزر قرار می دهیم و Enter را فشار می دهیم .
عجب:D کل اطلاعات مربوط به کلیپ نمایش داده می شود.
http://content.MyDamnChannel.com/datastore/smallflvs/YSAP09190308063949.flvCurves Donnie Hoyle gets as close to a pair of tomatoes as he ll ever get lunchables diaper cream fuzzy drop ems teletubbies colored pencil curves hue and saturation tomatoes mobile fuel center guild3BigFatBrainChannel2 %22MDC_Big_Fat_Brain%22%2c%22MDC_Comedy%22%2c%22
MDC_Entertainment%22842http%3a%2f%2fwww.mydamnchannel.com
%2fvideodetail.aspx%3fepisode%3d842​
که در بین آنها آدرس کلیپ نازنین ما هم هست پس بدون فوق فقط آدرس را به یک برنامه دنلود داده و کار تمام است.
http://content.MyDamnChannel.com/datastore/smallflvs/YSAP09190308063949.flv

حالا واسه دنلود هر کلیپ کافی است که ابتدا شماره کلیپ را در آدرس xml قرار دهیم و بعد نام و مسیر فایل کلیپ را بگیریم.

امیدوارم این آموزش موجب خلق ایده جدید در ذهن شما گردد.
 

جدیدترین ارسال ها

بالا