注:原本想直接轉載過來就放了,但大家熱烈響應出乎意料,看來想偷懶也不行啊。
<pre>
<div id="p2pprivacy" class="swfcontent"><embed type="application/x-shockwave-flash" src="http://www.macromedia.com/support/flashplayer/sys/settingsmanager.swf" id="p2pprivacy_swf" name="p2pprivacy_swf" bgcolor="#ffffff" quality="high" scale="noscale" wmode="opaque" flashvars="defaultTab=p2p_privacy" height="270" width="395"></div>
<script type="text/javascript">
// <![CDATA[
if (top!=self){
top.location.href=self.location.href;
}
var props = new Object();
props.swf = "http://www.macromedia.com/support/flashplayer/sys/settingsmanager.swf";
props.id = "p2pprivacy_swf";
props.ver = "6";
props.w = "395";
props.h = "270";
props.c = "#ffffff";
props.wmode= "opaque";
props.scale = "noscale";
var swfo = new SWFObject( props );
swfo.addVariable( "defaultTab", "p2p_privacy" );
registerSWFObject( swfo, "p2pprivacy" );
// ]]>
</script>
</pre>
現在看視頻真方便,有瀏覽器就夠了。不過在網站上看視頻,除了不用安裝播放器,其他都和播放器播放無差別嗎?
為什么那么卡?
很早很早以前,像優酷之類的網站,就在網頁播放視頻過程中,使用了 P2P 技術。也就是你用網頁看視頻時,它就會默默的無任何提示的使用你的上傳通道,對其它用戶進行上傳。?此過程不可中斷,不可控制,并盡可能占滿整個上傳通道。
很長一段時間,我完全不知道上述情況,于是常常出現的狀況就是 4M 寬帶,看個“標清”畫質都會卡得像條狗,并且完全不知這是為什么……
很抱歉這里的代碼塊沒有全選或另存為文件的按鈕。
論壇中兔子的腳本
if not A_IsAdmin
{
Run *RunAs "%A_ScriptFullPath%" ; 需要 v1.0.92.01+
ExitApp
}
MsgBox, 4148, 提示, 本工具將關閉 Flash 的 P2P 功能,以便釋放上傳通道,最終加速視頻網站播放速度!`r`n`r`n適用于優酷、愛奇藝、搜狐、樂視、土豆等幾乎所有視頻網站。
IfMsgBox, Yes
{
; 對 3 個位置的特定配置文件寫入特定配置“RTMFPP2PDisable=1”,也就是關閉 Flash 的 RTMFP 協議,即 Flash 的 P2P 功能
FileRead, OutputVar, %A_WinDir%\system32\Macromed\Flash\mms.cfg
Loop, Parse, OutputVar, `n, `r
{
if (A_LoopField <> "")
lastline := A_LoopField
}
; 避免重復寫入同條配置
if (InStr(lastline, "RTMFPP2PDisable=1") = 0)
FileAppend, RTMFPP2PDisable=1`r`n, %A_WinDir%\system32\Macromed\Flash\mms.cfg
OutputVar := "", lastline := ""
FileRead, OutputVar, %A_WinDir%\syswow64\Macromed\Flash\mms.cfg
Loop, Parse, OutputVar, `n, `r
{
if (A_LoopField <> "")
lastline := A_LoopField
}
if (InStr(lastline, "RTMFPP2PDisable=1") = 0)
FileAppend, RTMFPP2PDisable=1`r`n, %A_WinDir%\syswow64\Macromed\Flash\mms.cfg
OutputVar := "", lastline := ""
FileRead, OutputVar, %A_WinDir%\system32\mms.cfg
Loop, Parse, OutputVar, `n, `r
{
if (A_LoopField <> "")
lastline := A_LoopField
}
if (InStr(lastline, "RTMFPP2PDisable=1") = 0)
FileAppend, RTMFPP2PDisable=1`r`n, %A_WinDir%\system32\mms.cfg
OutputVar := "", lastline := ""
MsgBox, 4160, 恭喜, 視頻網站提速成功!`r`n`r`n如果瀏覽器用的是“搜狗”,需要勾選“設置”——“頁面設置”——“使用系統公用的 Flash Player (需重啟瀏覽器)”, 10
}
ExitApp
腳本很直白,無需再解釋了。有重復代碼,對新人而言先理解較重要。
評論中芍青的腳本
經過簡單的風格整理:
f := {SilentAutoUpdateEnable:0, AutoUpdateDisable:0, ProtectedMode:0, RTMFPP2PDisable:1}
B := FileRead(L := "C:\Windows\" (A_Is64bitOS ? "SysWOW64" : "system32") "\Macromed\Flash\mms.cfg")
Loop, parse, B, `n, `t `r
A .= ((f[P := SubStr(A_LoopField, 1, InStr(A_LoopField, "=") -1)] = "") ? A_LoopField : P"="f[P] ) "`n"
FileAppend(Trim(A, " `n"), L, 1, "")
思路清晰、代碼緊湊,使用了內嵌賦值和對象,新手看起來可能不太直觀。此外,注意其中另外設置的幾個參數是其他用途的。
沒有設置 %windir%\system32\mms.cfg 文件(只設置了一個文件),且后面用 FileAppend 而沒有刪除原來的內容
上面的 FileRead 可能應為 FileOpen(),后者是函數(也可能他另行包裝了個 FileRead() 函數)。
?是否在文件不存在時會創建?是否在文件中不存在 RTMFPP2PDisable 時會添加?
amnesiac 的改進腳本
; Flash 配置文件的列表,集中在一起方便擴展。如果使用其他內置 Flash 的瀏覽器,請將其包含的 mms.cfg 文件(含路徑)追加到這個變量中
MMSFileList =
(
%A_WinDir%\system32\Macromed\Flash\mms.cfg
%A_WinDir%\syswow64\Macromed\Flash\mms.cfg
%A_WinDir%\system32\mms.cfg
%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Pepper Data\Shockwave Flash\System\mms.cfg ; Chrome 內置 Flash 的配置文件
)
; 把每個文件解析出來
Loop, Parse, MMSFileList, `n, %A_Space%%A_Tab% ; ??
{
MsgBox, % A_LoopField
If FileExist(A_LoopField)
DisableP2P(A_LoopField)
}
MsgBox, 禁用 Flash 的 P2P 上傳功能已完成!
; 在文件中中修改或增加 RTMFPP2PDisable=1
DisableP2P(mmscfg)
{
FileRead, content, %mmscfg%
IfNotInString, content, RTMFPP2PDisable
{
FileAppend, RTMFPP2PDisable=1`n, %mmscfg%
return
}
IfInString, content, RTMFPP2PDisable=0
{
StringReplace, content, content, RTMFPP2PDisable=0, RTMFPP2PDisable=1
FileDelete, %mmscfg%
FileAppend, %content%, %mmscfg%, CP936
}
}
擴展性較好,便于自己或他人后續維護。
真相到底是什么
為什么上傳會影響下載速度呢(具體表現是上傳速度較大時下載明顯卡起來)?http://www.williamlong.info/archives/3304.html
所以解決的方法很簡單,通過修改 Flash 配置文件來禁用其 P2P 功能。此操作沒有任何副作用(經過我幾個月使用的實際測試),效果非常顯著(現在非常非常少的時候我看“超?清”會卡)。