BlueskyFRC 2.4.0更新 - 3C

Table of Contents

(前文43)
雖然跟電蝦沒啥關系,但還是手癢想回。 :D


以下有長篇大論,看到字很多頭會痛的鄉民可以直接按 ←

這篇主要是想回應前面推文的兩點疑問。

首先是 The KMPlayer 與 PotPlayer 在 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 裡了。


就算 The KMPlayer 被寫進去 Hall of Shame 之後又怎樣了呢?


前篇中推文有提到,同作者所開發的PotPlayer

依然在2010年11月,被抓包在安裝檔中整合了FFmpeg

也依然未依GPL規定開放程式碼。



這個故事告訴我們一件事。



如果能夠完全不把抄襲別人的東西,當做是一回事。

那就真的不會有多少人去了解這件事。



不知道這樣有沒有解決一部份人的疑惑?



不過... 若要我用個人觀點來總結這段歷史嘛...

可以說所有原生開發於 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的使用率也較低一點。

各有優點,擇一而用即可。

--

有圖有真相
http://goo.gl/w3xULw

--

All Comments

Lucy avatarLucy2016-10-07
全看完 給推
Edward Lewis avatarEdward Lewis2016-10-11
早知道一開始就用mpc 不然我已經習管pot的操作了QQ
Agatha avatarAgatha2016-10-13
習慣
Tristan Cohan avatarTristan Cohan2016-10-14
詳細講古文推
Jack avatarJack2016-10-16
已經是pot的形狀了QAQ
Zanna avatarZanna2016-10-19
推故事~
Charlie avatarCharlie2016-10-19
MPC-HC已經3個月沒提交程式碼了,雖說使用上無礙,但
看到POT把VapourSynth都整進去了,還是希望MPC-HC也
能繼續加強
Una avatarUna2016-10-20
首段錯字 "port"player
Irma avatarIrma2016-10-24
gabest 真要說起來真的是開源程式界的神人之神
Kumar avatarKumar2016-10-25
Bethany avatarBethany2016-10-28
好文給推!
Hedwig avatarHedwig2016-10-31
講古給推
Lucy avatarLucy2016-11-01
KMP就…顆顆啊
Adele avatarAdele2016-11-05
專業,推!!
Lydia avatarLydia2016-11-08
我都用 mpv player
Michael avatarMichael2016-11-11
結果沒提到POT
Frederic avatarFrederic2016-11-15
你可以自己去查KMP與pot的關係
Tom avatarTom2016-11-17
Pot不就是Kmp的開發者所做的嗎?
Isla avatarIsla2016-11-21
Kmp的作者不是按照上面文章所寫用別人心血所開發的
Lauren avatarLauren2016-11-26
他不管是KMP還是POT都有侵權爭議不是嗎?所以提及一
樣就好了?
Candice avatarCandice2016-11-28
講古推
Necoo avatarNecoo2016-12-02
專業
Freda avatarFreda2016-12-04
都沒人用VLC嗎?
Dinah avatarDinah2016-12-08
講古有推
Jessica avatarJessica2016-12-12
portplayer...80 port嗎?
Thomas avatarThomas2016-12-12
VP9 比 HEVC 常見,ogg 也仍有一票人在支持
Valerie avatarValerie2016-12-13
google 的 WebM 就可以包 VP9, youtube 有使用
Vanessa avatarVanessa2016-12-16
其實有趣的是 前兩三年我抓水管高畫質都是WebM
不過這一年來幾乎各家套件抓到的都是mp4了
Hazel avatarHazel2016-12-16
另外早期的 VP7, VP6 仍可見於 .flv 檔中
Caroline avatarCaroline2016-12-18
忘了提 VP8... 一樣是 WebM 的標準影像編碼
Suhail Hany avatarSuhail Hany2016-12-20
這篇該M
Gary avatarGary2016-12-24
推推
Barb Cronin avatarBarb Cronin2016-12-24
Linux上面我都用VLC
Charlotte avatarCharlotte2016-12-25
William avatarWilliam2016-12-29
推!
Jake avatarJake2017-01-01
推,還好我都用MPC KMP跟POT都不要用
Iris avatarIris2017-01-01
推推
Oscar avatarOscar2017-01-04
第一次聽說
Caroline avatarCaroline2017-01-08
這事情很久了 有稍微研究這類東西幾乎都聽說過
Hazel avatarHazel2017-01-12
可惜在一般人不會研究 能用就用
Kristin avatarKristin2017-01-17
MPC一路用到MPC-HC超過十年了,感謝神人無私的貢獻
Doris avatarDoris2017-01-18
專業給推 可是上星期買RX460發現MPC不能開FM
Poppy avatarPoppy2017-01-20
就只好暫時用Potplay,雖然版本更新卻懶得改了@@
Quintina avatarQuintina2017-01-25
聽說很久了 但不知道PS2模擬器大爆進化那段也是靠他
Oscar avatarOscar2017-01-28
fm用的順也沒必要一直更新。
Audriana avatarAudriana2017-02-01
新的反而怕出錯。能用fm就別更動。
Daniel avatarDaniel2017-02-03
Olive avatarOlive2017-02-06
感謝說明
Michael avatarMichael2017-02-09
感謝講解