M6 DONE — torttube ships, Rick Astley plays fullscreen on the Livingroom Pi
Live install verified end-to-end:
- SSH'd into 192.168.0.158 (LibreELEC, Kodi 20.3 Nexus, kernel aarch64
/ userspace armhf — that's why the static Rust sidecar runs but the
PyInstaller yt-dlp binary couldn't)
- Dropped addon dir into /storage/.kodi/addons/
- systemctl restart kodi → Kodi rescans /storage/.kodi/addons/
- JSON-RPC Addons.SetAddonEnabled flipped enabled:false → true
- Player.Open with plugin URL → 7s yt-dlp resolve → VideoFullScreen.xml,
fullscreen:true, currentwindow 12005, audio+video synced
Fixes that surfaced during the install:
- yt-dlp swap: PyInstaller aarch64 binary needs ld-linux-aarch64.so.1
which LibreELEC doesn't ship. Switched to the universal Python zipapp
(~3MB) which runs on /usr/bin/python3.11. build-addon-zip.sh updated.
- main.py now puts the addon's bin/ dir on PATH so the sidecar's
Command::new('yt-dlp') call resolves to the bundled zipapp.
- Cosmetic fix: resolve.rs's classify_yt_dlp_error preserves the
original error message (was downcasing it for keyword matching and
then using the lowercased copy as the user-facing error).
Caveats logged for later:
- 360p ceiling (yt-dlp '-f best[ext=mp4]' picks itag 18; 720p
progressive itag 22 is deprecated by YouTube; higher quality wants
DASH manifest generation).
- ALSA sink: device 'sysdefault:CARD=vc4hdmi1' fails to open on this
Pi but Kodi auto-falls-back to 'sysdefault' so audio works. Worth
cleaning up in Kodi audio settings later.
MILESTONES + docs/install.md updated with the SSH + JSON-RPC alternate
install path.
This commit is contained in:
parent
283693525c
commit
284fe5fde7
5 changed files with 72 additions and 40 deletions
|
|
@ -27,6 +27,25 @@ drops the result at `/mnt/user/downloads/torttube/` (Lucy SMB).
|
|||
|
||||
Unsigned addons need `Settings → System → Add-ons → Unknown sources` ON.
|
||||
|
||||
## Install via SSH + JSON-RPC (no UI needed)
|
||||
|
||||
If SSH is enabled (`Settings → Services → SSH`):
|
||||
|
||||
```bash
|
||||
# from any LAN host with ssh access to the Pi
|
||||
scp plugin.video.torttube-0.0.1.zip kodi-host:/tmp/
|
||||
ssh kodi-host 'cd /storage/.kodi/addons && unzip -o /tmp/plugin.video.torttube-0.0.1.zip && chmod +x plugin.video.torttube/bin/*'
|
||||
ssh kodi-host 'systemctl restart kodi'
|
||||
|
||||
# wait ~5s for Kodi to come back, then enable the addon
|
||||
curl -u kodi:<pw> -H "Content-Type: application/json" -X POST http://<kodi-host>:8080/jsonrpc \
|
||||
-d '{"jsonrpc":"2.0","id":1,"method":"Addons.SetAddonEnabled","params":{"addonid":"plugin.video.torttube","enabled":true}}'
|
||||
```
|
||||
|
||||
Freshly-installed addons land in Kodi's database as `enabled:false` —
|
||||
the SetAddonEnabled call above flips that. Without it, Player.Open with
|
||||
the plugin URL fails silently with "Unable to find plugin" in kodi.log.
|
||||
|
||||
## Verify
|
||||
|
||||
After install, fire the smoke from any LAN client:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue