老笔记本的新家——OPENELEC搭建HTPC影音系统(干货很多)
本文实现的目标:
1. 通过GPART分区工具实现WIN7和OPENELEC双系统启动。
2. 将笔记本VGA输出到电视,并实现1920x1080p的输出。
3. 手机投屏到KODI播放,目前仅支持DLNA和airplay。
背景需求
俗话说,主打轻薄的笔记本性能都不会太好,贴这个图只是为了说明笔记本有多老,相信绝大多数人的配置肯定比我这个好,这个2010年买的轻薄笔记本到现在已经有快10年历史了,配置是CM743低压单核赛扬CPU,1G内存,160G硬盘。CPU是焊死的,无法升级 。 中间加过内存到2G,换过键盘,一直磕磕绊绊的用,换了不下3个电源适配器了。想到卖又有点舍不得,就琢磨用这个电脑做HTPC,看NAS里面的电影,手机投屏还有电视直播。
这台笔记本只有一个VGA视频输出接口,可以输出1920x1080的分辨率外接显示器。但是电视自带的VGA口的分辨率最大只能到1024x768,所以只能考虑使用HDMI接口。在某宝上购买了VGA转HDMI转换头1个,3.5双公头音频线1根,USB转MicroUSB充电线1根给VGA转HDMI接口供电。这个转接口跟我折腾过安卓x86,remix os,凤凰os等,我买的VGA转HDMI适配器开机只支持到1024x768的最大分辨率,需要在系统中设置成1920x1080分辨率,但是分辨率设置在安卓x86系列的电脑中实现起来很麻烦,就算通过wm_size命令修改分辨率还需要电视调整缩放,每次重启还是要再来一遍,没有做HTPC的快感,而且X86跑安卓应用本就是效率很低的事情,加上系统优化以及CPU自身性能的问题,这个CPU占用率一直在100%,风扇狂转不止。所以我把目光又回到了windows系列和linux发行版,但是这个功耗仅10W的低压赛扬的U本身性能就差还是个单核,估计和ATOM 230 270 280之流有一拼,而内置的X4500MHD显卡在win7和vista下才有比较好的驱动支持可以通过终极解码2009版中开启DXVA进行硬解码。但是问题来了,win7开机一分多,加上kodi加载已经快两分钟了,而且反应速度惨不忍睹,无法达到我开机就用的标准。并且kodi早就不支持XP了,就算XP系统再流畅也只能装老版本,而且windows系统下弹窗和广告比较多,很影响看电视时候的心情,我没有键盘鼠标很难操作,也就放弃了windows系列。所以我把目光投向了LINUX的发行版,之前做HTPC的时候折腾过一阵子ION平台,当时这个OPENELEC给我印象深刻,启动很快,而且能很好的驱动显卡进行硬解压,CPU的占用率并不高,符合我的要求,于是我这番故地重游又开始了折腾之旅。
工作准备
我的笔记本只有VGA输出,而家里的55寸海信电视的VGA只能支持到1366x768分辨率。 这里要吐槽一下海信,虽然这个口用不到几次,不至于弄个20寸电视的电路板吧,电视也是老年选手了,没有安卓系统无法投屏也没有app,这俩老家伙在一起还真是合适。
某宝买的VGA转HDMI适配器,当时一起买了3.5寸音频接口双公头线,这个安卓的充电线是随盒子一起送的,至于VGA视频线我没买,家里显示器换HDMI线剩下一根,正好利用旧的。
然后要准备3个U盘,其中只要大于1G就行,因为要用到的系统都不大,都在200M左右。另外一个U盘可以稍微大一点,用来做PE安装win7系统。如果没有3个U盘那就一个U盘做三次系统吧,因为每次只用1个盘就够了。
大家可以去网站中下载相对应的软件和系统
openelec: (选择Generic Builds DiskImage)
puppy linux:(或者你自己熟悉的linux系统只是为了用GPart分区软件)
win32diskimager:(U盘PE系统,这个百度上很多,找个能用的就行了,主要用来安装win7)
目标1:多系统引导
首先,安装openelec会清空所有的硬盘空间。所以一定要先备份重要数据,先备份数据,先备份数据,别问我怎么知道的。
用win32image把下载好的openelec的img镜像写入到U盘中,这一步会格式化掉所有的u盘。切记!U盘制作好之后就把这个引导盘插入到笔记本的USB口,开机,从U盘引导,安装OPENELEC。我的笔记本的BIOS是默认USB优先,如果你的电脑不是可以看下自己电脑的说明,比如启动按F9 F11 F12之类的,我这个是F11。欢迎字样过去后就弹出一个安装页面,只有3个选项,选第一个,也就是quick install那个,省力省心。然后会提示你格式化掉所有分区这类的,一路yes就行了,安装好以后会提示你把U盘拔掉,重启。这时候选reboot。但是先别急,把另一个做好的puppy linux u盘插上再拔掉这个重启,免得手忙脚乱。
下载好Openelec的img镜像,通过Win32 Disk Imager把镜像写入U盘
然后就开始安装过程,为了大家看的清楚系统安装和分区的过程我都在虚拟机中完成,实际的操作和这些一样。
首先在主板的bios设置中设置成从U盘启动,或者开机按F9,F11,F12等(跟自己的主板有关)选择从U盘启动,一阵简单的欢迎界面后出现boot:等一会就出现了安装界面。首先提示安装会格式化掉全部硬盘,我们选第一项快速安装openelec。
安装好了,拔下openelec安装盘,插上puppy引导盘。
我下载的盘是slacko64,这里通过live引导即可。
欢迎界面点ok关闭,左上角找到Applications——system——GParted Partition Manager
我这里是虚拟机,默认就是自己的硬盘,选ok。
进来以后就能看到磁盘分区了,第一个分区有512mb,是system,这个分区不要动。我们把第二个分区缩小,这个容量可以根据自己的需求定。我考虑到以后会更新系统或者下载必要的插件,我考虑设置成3.5G。在分区上点右键或者选中这个分区点菜单上resize/move选项调整分区大小。这里设置容量的单位是MB,我们按照1GB=1024MB来计算,3.5G就是3584MB,所以在New Size这里我们改成3584,选Resize/move 这时候这个分区后面的空间都变成了灰色,也就是未分配状态。然后我们点菜单上的apply等一会就调整好了。
写好3584以后,在下边的frees pace那里点一下鼠标就出现后面的分区容量了,然后点resize/move
到这里,退出系统,选择关机,关机时候会提示是否保存,系统应用设置,这里我们选否,然后系统会关闭。
这里再用PE的引导盘装载WIN7的镜像来做双系统引导,因为这里用的是easybcd的软件,这个软件不支持XP。原本在htpc1里有openelec和xp双系统启动的帖子和附件,但是grub4dos的引导教程的grub压缩包已经随着htpc1原动力论坛的消失一起找不到了。所以我这里也没有去尝试xp系统用grub4dos去引导,理论上应该编辑好menulst就可以。希望有当年留存过这个grub配置文件的朋友能在留言区给我留个百度云连接或者联系我,这里万分感谢。
话归正题,在PE中我要做两件事,DISKGEN工具分区,并激活主分区。另外,安装win7系统。
进入PE启动盘后打开diskgenius磁盘分区工具。
进入软件后选中后面没有分区的灰色部分,点击菜单上的新建分区,这里不要点快速创建,这样会把整个硬盘的分区抹掉,前面openelec的安装就白忙活了。而且Diskgen中不支持4个以上的主分区,也就是说我最多还能在这块盘的剩余空间中分2个区,主分区用来安装系统,扩展分区用来放数据。当然你可以只分一个主分区安装系统,然后在系统的管理软件里面再分后面的分区。主分区分好以后一定记得在菜单中点一下激活分区,这样这个分区才能正常的引导win7。一切做好后关闭diskgen。
然后安装win7系统。安装好以后重启,进入win7安装界面。
win7装好以后下载easybcd,最新的是2.3版本,可以选择中文。在左边菜单中选择增加引导,选到linux/bsd引导,这里默认的是grub langcy不要改,在选择硬盘的下拉菜单中找到512m的这个分区,点确定。这个软件中也可以设置开始菜单等待的时间,我这里设置成5秒,感觉足够自己反应切换了。因为我想默认启动openelec,所以默认启动项设置成openelec。然后重启,这时候出现了两个菜单选项,第二个就是openelec。至此,多系统引导安装完成。
在这里可以把OPENELEC设置成开机默认启动项
我用网线直连,默认获取了ip地址,如果用无线网卡需要连接一下。
目标2:将笔记本的VGA输出到电视
这个问题困扰了我半天的时间,因为KODI系统国内已经很少人用了,国内能查到的有关OPENELEC的资料也非常少,好在OPENELEC的官网还有个forum社区,里面有很多有价值的文章。比如很多人就提到用xrandr这个命令修改分辨率,这给了我很大的启发,因为ubuntu中是可以这样做修改分辨率让系统支持不能正常识别的显示器。我目前也碰到了一样的问题,话不多说开搞。
我的笔记本带了一个VGA接口,开机的时候显示器和电视会同步显示。因为笔记本的显示器最高只能支持到1366x768,而且笔记本上切换显示的快捷键在OPENELEC下面也没有作用,这就需要在openelec的引导页面增加一段代码。我们把puppy linux的启动盘插入电脑,开机进入桌面后在左下角能看到sda1,这个就是openelec的系统和引导分区。找到在extlinux.conf这个文件中修改了KERNEL /KERNERL之后的字段,在后面添加video=LVDS-1:d。
kernel /kernel后面加上 video=LVDS-1:d就可以关闭笔记本显示器,只用VGA输出了
第一次进入OPENELEC的时候会提示你是否开启SSH和SAMBA,如果没开启或者忘了也没关系,可以在系统设置中找到服务,开启SSH。然后我们找另一台电脑用putty登录进去,用户名root,密码openelec。因为本人用的是笔记本电脑,无法像台式机那样切换显示器,所以我就,保存退出。如果你对VI编辑器不熟悉可以用winscp登录,用自带的编辑器编辑,但是一定要在编辑的时候把编码选成UTF8,以防出什么幺蛾子。这时候重启进入OPENELEC系统时候笔记本的屏幕已经全黑只有VGA输出连接的电视在亮。如果你的电脑不是笔记本而是台式机,显卡的VGA口直接接电视,这一步可以不做。
然后我们需要用到一个工具叫putty。openelec连上网络以后在设置,openelec网络里面会查询到ip地址,我们在同一个局域网下打开另外一台电脑下载putty准备用ssh连接到openelec下。打开putty,输入openelec的ip地址,端口默认22。打开用户名为root,密码是openelec。putty软件粘贴命令点鼠标右键即可。
进入以后就可以看到命令提示符了,首先输入xrandr查看目前openelec显卡输出的情况。因为我的显卡已经加入了1920x1080分辨率的模式,所以这里截图和大家的情况可能不一样。我买的这个VGA转HDMI的转接头默认情况下只有640x480,800x600,1024x768这3个分辨率选项。接下来我们还需要用xrandr命令来添加并且输出1920x1080分辨率。
能够看到几行参数screen lvds-1 vga-1 dp-1,我的机器只有VGA-1输出。
接着输入下一条命令:xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
其中前面的1920x1080_60.00表示1920x1080分辨率60Hz刷新率,主要是后面的参数。这个参数在ubuntu里面可以通过CVT命令查到,格式是CVT 1920x1080,会自动列出本机可以使用的参数,但是这个openelec系统没有CVT参数,无奈我只能从万能的百度拉过来一个用。有条件不怕折腾的朋友可以用ubuntu的livecd看一下自己的参数是什么。
添加了新的分辨率模式以后,我们需要把这个模式分配给接口。前面用xrandr命令查看显示信息的时候,我输出的显示接口是VGA-1接口,其他接口都没有输出。所以我们需要把刚刚添加的新的分辨率分配给这个VGA-1接口。
xrandr --addmode VGA-1 "1920x1080_60.00"
然后,再让VGA-1接口输出1920x1080分辨率
xrandr --output VGA-1 "1920x1080_60.00"
额,我的电视咋没反应。别急,可能需要在系统选项中设置下显示分辨率。找到openelec的设置,找到显示发现default和VGA-1中都还是640x480 ,到底是什么鬼我也不太明白,反正设置里面终于可以选1920x1080p了,我怀着激动的心情,选上,确认,保存。电视一闪终于全屏拉,哇咔咔。如果你的电视画面出现偏离或者别的地方出问题可以用电视的遥控器找下缩放功能,我选了点对点输出,这样效果很好。
xrandr有个问题就是一次输入命令,重启后就失效了。开始我想到了xrog在ssh里面晃悠。进入先ls一下发现都是video之类的,没有etc文件夹。试着cd /etc找到了etc文件夹,再ls查看里面都有啥,有个X11文件夹,里面有nvidia.xconf文件,这个不是我的集显用的,看样子修改xorg是很困难了。不过,山人自有妙计。用winscp找到storage文件夹,里面有一个.config的文件夹,这里就记录了开机启动的文件,我们在这个文件夹里新建一个文件,名字可以叫autostart.sh,用winscp打开文件,把把刚才输入的xrandr的三行粘贴进去就行了。代码如下:
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync”
xrandr --addmode VGA-1 "1920x1080_60.00"
xrandr --output VGA-1 "1920x1080_60.00"
登录后打开storage目录,找到.config文件夹,如果你的WINSCP看不到,尝试用ctrl+alt+H组合键打开隐藏文件
编辑好这个autostart.sh以后保存退出,这一切都搞定以后,在putty中输入poweroff或者在软件中选择关机。然后重新开机看看设置成功没有。我的电脑设置好以后每次开机都可以自动1920x1080p全屏了,非常带感。
把defaults设置成1920x1080,弹出提示点确定。
目标3:手机投屏到KODI播放,目前仅支持DLNA和airplay
做这一步之前首先开机进入笔记本的BIOS设置中查看下这东西是不是支持PME或者PCIE网卡的WOL唤醒类似wake up字样的东西,我这个小破本找了半天也没有,没办法只好放弃了。设置好以后保存,进入OPENELEC。然后我们在手机上安装控制端让他更像是一个电视在遥控。网上类似的东西很多,我选了一个叫kore的软件,貌似是官方的。如果大家有更好用的麻烦留言中给我推荐,软件装好设置好OPENELEC的IP后(建议这个IP在路由器上绑定地址,以免设置好了总变)连接好以后手机遥控软件的右上角就可以点击开关KODI了,这个设置真的很人性化。至于手机投屏应该是KODI的看家本领了,在外网访问的服务中有一个upnp这里打开。然后在服务中找到DLNA和AIRPLAY把服务都打开。然后在手机上找个爱奇艺或者pptv之类的软件打开一个视频点击TV投屏看下吧,不出意外应该会搜到openelec或者kodi,点击就能投屏成功了,画质音效都不错。
我本打算做一节来写KODI播放视频直播看电视的教程,但是网上帖子很多,而且m3u文件会不定期的更新让我感到很麻烦。所以这里就没再去写,我手机上安装了一个CIBN手机电视的应用可以把电视节目投到KODI上观看,这种对我来说或许更适合。之前美化,搜刮,下字幕这些KODI很强大的功能,大家上车后可以搜索或者到HDP高清范等论坛上去查,我写这篇文章的初衷是解决硬件上的问题,让很多有老电脑但是没有HDMI接口的朋友可以多一个思路。还记得我刚这个HTPC只是为了不想给小区的有线电视交钱,也是从小白一步一步走过来,折腾过OMV,黑群晖,deploy linux。没想到自己卖了最早的ION的五年后又回来折腾,但是已经在折腾中学会了很多东西,这里我还是要贴一下当时给我很大震撼的一篇帖子,我从来没想过要用openelec来做btsync,我把这篇帖子贴出来希望感兴趣的朋友可以看一下。
折腾呢就是要多看多想多动手,不是有句话说的好,不试一下,怎么知道自己真的不行呢。
Servant
校验提示文案
值友9936435027
校验提示文案
ksqn48awl
校验提示文案
shanyb
校验提示文案
[已注销]
校验提示文案
Sedgewick
如果愿意继续折腾的话,我倒是建议电视换同尺寸或更大尺寸的4K。毕竟相比1080P画质提升还是很大的。而海信这么大的屏幕狂耗电却不能给出优质的画质输出,不划算。
校验提示文案
被大学上
校验提示文案
two4mamba
校验提示文案
-黑黑-
校验提示文案
lipiding
校验提示文案
只爱老歌
校验提示文案
krido
校验提示文案
Asuran
校验提示文案
只爱老歌
校验提示文案
lipiding
校验提示文案
-黑黑-
校验提示文案
two4mamba
校验提示文案
被大学上
校验提示文案
Sedgewick
如果愿意继续折腾的话,我倒是建议电视换同尺寸或更大尺寸的4K。毕竟相比1080P画质提升还是很大的。而海信这么大的屏幕狂耗电却不能给出优质的画质输出,不划算。
校验提示文案
[已注销]
校验提示文案
shanyb
校验提示文案
Asuran
校验提示文案
ksqn48awl
校验提示文案
值友9936435027
校验提示文案
Servant
校验提示文案
krido
校验提示文案