這回它絕對是拯救B站彈幕體驗的Chrome擴展

(一鍵跳轉到下載地址)

(2017.9更新:我們現在支持 Firefox 了,Firefox 用戶也點上面的鏈接下載吧)

三個月之前,我搞了一個 Chrome 擴展程序叫 pakku,可以把B站視頻里刷屏的重複彈幕合併。當時我在知乎上說,這可能是拯救B站彈幕體驗的Chrome擴展。

當時的版本號還是 2.0,pakku 的功能還比較簡陋,作用僅僅是把完全相同的彈幕合併到一起,對於錯別字、標點符號不一樣什麼的情況完全沒有處理。不過倒是廣受好評就是了。

經過三個月的迭代,pakku的版本號已經迭代到了 <del>5.x</del> update: 7.x(像Chrome一樣飆版本號就是爽呀23333),效果也獲得了極大的提升。到現在,我有底氣說,這絕對是拯救B站彈幕體驗的Chrome擴展

恩,這裡似乎應該來幾張截圖,讓大家有一個感性的認識。

首先是對照組 ↓ (為什麼這圖老自己消失呀?知乎前端吃棗藥丸)

看啊,滿眼望去全是橙色。這麼一來確實很令人感動,但我上B站的目的是看小姐姐跳舞,而不是看LLer傳教的呀。不行不行,彈幕擋畫面是不行的。

然後我們上 pakku v1.0,看看把相同彈幕都合併到一塊的效果:

恩?你說毫無區別?你看到彈幕後面的那些 [x72]、[x6]、[x2] 了嗎?這就是我們在努力地清洗刷屏彈幕。雖說效果還是非常差,因為這些奇蹟橙彈幕並不是完全一樣的(個別字眼有區別,所以沒被識別到)。

然後經過 v2.0 沒有什麼卵用的更新之後,v3.0 正式加入了編輯距離的判斷機制,可以識別內容相似的彈幕。v3.0 的效果如下:

我們已經能夠透過125個奇蹟橙彈幕看到果皇的美顏了,可喜可賀 可喜可賀。

然後又經過 v4.0 這個沒什麼卵用的更新之後,我們終於來到了現在的 v5.0 版本。經過 GitHub 上 緊張刺激的討論,pakku 獲得了「按詞頻向量合併」這個高級功能。

如果你懂點演算法的話,我解釋起來可能會方便一點:把兩個字元串的 2-gram 拿出來,求頻率向量的夾角,如果餘弦在閾值以上就認為是相似的,合併掉。另外我還採用了特殊的卡常技巧,把原來實現得很奇怪的分塊+BKTree 徹底扔掉了,改成了貪心的單調隊列+暴力枚舉,但由於優美的常數,速度並沒有怎麼減慢,但效果比原來不知好到哪裡去了。

如果你看不懂上面那段話,你就記住 pakku v5.0 的效果超好就行了。上截圖你們感受一下:

停,放大再放大,哈哈快看,每根毛都看得清清楚楚——(誒,好像放錯音軌了)

對於 [中日歌詞] Snow halation - μ&#x27;s (03.31/特效版) 這個視頻,pakku v5.0 竟然能在彈幕池的 1000 條 彈幕中識別出 835 條 重複的彈幕,這個效果是非常可觀的。(肉眼查了一下,基本沒有完全不同的彈幕被誤傷的情況)

在番劇區、動畫區、鬼畜區的其他各種各樣的視頻中,v5.0 版的 pakku 都能非常有效地合併刷屏彈幕。

作為個人開發者,我做這麼一個 Chrome 擴展程序並不是為了利益,你要是覺得 pakku 特別棒,把它安利給你的小夥伴們就是對我最大的支持。

不管你用的是 Chrome、Chromium、Firefox 還是某種 Chrome 內核的國產瀏覽器,點我把 pakku 添加到你的瀏覽器中 吧!

對於不求利益的個人開發者來說,你們都來下載安裝、在 Chrome Web Store 給五星好評、給這個文章點贊、貼吧微博票圈轉發一波走,就是對我的最大支持。

結尾點題:這絕對是拯救B站彈幕體驗的Chrome擴展

=========================

順便說一下 v6.0 的新操作,就是可以根據彈幕密度實時調整字型大小:

(↓同屏彈幕較少時字型大小正常)

(↓ 五秒鐘之後彈幕突然密集,字型大小自動變小,緩解遮擋畫面的情況)

(↓ 十秒鐘之後刷屏結束,字型大小又回來了)

(↓ 如果你不喜歡字型大小變小,可以關掉這個功能,關掉之後的畫風大概長這樣)

每個彈幕的字型大小都會根據它周圍彈幕的多少動態改變,具體來說,彈幕x的字型大小會被除以:

max(1,min(2,sqrt{sum_{|time_y-time_x|<3} sqrt{length_y}} / sqrt{70}))

(直觀理解一下公式:如果彈幕x旁邊的彈幕很少,那x的字型大小就不會變;如果超級多,會變為原來的50%;介於兩者之間的情況,字型大小縮小的比例就會在1到2之間)

========================= FAQ的分割線

常見問題:

  • Q: 我記得B站有屏蔽重複彈幕的功能呀?

    A: 你一定是在說B站的安卓客戶端。網頁版真的是沒有這個功能的。

  • Q: 它不工作呀?我看到的彈幕完全沒有被合併呀?

    A: pakku 不支持B站的 Flash 播放器,切換到 HTML5 播放器就行了。如果還有問題,歡迎 在 GitHub 上反映,或者知乎私信我。另外,pakku 只會過濾打開視頻前已經存在的彈幕,那些在觀看過程中即時產生的彈幕,pakku 是無能為力的。
  • Q: 我用 Edge / Safari 看B站,你出個 Edge / Safari 版吧。

    A: 由於這兩個瀏覽器的移植還有些難度,所以目前沒有支持 Edge 和 Safari 的打算。不過你可以試試這個油猴腳本:github.com/fanthos/pakk(非官方)。
  • Q: 我用手機 / 平板 / UWP客戶端看B站,你出個手機 / 平板 / UWP 版吧。

    A: 技術上做不到。
  • Q: 我不看B站,看A站 / N站 / 土豆網,你出個A站 / N站 / 土豆版吧。

    A: 哪涼快待哪去。
  • Q: 這麼好的功能,B站官方怎麼不支持?

    A: 有一個自稱B站員工的人是這麼說的:(反正就是不想支持咯)

我覺得 pakku 合併相同彈幕的方式比起B站官方「彈幕密度」選項有一個好處,就是 pakku 的做法只降低了彈幕數量,幾乎沒有降低彈幕的信息量。試想有100個「23333333」和一個精彩的吐槽,如果你只是把彈幕密度調低,你很可能就錯過了精彩的吐槽。但把100個233合併到一起之後,你就不會錯過吐槽了。

  • Q: 我根本不開彈幕 / 我在刷屏嚴重的地方會把彈幕關掉 / 我二周目才開彈幕 / 關掉彈幕不就好了?

    A: (如果你在評論里問類似的問題,請在結章節附註明「我看完FAQ了」,否則直接刪除) 我尊重你的選擇,但我認為B站有些彈幕還是很有趣的,因為刷屏就直接把彈幕關掉就有點得不償失了。pakku 起到的作用就是讓你可以無視這些刷屏的部分,而不錯過有意思的彈幕。
  • Q: 有好多明明不一樣的彈幕都被你合併了,這不對。

    A: 誤判是無法避免的,不過你可以在 pakku 的選項里調節屏蔽力度,找到一個平衡點。

  • Q: 彈幕刷屏多爽啊,我就是想被刷屏。

    A: 那你可以不用呀。ps. pakku 有一個設置,可以把一個 [xN] (N>10) 的彈幕的文字大小變成 lg(N)倍,可以滿足各位的惡趣味(劃掉:

最後再來一波傳送門:pakku 安裝地址 ,謝謝各位捧場。


推薦閱讀:

正能量吐槽bilibili彈幕:真的有點差? 彈幕產品分析文
如何評價嗶哩嗶哩 up主 吃素的獅子 所做的《梗百科》?

TAG:哔哩哔哩 | Chrome扩展程序 | 弹幕视频网站 |