自制电视机【树莓派应用】

用树莓派制作电视机

一、所需硬件

显示器或电视机自然必不可少,如果显示器不带外放,还需要一个音箱或扬声器(可以利用蓝牙音箱)。

树莓派有两种音视频输出方式:HDMI 和 RCA。连接电视机/显示器有以下几种方案:

  • 1.一般的电视机和稍好点的显示器应该都有 HDMI 接口,直接与树莓派的 HDMI 接口相连即可。

  • 2.差一点的显示器可能只有 VGA 或 DVI,用转接线应该也可以。

  • 3.老式电视机可以通过 RCA 接口连接,树莓派将 RCA 插孔与 3.5mm 音频插孔合并了,与一般的 RCA 插头上四节顺序不同,需要转接一下。

二、Kodi

  • kodi 是一个强大、美观、跨平台、可扩展的媒体中心软件,一直享有盛誉。以前玩 linux 的时候,还叫 xbmc。树莓派上有一些内置 kodi 的操作系统,比如 OpenElec、OSMC(Raspbmc),建议直接选择这类操作系统,省掉一些不必要的麻烦。因为之前做了很多自定义配置,不想重装系统,所以我选择了在 Raspbian 上安装 kodi。

如果想在树莓派直接安装kodi系统,可查看了另一篇博客

    1. 安装 kodi
      安装过程主要参考:

添加额外软件源,编辑 /etc/apt/sources.list.d/mene.list ,添加:

deb http://archive.mene.za.net/raspbian wheezy contrib

可以在后面加上 unstable 以使用最新的 kodi,缺点是可能不大稳定。

导入 key 以信任该软件源:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED

然后,更新软件源,并安装 kodi:

sudo apt-get update
sudo apt-get install kodi

可以使用用户 pi 或 kodi 运行,以 pi 为例,确保 pi 在以下 group 内:

audio video input dialout plugdev tty

使用 groups pi 查看 pi 所属的 group,使用 useradd -G pi 把 pi 加入到某个 group。

添加 udev 规则,编辑 /etc/udev/rules.d/99-input.rules ,加入:

SUBSYSTEM=="input", GROUP="input", MODE="0660"
KERNEL=="tty[0-9]*", GROUP="tty", MODE="0660"

如果要开机启动,编辑 /etc/default/kodi ,设置:

ENABLED=1
USER=pi

设置分配给 GPU 的 RAM 大小,最好不低于 128M,修改 /boot/config.txt :

gpu_mem=256

2. 插件及设置

首先,把界面改为中文。选择 SYSTEM 底下的 Settings,打开设置界面,选择 Appearance,然后选择 Skin,右侧 Fonts 改为 Arial Based,接着选择 International,右侧 Language 改为 Chinese (Simple),稍等片刻,界面就变为中文了。

然后,可以更换你喜欢的主题。 更换主题前请将 Language 改为 English ,不然换了主题以后很有可能中文字符全都变成方块,找不到设置菜单。选择『皮肤』,右侧『皮肤』显示目前是默认的 Confluence,回车可以查看其他主题。吐槽一下,主题不支持预览也就算了,有些居然连图片都没有,也是醉了。除了 Confluence 以外,比较优秀又耗资源较少的首推 Amber。不过 Amber 似乎没有网格视图,可能会有少许 bug。换了『皮肤』以后,底下的『导航音效』也可以设为主题配套的音效

接着,打开遥控功能。设置里面选择『服务』,然后选择『Web 服务器』,勾选『允许通过 HTTP 控制 Kodi』并设置『端口』、『用户名』、『密码』,之后就可以通过手机 app 遥控 kodi 了。Android 上可用 Yatse,iOS 可用 Kodi Remote。我用的是 Kodi Remote,有些功能是隐藏的,比如长按菜单按钮打开上下文菜单等。

『服务』里面还有一些其他设置,比如 UPnP(可取代 上一节 的 MiniDLNA)、AirPlay(可取代后面的 shairport-sync)等。

如果音频是外接音箱,需要设置音频输出。设置里面选择『系统』,然后选择『音频输出』,修改『音频输出设备』。如果通过 3.5mm 插孔连接,选择 Pi:Analogue ,如果通过 USB 声卡连接,选择 ALSA: USB 2.0 Device 。(音频选择 ALSA 之后,将不能使用 OMX 加速。)

最后,就是安装插件了。官方插件库以英文为主,中文插件库有 xbmc-addons-chinese ,和 HDPfans ,HDPfans 里面很多插件已经失效。下载 zip 文件之后,在设置里面选择『插件』,然后选择『从 zip 文件安装』。安装完成以后,可以在『获取插件』里面看到『Chinese Add-ons』和『HDPfans 中文插件库』。

插件库里的插件类型有音乐插件、视频插件、图片插件、服务、字幕、歌词等等。目前(14.2版本)基本可用的插件有:PPTV、Youku TV、百度云、奇艺视频、搜狐视频、亚洲电视、CNTV 等等,这些插件大都有一些 bug。体验最好的当属 Youku TV ,直接模拟 Youku TV 官方 app 的界面,与盒子界面风格一致,里面提供三种分段方式:『分段』、『堆叠』、『m3u8』,不幸的是分段、堆叠这两种方式在树莓派上不能开启硬件加速,只有声音没有图像,这跟优酷 flv 的格式有关,m3u8 在每一段衔接的地方会卡一会儿,而且不能续播。百度云插件可以观看百度网盘的视频,只是缓冲速度比较慢,我这儿 4M 小水管基本不能看。

说到本地资源管理,不得不提到刮削器。刮削器的作用是根据文件名获取电影、电视剧等相关信息,常用的有豆瓣刮削器、时光网刮削器。目前刮削器还很不智能,必须对视频重命名才能正确获取信息。具体使用方法是,在视频、音频里面添加一个目录,然后设置刮削器,每当添加新文件,需要更新资料库。

顺便提一下,目前 kodi 有个 bug,退出之后会黑屏,无法回到桌面。

3. 性能优化

  • kodi 有一些高级设置在 GUI 里面无法修改,可以编辑 ~/.kodi/userdata/advancedsettings.xml 来修改。里面有很多设置项,可以参考 官方文档 ,常见的网络相关的设置有 buffermode、readbufferfactor、cachemembuffersize 等,当网络不好时可做如下设置:
<advancedsettings>
    <network>
        <buffermode>1</buffermode>
        <readbufferfactor>4.0</readbufferfactor>
        <cachemembuffersize>41943040</cachemembuffersize>
    </network>
</advancedsettings>

其中, buffermode 表示哪些文件需要缓存(网络、本地),设为 1 表示缓存所有文件; readbufferfactor 表示缓存填充速率,设为 4.0 则下载速率限制为 4.0 * 视频平均比特率; cachemembuffersize 表示缓冲区大小,设为 40M 则实际 RAM 占用为 3 * 40M = 120M。

详情请参考

posted @ 2020-04-29 11:34  Sunny_SunShine  阅读(1280)  评论(0编辑  收藏  举报