记编译linux版的moonlight

前言

想用开发版+便携屏代替笔记本,目前找得到的给rockchip芯片使用的moonlight是4.3.1,这个版本不支持触摸的样子。所以想编译个6.0的版本,记录一下踩坑的过程。

踩坑过程

看到armbian的论坛(https://forum.armbian.com/topic/41474-building-latest-moonlight-qt-version/)也有人讨论这个解码延迟的问题,论坛上的帖子好像说解码延迟并不是noticeable,但是我还是能感到明显的解码延迟、鼠标不跟手。rockchip-multimedia的这个作者说他编译4.3.1的版本的时候,用的是4.4.2版的libavcodec-dev,ppa上新版的libavcodec是基于ffmpeg 6.0的。然而这个ppa上4.4.2的libavcodec-dev似乎失传了,然后就进入了疯狂踩坑的过程。
一开始我还以为是moonlight版本的问题,把moonlight版本切回4.3.1用ffmpeg6.0的环境编译,也出现了高延迟。
最后把6.0 ffmpeg相关的开发库都卸载了,换成了ubuntu原版的,延迟又回到了10ms以下,鼠标也相对跟手了。
切回moonlight6.0的代码后编译,av1解码也能用。

小记

这次尝试用docker环境构建,直接在电脑上用arm版的Ubuntu作为编译环境,这样安装库什么的都不会影响到当前环境,复用起来好像比chroot还方便

1
2
sudo apt install qemu qemu-user-static
docker run --rm --privileged multiarch/qemu-user-static:register --reset

这样操作一下就可以用arm版的docker镜像了。

作者

ZhongHuihong

发布于

2024-06-28

更新于

2024-06-29

许可协议