Re: [情報] BlueskyFRC 2.4.0更新

作者: abac1230 (Planck超帥)   2016-10-03 02:07:27
(前文43)
雖然跟電蝦沒啥關系,但還是手癢想回。 :D
以下有長篇大論,看到字很多頭會痛的鄉民可以直接按 ←
這篇主要是想回應前面推文的兩點疑問。
首先是 The KMPlayer 與 PortPlayer 在 Hall of Shame 上面的問題。
不過若要開始談這個,就必須要來講古一下。
關於 MPC-HC 及 MPC-BE 的前身,也就是 MPC(Media Player Classic)。
這個播放程式基本上是由一位名為 Gabest 的程式設計師所寫的。
對個人來說,他算是個開源界的神人。不過關於他神的部份,本篇文章不會詳述。
言歸正傳,先讓我們回到約莫15年前,也就是XP才剛發表沒多久的2001年,
一堆人還在用 Windows 98 、 WinME 或 2000 SP1 的時代。
在那個時候,在Windows上播放影片的程式,最主要有兩個。
一個是 Windows 內建的 WMP(Windows Media Player),另外一個則為 Real 公司所
開發的 Real Player。
除此之外當然還有Appl 本家的 QuickTime 與DIVX商業化後的 DivX Player
但後面這兩者的使用人數與前面兩者差異非常多,故先不提。
這兩個程式在當初的表現其實並不算差,算是各司期職。但他們都有個
對當時有需要的人來說,算是個非常嚴重的問題。也就是 "皆不支援字幕的播放"。
如常見的字幕格式,例如 srt, ssa&ass, sub&dix 這類,都是完全不支援。
所以 Gabest 為此寫了一支名為 VSFilter(VobSub) 的程式。
在 WMP 載入影片之前,將字幕 Hack 進 WMP 繪製的畫面(DirectShow)中。
一般來說當時用的輸出通常是 DirectDraw Overlay。
這樣的做法一開始算是相安無事。但後來由於 WMP 的程式隨著時間的過去。
隨著版號愈來愈大、容量也愈來愈大。界面也是變得愈來愈複雜。
題外話:
同期的一些軟體不約而同地也有類似症狀,例如回不去的 Winzip, Winamp, Nero
Burning ROM, ACDSee etc..
話說古早年代還有一支叫做 Xing player 的程式,不知道板上還有多少人記得?
再加上由於 VSFilter 與 WMP 的眾多相容性等問題。
因此 Gabest 為此而開發了MPC。
其目的是為了一舉解決播放器介面、字幕的相容性,
以及支援影片格式、封裝及輸出的問題。
至此
幾乎所有非商業發行的流通影片格式、字幕,都是以 MPC 為主要實作平台開發。
時間點約莫是2003~2004年,看片片的沒人不裝 MPC 的。
就這樣過了幾年,直到2005年底或2006年初的某天。
Gabest 偶然發現 The KMPlayer 的作者疑似使用了 MPC 的源碼。
但卻未依GPL將源碼開放。
所以他先在自己sourceforge的專案論壇裡提出疑問,並尋求協助。
接著就被人轉到Doom9論壇去了。
要知道Doom9裡面最不缺的就是滿滿的技術宅。
個人看過的技術宅,無論其實力如何,或多或少都有些自負。
想當然也就不是什麼溫良謙恭讓的普通人。
所以有群人火速前往當初The KMPlayer的論壇並群起而攻之。
接著這些討論串被The KMPlayer作者冷處理,也就是不了了之。
除非 Kang Yong-Huee 願意公佈自己的源碼,不然也無法證明真有此事。
不過這件事最終的結局,對 Gabest 也沒什麼意義了。
因為他對此感到失望,並於2006年中,停止開發MPC。
無獨有偶地,The KMPlayer 也被 FFmpeg 的開發者發現,
使用libavcodec(FFmpeg的函式庫),卻不依GPL授權開放程式碼。
想當然地就被 FFmpeg team 寫進 Hall of Shame 裡了。
不知道這樣有沒有解決一部份人的疑惑?
不過... 若要我用個人觀點來總結這段歷史嘛...
可以說所有原生開發於 Winodows 的播放程式,尤其是輸出及字幕實作的部份。
幾乎沒有例外的都是 MPC 的徒子徒孫。
所以Gabest 可以被稱為 Windows 內的開源影片播放器之父,應該不為過。
若自己努力的心血被人抄了,對方卻又打死不承認,
這樣的感受其實各位可以稍稍想想看。
不過在 Gabest 在對 The KMPlayer 作者的行徑感到失望之後,
就將興趣移到PCSX2,將PS2模擬器的相容性帶到另一個高峰,
那就又是另外一段故事了。
================================我是分格線==============================
接著來談談K-Lite之類的解碼包。
在2016年Q4的今天,其實裝這些解碼包的實質意義真的愈來愈小了。
原因不外乎目前網路上99.9%流通的影片資源的格式中,不出以下三者:
1. H.264
2. H.265(HEVC)
3. WMV
在 Real Video 、 Xvid 與 Divx 都要死不活的現在。
除了少部份私有格式(ex:商用監視器程式錄下的格式)之外。
幾乎沒有 FFmpeg 不能播的影片格式。
再加上就算裝了這類播放器的解碼包,如果沒特別設定的話,
也只是讓 MPC 去撈 FFmpeg 或是 Lav filters 來用。
但事實上 MPC-HC 已經整合了Lav filters、而 MPC-BE 則整合了FFmpeg。
所以若裝了如K-Lite這些解碼包,卻又撈這些解碼器及分離器來用,
其實有點多此一舉。
如果喜歡 Lav filters 的就裝 MPC-HC。
由於整合了Lav decoder,所以對 H.265 及新顯卡技術的支援程度較佳,
更新也較為勤快。
喜歡 FFmpeg 的就裝 MPC-BE。
內部的分離器對古老格式的相容性較Lav filters佳,CPU的使用率也較低一點。
各有優點,擇一而用即可。
作者: DANTEINFERNO (DANTE)   2016-10-03 09:35:00
講古有推
作者: violetflames   2016-10-03 12:55:00
專業給推 可是上星期買RX460發現MPC不能開FM就只好暫時用Potplay,雖然版本更新卻懶得改了@@

Links booklink

Contact Us: admin [ a t ] ucptt.com