一個支持多番劇源和彈幕的看番(甚至看電視?。┸浖?,甚至可以自定義你想接入的網(wǎng)站適配器!
有問題或建議歡迎通過issue反饋。
另:macOS版可以在預覽版中下載,但不知為什么,github workflow編譯的macOS版在我的mac上打開視頻播放頁時會崩潰(目前猜測是libmpv問題),而本地編譯的則不會。如果mac用戶想用但在github的release中下載的軟件打不開的話,可以嘗試自行編譯:
[[ $(uname -m) == 'x86_64' ]] && wget https://storage.flutter-io.cn/flutter_infra_release/releases/stable/macos/flutter_macos_3.19.5-stable.zip -O flutter.zip || wget https://storage.flutter-io.cn/flutter_infra_release/releases/stable/macos/flutter_macos_arm64_3.19.5-stable.zip -O flutter.zip
unzip flutter.zip
git clone https://github.com/KNKPA/KNKPAnime.git # 如果訪問github有問題可以選擇國內(nèi)鏡像
cd KNKPAnime
../flutter/bin/flutter build macos --release
mv build/macos/Build/Products/Release/knkpanime.app ../
cd ..
rm -rf KNKPAnime flutter flutter.zip
最重要的當然就是搜索啦。作為一個支持多番劇源的軟件,你可以先在Bangumi上搜索想看的番劇,再選擇可用的源觀看:
當然,有的時候也會因為不同譯名或番劇名中有特殊符號而導致使用Bangumi搜索很難匹配到番劇源中的數(shù)據(jù),這個時候就可以用番劇源搜索來自定義用來搜索的詞:
需要注意的是,在”Bangumi搜索“頁面搜索時,會使用Bangumi提供的番劇名以及你所輸入的搜索詞在各番劇源進行兩次搜索;而在追番、新番日歷這兩個頁面點擊某一個番劇的時候,只會用Bangumi提供的番劇名進行一次搜索,因此可能會出現(xiàn)無法搜索到的情況。如果這種情況發(fā)生的話,請在兩個搜索界面搜索或通過歷史記錄進入(如果你看過這部番的話)。
然后就是一些比較常規(guī)的功能 - 歷史記錄、追番、番劇更新日歷等,應該不需要過多介紹。
快捷鍵 | 對應操作 |
---|---|
J | 快進90秒(跳過OP/ED) |
左右箭頭 | 快進/快退10秒 |
上下箭頭 | 音量增加/減少5% |
esc | 退出全屏 |
D | 開啟/關(guān)閉彈幕 |
F | 開啟/退出全屏 |
[ | 上一集 |
] | 下一集 |
所謂適配器,就是解析在線觀看網(wǎng)站的接口從而獲取搜索結(jié)果、視頻資源并提供給播放器播放的代碼模塊。在船新的1.1.0版本中,本軟件已經(jīng)可以支持兩種適配器的定義形式以及解析形式,分別為:
這種適配器使用dart代碼編寫,直接隨主程序編譯,運行速度和資源消耗上最有優(yōu)勢。當然,既然是隨主程序一起編譯,代價就是
- 加入新的適配器必須通過向主程序提交代碼的方式,即PR,并需要我的允許。
當然我也不會不允許就是了( - 新的適配器以及修復過期鏈接等操作必須隨新版本發(fā)布,并不靈活。
通過使用flutter_js,軟件內(nèi)置了一個JavaScript runtime,可以用來即時執(zhí)行JS代碼。利用這個JS runtime,我們可以隨時獲取互聯(lián)網(wǎng)上的適配器并添加到軟件中。雖然損失了一些性能,但畢竟搜索和解析視頻都是相對不頻繁的操作(相對于UI等等耗能大戶來說),因此不會造成太大影響。
關(guān)于如何定義自己的適配器,請參見KNKPAnime-js-adapters。
請從您信任的來源添加適配器
基于手寫規(guī)則的解析,需要編寫者去檢查網(wǎng)站代碼并找出視頻源的URL到底如何得到。
通過在軟件中跑一個不可見的瀏覽器,我們可以用他山之石來攻他山的玉,通過執(zhí)行原網(wǎng)站的全部操作并獲取視頻鏈接。
本項目受oneAnime啟發(fā),并在Anime1的適配器中借用了其代碼。
本項目使用了Bangumi、dandanplay的開放API。網(wǎng)站運營不易,請各位在能力范圍內(nèi)盡量支持這兩個網(wǎng)站的運營。