[討論] 用樹莓派自幹Chromecast替代品
將樹莓派改造為串流裝置,從手機投放的多媒體到樹莓派播放,最好連手機螢幕也能一併
鏡射上去。
https://i.imgur.com/t67iDFN.jpg
動機
雖然有買Chromecast,但是不想被單一產品綁住,所以嘗試用樹莓派DIY一個類似
Chromecast的裝置,採取開源方案。
加上我有一個閒置的喇叭,還有一塊雞肋的攜帶式螢幕,預計讓樹莓派搭配以上兩個組成
一個接收手機投放的裝置。
樹莓派安裝的作業系統是原廠的Debian Linux,搭配LXDE桌面環境。
在Google TV推出以前,Chromecast最主要的功能就是:
- 將手機的音訊串流到Chromecast裝置,包含串流音樂
- 將離線的影片或音樂串流到Chromecast裝置
- 鏡射手機螢幕到Chromecast裝置,包含串流Youtube影片
- 電子相框,待機時輪播照片
我暫時還沒想要與智慧家電的整合,雖然要的話也是可以。例如搭配HomeAssiatant套件
。
重點在於樹莓派要如何成為隨時能讓手機投放的裝置?
這個投影方案應該相容Android與iOS系統,電腦系統為次要支援對象。
投放過程應該要從手機端操作,不需要頻繁去動到樹莓派的設定。也就是主動從手機投放
,而非用手機去存取遠端的內容。故Volumio、Jellyfin、Roon之類的方案不在考慮列表
。
要講具體一點的場景的話,那就是我只要在手機按一個按鈕,就能選取要投放的對象,將
正在看的影片投放到樹莓派 ———— 不論那個影片是Youtube還是Setting的。
解法
用作業系統來分類吧。
iPhone相對單純,只要在樹莓派裝開源的AirPlay接收器「Uxplay」,就能透過AirPlay播
放iOS裝置上的影片和音樂,還有投放螢幕。
https://github.com/antimof/UxPlay
用Systemd將UxPlay設定為開機自動啟動服務,樹莓派便能隨時待命等待投放。由於
UxPlay的視窗是疊在X Server上面的,不投放的時候視窗關閉,下面的桌布就會露出來,
如是成為相片輪播功能。
用起來就像下圖展示的一樣:
https://i.imgur.com/5xSCI2v.jpg
Android手機情況比較混亂,有很多種解決方案,各家手機廠商甚至有自家的東西,但是
我不想依賴特定廠商的解決方案。
投放的協定通常是走Wifi,頻寬比較大。
最常見的是「Chromecast」,背後使用Google Cast協定,大部分Android手機都支援,能
將Android的螢幕和音效投影到Chromecast裝置。但Google Cast為專有協定,目前還沒有
人破解出來。AirScreen這類投屏軟體應該是私底下破解的。
一般人無法在沒有Google認證的情況下做出Chromecast接收端。目前最接近破解版
Chromecast的應該是這個Shanocast:
https://github.com/rgerganov/shanocast
另一個協定「Miracast」,這個只有部份Android手機支援(Google刻意讓Pixel不支援
Miracast,真的很壞,連帶影響到Sony Xperia),不是裝個APP就能解決的。如果有幸
支援Miracast,再於樹莓派裝Miraclecast接收端,就能夠投影手機螢幕到樹莓派,也可以
播放音樂和影片。
https://github.com/albfan/miraclecast
除了Miracast以外,還有更老的「DLNA」技術,僅部份手機支援。樹莓派安裝
gmrender-resurrect作為接收端。
https://github.com/hzeller/gmrender-resurrect
小結,以上的方案都有各種問題。如果真的要不分Android手機廠牌,在樹莓派跑「
Scrcpy」或許是個解法,螢幕和聲音都能傳過去。
https://github.com/Genymobile/scrcpy
但是它的用法比較像是從電腦控制Android手機,而非從手機端投影到電腦。
https://i.imgur.com/eMH8zpH.jpg
Scrcpy要從手機配對很麻煩,或許可以拿KDE Connect作為中介,寫個script,遠端控制
樹莓派執行adb pair指令,讓樹莓派能自動與Android手機完成無線配對,再啟動Scrcpy
Chromecast的應該是這個Shanocast:
https://github.com/rgerganov/shanocast
另一個協定「Miracast」,這個只有部份Android手機支援(Google刻意讓Pixel不支援
Miracast,真的很壞,連帶影響到Sony Xperia),不是裝個APP就能解決的。如果有幸
支援Miracast,再於樹莓派裝Miraclecast接收端,就能夠投影手機螢幕到樹莓派,也可以
播放音樂和影片。
https://github.com/albfan/miraclecast
除了Miracast以外,還有更老的「DLNA」技術,僅部份手機支援。樹莓派安裝
gmrender-resurrect作為接收端。
https://github.com/hzeller/gmrender-resurrect
小結,以上的方案都有各種問題。如果真的要不分Android手機廠牌,在樹莓派跑「
Scrcpy」或許是個解法,螢幕和聲音都能傳過去。
https://github.com/Genymobile/scrcpy
但是它的用法比較像是從電腦控制Android手機,而非從手機端投影到電腦。
https://i.imgur.com/eMH8zpH.jpg
Scrcpy要從手機配對很麻煩,或許可以拿KDE Connect作為中介,寫個script,遠端控制
樹莓派執行adb pair指令,讓樹莓派能自動與Android手機完成無線配對,再啟動Scrcpy
視窗?
以上協定全都不要?
最後再看看主流協定以外的替代方案。
以前有個叫做Raspicast的專案,能將Android手機影片投放到樹莓派。可是技術太舊,
沒法更新了。
NymphCast為一套完整的解決方案,開放原始碼,目前已經能夠投放音樂和影片,尚提供
媒體伺服器的功能。
https://github.com/MayaPosch/NymphCast
無須特殊硬體,安裝APP便能投放,作者有寫一個參考實現客戶端,能用來播放音樂,並
且支援一對多。播放完畢視窗會自動關閉。
https://i.imgur.com/QyfmWz4.jpg
另一個是FCast,由FUTO組織所研發的協定,已經有接收端程式。配合他們家的GrayJay
APP就能投放影片。GrayJay是將YouTube、Twitch、Oddysey整合在一起的大雜燴,算是異
色版NewPipe吧。可惜GrayJay是假開源APP。
https://grayjay.app/
※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1731148503.A.3E7.html
推
11/09 18:37,
3天前
, 1F
11/09 18:37, 1F
推
11/09 18:42,
3天前
, 2F
11/09 18:42, 2F
推
11/09 18:42,
3天前
, 3F
11/09 18:42, 3F
→
11/09 18:43,
3天前
, 4F
11/09 18:43, 4F
推
11/09 18:48,
3天前
, 5F
11/09 18:48, 5F
推
11/09 19:29,
3天前
, 6F
11/09 19:29, 6F
推
11/09 19:35,
3天前
, 7F
11/09 19:35, 7F
推
11/09 19:49,
3天前
, 8F
11/09 19:49, 8F
→
11/09 19:49,
3天前
, 9F
11/09 19:49, 9F
推
11/09 19:55,
3天前
, 10F
11/09 19:55, 10F
推
11/09 20:01,
3天前
, 11F
11/09 20:01, 11F
→
11/09 20:01,
3天前
, 12F
11/09 20:01, 12F
→
11/09 20:01,
3天前
, 13F
11/09 20:01, 13F
→
11/09 20:01,
3天前
, 14F
11/09 20:01, 14F
是的,這些方案可能只適合特殊用途。螢幕不一樣的問題Android可以用SecondScreen改
推 shinmori : 要便宜原廠認證airplay的話,去買一台roku電視棒 11/09 20:12
其實我是幻想樹莓派一台打全部啦,但看來除了Uxplay以外的投放服務都不好用
→
11/09 20:13,
3天前
, 15F
11/09 20:13, 15F
推
11/09 20:19,
3天前
, 16F
11/09 20:19, 16F
推
11/09 20:29,
3天前
, 17F
11/09 20:29, 17F
推
11/09 20:50,
3天前
, 18F
11/09 20:50, 18F
推
11/09 20:57,
3天前
, 19F
11/09 20:57, 19F
推
11/09 21:12,
3天前
, 20F
11/09 21:12, 20F
→
11/09 21:13,
3天前
, 21F
11/09 21:13, 21F
→
11/09 22:06,
3天前
, 22F
11/09 22:06, 22F
※ 編輯: ivon852 (223.139.134.238 臺灣), 11/09/2024 22:23:08
→
11/09 22:35,
3天前
, 23F
11/09 22:35, 23F
→
11/09 22:35,
3天前
, 24F
11/09 22:35, 24F
→
11/09 22:51,
3天前
, 25F
11/09 22:51, 25F
推
11/09 23:07,
3天前
, 26F
11/09 23:07, 26F
→
11/09 23:51,
3天前
, 27F
11/09 23:51, 27F
Chromecast功能要授權吧,即使樹莓派能刷Android TV也沒辦法直接用Chromecast
推
11/10 00:06,
3天前
, 28F
11/10 00:06, 28F
推
11/10 01:12,
3天前
, 29F
11/10 01:12, 29F
推
11/10 01:15,
3天前
, 30F
11/10 01:15, 30F
推
11/10 01:35,
3天前
, 31F
11/10 01:35, 31F
※ 編輯: ivon852 (223.139.134.238 臺灣), 11/10/2024 01:54:40
→
11/10 03:55,
3天前
, 32F
11/10 03:55, 32F
推
11/10 09:06,
2天前
, 33F
11/10 09:06, 33F
推
11/10 09:24,
2天前
, 34F
11/10 09:24, 34F
推
11/10 11:18,
2天前
, 35F
11/10 11:18, 35F
推
11/10 12:33,
2天前
, 36F
11/10 12:33, 36F
推
11/10 16:15,
2天前
, 37F
11/10 16:15, 37F
→
11/10 16:15,
2天前
, 38F
11/10 16:15, 38F
→
11/10 16:19,
2天前
, 39F
11/10 16:19, 39F
→
11/10 16:26,
2天前
, 40F
11/10 16:26, 40F
→
11/10 16:27,
2天前
, 41F
11/10 16:27, 41F
推
11/10 17:29,
2天前
, 42F
11/10 17:29, 42F
推
11/10 17:36,
2天前
, 43F
11/10 17:36, 43F
推
11/10 18:50,
2天前
, 44F
11/10 18:50, 44F
推
11/10 20:27,
2天前
, 45F
11/10 20:27, 45F
→
11/10 20:28,
2天前
, 46F
11/10 20:28, 46F
推
11/10 21:45,
2天前
, 47F
11/10 21:45, 47F
→
11/10 21:45,
2天前
, 48F
11/10 21:45, 48F
→
11/10 21:45,
2天前
, 49F
11/10 21:45, 49F
→
11/10 21:45,
2天前
, 50F
11/10 21:45, 50F
推
11/10 22:05,
2天前
, 51F
11/10 22:05, 51F
推
11/10 23:06,
2天前
, 52F
11/10 23:06, 52F
推
11/11 02:40,
2天前
, 53F
11/11 02:40, 53F
推
11/11 04:47,
2天前
, 54F
11/11 04:47, 54F
MobileComm 近期熱門文章
PTT數位生活區 即時熱門文章