zoukankan      html  css  js  c++  java
  • 自制电视机

    用树莓派制作电视机

    一、所需硬件

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

    树莓派有两种音视频输出方式: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。

    详情请参考

    人生有很多自己在意的事,但是要学会不介意!
  • 相关阅读:
    ACM第六周竞赛题目——A LightOJ 1317
    数学概念——J
    数学概念——I
    数学概念——D 期望
    数学概念——A 几何概型
    数学概念——E 期望(经典问题)
    数学概念——F 概率(经典问题)birthday paradox
    数学概念——H 最美素数
    数学概念——G 最大公约数
    UVa1328
  • 原文地址:https://www.cnblogs.com/smqh-bokeyuan/p/12801082.html
Copyright © 2011-2022 走看看