为什么是打造家庭影院,主要还是因为我有台电视机,想把手机投屏到上面看电影,但又不想买电视盒子,干脆就用树莓派来打造好了。
参考通过KODI 观看IPTV电视直播 手把手教程
参考[原创干货]用树莓派看电视
参考PotPlayer新用法:电脑看电视、全球8000+直播源、高清
参考Kodi/XBMC手机遥控器使用图文教程

1 安装kodi

kodi是一个屡获殊荣的自由和开源的跨平台媒体播放器和用于HTPC(Home theater PC,家庭影院PC)的数字媒体娱乐中心软件,可以运行在Linux、OSX、Windows、Android 系统。最初为 Xbox 而开发,叫XBMC(全称是XBOX Media Center),顾名思义就是 Xbox平台的媒体中心。

1.1 安装kodi本体和插件

使用 apt-show-versions 列出软件所有版本,并查看是否已经安装
$ sudo apt-get install apt-show-versions
$ apt-show-versions -a vim
还可以通过apt-show-versions -u package查询是否有升级版本。

(1)首先ssh登录树莓派,安装kodi本体软件包:
sudo apt-get update #更新系统软件
sudo apt-get install kodi
(2)安装PVR插件
这个插件不装的话看不了电视直播,所以基本也是必装的。
sudo apt install kodi-pvr-iptvsimple

1.2 修改GPU显存大小

树莓派上的内存是分一些给CPU用,分一些给GPU用的,GPU占用的默认是64M。
如果我们不用树莓派的桌面的话,没必要分那么多,可以把它降到最低16M。
反过来,如果你用树莓派做视频播放、浏览网页,那么就要多分一点:最起码256M或512M。

sudo raspi-config

(1)选择Performance Options

(2)选择GPU Memory

(3)修改为512M。
目前使用中设置为256M就可以了,如果看某些高清视频还出现卡顿的话可以再调大一些。

2 开启kodi

2.1 首次启动

(1)树莓派 HDMI 连接上显示器,并通电启动。
(2)显示器video打开kodi就会出现kodi的界面。

2.2 设置语言

kodi原生支持中文,但是在修改语言前需要先更改主题字体。
否则改完语言后,所有中文都将显示为方框。
(1)打开Settings/ Interface / Skin / Fonts 设置为 Arial based。
接下来就可以设置语言了。
(2)打开 Settings / Interface / Regional / Language 设置为中文。
如果Regional中只有English,关闭kodi并重启树莓派,再次进入kodi即可。

2.3 允许远程控制

设置好语言后可以再服务中开启允许远程控制,就可以用手机上的遥控器控制了。
目前Kodi支持两种方式,分别是网页远程控制和Kodi遥控软件。
(1)打开kodi播放器,进入System【系统】->Settings【设置】->Services-【服务】>Webserver,选中允许远程控制。
注意:端口号、用户名和密码默认即可。
(2)快控(Kodi遥控器)。

3 网络直播节目

3.1 插件安装

PVR IPTV Simple Client插件的安装,通过KODI 插件库中的PVR IPTV Simple Client插件进行IPTV的播放的,所以我们首先要进行插件的安装。

(1)点击KODI主页面的的设置按钮,进入设置界面。
(2)点击插件按钮,进入插件页面。
(3)选择我的插件。
(4)选择PVR客户端。
目前只安装了PVR IPTV Simple Client插件,所以直接选就好了。
(5)点击设置。
(6)将常规-位置部分改到local path(本地路径)。
(7)选择M3U playlist path。
(8)找到并选择M3U8视频源。
(9)回到KODI主界面,选择电视。

3.2 直播源

直播源地址:https://github.com/iptv-org/iptv/blob/master/README.md。
这是一个开源项目,有8000 的播放源,并且有详细的分类。
Collection of publicly available IPTV channels from all over the world.
Internet Protocol television (IPTV) is the delivery of television content over Internet Protocol (IP) networks.
收集来自世界各地的8000多个公共IPTV频道。
互联网协议电视(IPTV)是通过互联网协议(IP)网络传送电视内容的方法。

3.3 IPTV

随着科技的进步,曾经的黑白电视逐渐变成了彩色电视,然后变成了液晶电视,从天线变成了网络电视,现在又出了iptv,可能很多人并不知道iptv是什么意思,下面就来说说iptv的意思。

PTV即交互式网络电视,是一种利用宽带有线电视网,集互联网、多媒体、通讯等多种技术于一体,向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。

其系统结构主要包括流媒体服务、节目采编、存储及认证计费等子系统,主要存储及传送的内容是以MPEG-2/4标准为编码核心的流媒体文件,基于IP网络传输,通常要设置内容分配服务节点,配置流媒体服务及存储设备,用户终端可以是IP机顶盒+电视机,也可以是PC机。

IPTV既不同于传统的模拟式有线电视,也不同于经典的数字电视,因为传统的模拟电视和经典的数字电视都具有频分制、定时、单向广播等特点。尽管经典的数字电视相对于模拟电视有许多技术革新,但只是信号形式的改变,而没有触及媒体内容的传播方式。

IPTV的主要特点
(1)承载在IP网络上,能够为用户提供高质量的数字媒体信息服务;
(2)实现媒体提供者和媒体消费者的实质性互动,用户可以互动点播自己喜欢的内容;
(3)IPTV能够提供实时和非实时业务,IP技术和个性化的按需服务,使得用户可按需获取宽带IP网提供的实时、非实时的媒体节目;
(4)用户可以随意选择宽带IP网上各网站提供的视频节目。

IPTV用户端可以采用多种接入方式,最常使用的方法是ADSL接入方式,也可以采用光纤电路的接入方式。用户在家中只要安装了宽带,通过电视机和IPTV机顶盒就可享受到IPTV的全部精彩内容。如果用户端有电脑,还可以在看电视的同时进行网上冲浪。

3.4 m3u

M3U(Moving Picture Experts Group Audio Layer 3 Uniform Resource Locator)这种文件格式,本质上说不是音频文件,它并不能在脱机模式下读取网络资源音频,它是音频文件的列表文件,是纯文本文件。你下载下来打开它,播放软件并不是播放它,而是根据它的记录找到网络地址进行在线播放。

M3U文件的大小很小,也就是因为它里面没有任何音频数据。把M3U文件直接转换为音频文件是不可能的,除非你把它指向的音频文件下载下来再作处理。

4 无线投屏

目前三种主流同屏技术的介绍:目前这种将终端信号经由WiFi传输到电视、电视盒的技术有三种:DLNA、AirPlay、Miracast。

设备不同,需要的投屏协议也不一样。
一般来说,Windows电脑和Android手机、平板会使用Miracast协议。
而macOS电脑和iOS手机、平板会使用AirPlay协议。
你可以根据需要二选一,当然也可以两个都选,以同时支持Miracast协议和AirPlay协议。

这里选取的lazycast及RPiPlay均在Raspberry Pi 4B上测试成功,可以正常使用。

4.1 投屏协议

4.1.1 DLNA投屏协议

DNLA,Digital Living Network Alliance,是索尼、英特尔、微软等发起的一套 PC、移动设备、消费电器之间互联互通的协议。它们的宗旨是“随时随地享受音乐、照片和视频”。

DLNA与苹果的AirPlay功能比较类似,协议也大体相同,他们都可以让你手机中的媒体内容投放到电视屏幕里。不同的是手机上的DLNA 并没有类似Apple TV的AirPlay的镜像功能,也没有Apple TV 所支持的双屏体游戏体验。目前DLNA更多只是能将手机的照片和视频投送到大屏幕中。

另外,在线视频也可以用DLNA模式推送到客厅电视上显示,安卓系统部分播放器就具备DLNA功能,目前支持无线推送的视频客户端有以下:腾讯视频、搜狐视频、PPTV视频。可以将原来应该在N7屏幕的影片转移到电视屏幕上。前提是你要有能支持DLNA的电视或者电视盒。

如果电视仅支持DLNA投屏协议(取决于电视品牌型号),请从视频、音乐、图库等应用内的投屏入口发起投屏
然后在手机上开启WLAN,启动【视频】,播放界面点【MENU】键,选择【选择播放器】;
DLNA是基于文件的,媒体文件可能有各种各样的编码格式,播放器这端必须能够处理这么多种编码格式。通常为了比较好的播放体验,DLNA会先缓存一小段时间。

4.1.2 Miracast

Miracast是由Wi-Fi联盟于2012年所制定,以Wi-Fi直连为基础的无线显示标准。支持此标准的设备可通过无线方式分享视频画面,例如手机可通过Miracast将影片或照片直接在电视或其他装置播放而无需受到连接线缆长度的影响。
与DLNA不同的是,Miracast 也有类似于AirPlay 的镜像功能,可以将手机中屏幕内容直接投放到高清电视屏幕里,这样你也可以通过电视屏幕来玩游戏了。
Android4.2版本以后系统标配此功能(在设置或显示菜单中可以找到,应用名称诸如:Wlan display、Wifi display、Miracast、Allshare cast、Mirroring screen、无线显示等,只是各手机厂家命名不同而已)。可以将手机屏幕通过无线显示接收器将画面无线传输到其他较大屏幕上,如客厅电视,会议室投影仪。画面传输延时150ms以下,几乎同时。

Miracast是实时的,它可以实时传输源端(Source)的输出。源端任何屏幕的操作都会被传输到接收(Sink)端。如果源端是播放媒体文件,源端负责先对媒体文件解码,然后再编码成H.264的格式。接收端只需要做H.264的解码就可以了。相对DLNA,Miracast对于WiFi通路的要求要更高一些。

4.1.3 AirPlay

AirPlay 是苹果开发的一种无线技术,可以通过WiFi将iPhone 、iPad、iPodtouch 等iOS 设备上的包括图片、音频、视频通过无线的方式传输到支持AirPlay 设备。售价99美元的Apple TV就具备这样的功能,现在一些传统的家庭影院和HIFI如马兰士和天龙的新品功放和网络播放器已经支持AirPlay功能。。

AirPlay具备与DLNA所没有的镜像功能,这一功能叫AirPlay镜像,可将iPhone 或iPad 上的画面无线传输到电视上,也就是说你设备显示的是什么,电视屏幕显示就就是什么,而不仅限于图片和视频。你可以拿着iPad 来当做方向盘,然后看着大屏玩游戏。

另外AirPlay镜像最牛地方是它可以实现双屏游戏,让你的游戏有更多的交互。比如,电视里显示的是游戏画面,而iPad上显示的是比赛的路线图。

4.2 蓝牙键盘

M3青春版10.1英寸键盘套华为平板
BAH-W09皮套
BAH-AL00无线蓝牙键盘鼠标

蓝牙连到平板电脑或者树莓派。

无线鼠标转换头,连到手机或平板上。

4.3 手机投屏

4.3.1 方式一kodi开启DLNA

树莓派接到显示器,怎么可以把其他移动终端的内容也投到显示器上,让树莓派做投屏服务器,相当于电视盒子。
这里用到的应用程序是kodi,毕竟方便,支持的DLNA和airplay,非常强大了。

(1)点击齿轮进入系统设置。
(2)选择服务设置。
(3)UPnP/DLNA,设置全部开启。
(4)AirPlay,设置全部开启。
(5)视频中选择投屏。

4.3.2 方式二lazycast

在gitee上下载lazycast或者在github上下载lazycast
lazycast: A Simple Wireless Display Receiver
lazycast:一个简单的无线显示接收器

lazycast是一个简单的wifi显示接收器。 它最初是针对Raspberry Pi(作为显示)和Windows 8.1 / 10(作为源)的,但它也可能在其他Linux平台和Miracast源上工作。
对于其他Linux系统,请跳过准备部分。
树莓派上不用Downgrade wpa_supplicant。
树莓派上不用Install NetworkManager。
安装过程

(1)安装依赖包Install packages used to compile the players:
sudo apt install libx11-dev libasound2-dev libavformat-dev libavcodec-dev
(2)编译库文件Compile libraries on Pi:
cd /opt/vc/src/hello_pi/libs/ilclient/
make
cd /opt/vc/src/hello_pi/hello_video
make
(3)拉取安装包Clone this repo (to a desired directory):
cd ~/
git clone https://github.com/homeworkc/lazycast
(4)编译安装Go to the lazycast directory and then make:
cd lazycast
make

(1)命令行启动方式
运行./all.sh以启动lazycast接收器。
等待“The display is ready”消息。
显示屏的名称将显示在此消息之后。
然后,在要强制转换的源设备上搜索此名称。
默认的PIN码是31415926。
如果源支持反向通道控制,则Pi上的键盘和鼠标输入将作为远程控制重定向到源。

后台启动
cd lazycast
/home/pi/lazycast/all.sh >> /tmp/lazycast_output.log 2>&1 &
ps -ef | grep all.sh
kill -9 进程号

5 升级kodi

在Raspbian上升级:
sudo apt-get update
sudo apt-get upgrade

6 问题及解决

今天git clone 的时候突然遇到 gnutls_handshake() failed: The TLS connection was non-properly terminated. 这个问题。
解决方式:最后重置代理。

git config --global  --unset https.https://github.com.proxy
git config --global  --unset http.https://github.com.proxy

树莓派-12-投屏秒变家庭影院kodi跨平台媒体播放器相关推荐

  1. rpiplay实现树莓派AirPlay投屏器

    rpiplay实现树莓派AirPlay投屏器 (一) 参考代码和文档 (二)解析代码实现原理 1.发现模块 2.屏幕分享 1)RTSP协议 2)UDP音频数据 3)TCP视频数据 3.音视频渲染 尝试 ...

  2. RPiPlay配置树莓派AirPlay投屏

    文章目录 总结 相关文档 RPiPlay项目按照说明安装 命令行常用操作 运行 报错timeout 总结 报错的原因应该是系统OpenMAX等的图像渲染等上的支持问题(换了个系统重新烧录不知道为啥就好 ...

  3. iphone12里的计算机,最简单:将iPhone 12投屏到电脑的最快方法

    苹果刚刚发布了最新机型--iPhone 12,它的重大更新非常诱人.因此,如果经常需要投屏你的手机到电脑上的有福啦,今天就为大家介绍几种非常简单快速能将iPhone 12投屏电脑的方法. 方法一:Ap ...

  4. linux wifi投屏,树莓派WIFI投屏

    树莓派WIFI投屏 安装Miracast1.在github上下载大神写好的源码源码地址git clone https://github.com/albfan/miraclecast.git2.安装依赖 ...

  5. 为什么电视投屏显示无法访问服务器,手机爱奇艺投屏到电视为什么电视显示无法播放?...

    满意答案 3048029dd 2018.07.08 采纳率:44%    等级:7 已帮助:610人 电视和手机未实现多屏互动连接 实现手机电视多屏互动连接需保证以下几点: 1.保证手机和电视机连接在 ...

  6. 直通输出设备 android kodi,【本地播放】利用Kodi媒体播放器轻松实现源码输出DTS到功放...

    本帖最后由 PlyFly 于 2015-2-13 22:11 编辑 各位花粉注意了,本次发布的B056固件,华为终于修复了DTS源码输出到功放不能正常解码的问题(如功放无声音.破音等等).经实际测试, ...

  7. Elmedia Player - Mac 上最好用的音视屏媒体播放器

    Elmedia Player - Mac 上最好用的音视屏媒体播放器 Elmedia是macOS的富媒体播放器,支持多种文件格式,包括大多数视频和音频.一些支持的文件类型包括FLV, SWF, WMV ...

  8. BBPlayer 1.0.2 - 黑莓上的媒体播放器(支持歌词)-完美支持触屏

    话说黑莓自带的播放器很好很强大,可是在某些方面还是不太好用.BBPlayer是一款充分分析国内用户的喜好以及使用习惯,而开发出来的一款媒体播放器,更加简洁和易用,目前支持音乐播放,更多功能正在开发中. ...

  9. 安卓手机如何投屏到电视上_手机如何投屏到电视上?小屏秒变大屏,追剧更享受!...

    作为一名上班族,如果你平时休息的时间非常喜欢宅在家里追剧的话,那么估计你在追剧时,都会使用手机,而放弃里家里的电视.但是你知道吗,其实利用家里的电视来追手机上的电视剧,要比你用手机直接追剧来的更爽快, ...

  10. 街机扫描线Super_正式版_DIY街机怀旧神器_液晶屏秒变CRT显示器_多种扫描效果无限接近CRT屏怀旧DIY神器__不花钱一样体验CRT_模拟街机荧屏CRT_液晶仿CRT足不出户体验CRT扫描效果

    新版本的 街机扫描线Super_正式版 已发布!在此,感谢支持过街机扫描线的朋友们,愿笑口常开! 街机扫描线Super_正式版_DIY街机神器液晶秒变CRT屏怀旧玩家必备 [最新_街机扫描线Super ...

最新文章

  1. deepsort原理快速弄懂——时效比最高的
  2. 产业|世界十大工业自动化公司,你知道几家?
  3. ITK:使用Otsu方法将前景和背景分开
  4. node软件环境安装
  5. GAE 随机获取实体
  6. 兄dei,Python数据竞赛和5万现金奖励了解一下
  7. 网络15软工个人作业5——软件工程总结
  8. 【MySQL】MySQL审计操作记录
  9. js 对象的_proto_属性 和函数的prototype属性分析
  10. 6月7日 PowerPoint 版本支持的媒体格式(跨office版本演示需要了解)
  11. plsql连接不上64位oracle,PLSQL Developer 不能连接 64位 Oracle 11g 的解决办法
  12. 如何在html页面跳转的时候携带数据(页面跳转时参数传递问题)?
  13. win10操作系统如何整理桌面
  14. 4.2 Hive SQL
  15. xv6操作系统中增加一个系统调用
  16. ゼルダの伝説:ブレスオブザワイルド游戏手账
  17. 陆奇也不能免AIGC这个「俗」
  18. 怎么从视频中提取音频文件?
  19. 【WhaleCTF逆向题】Warmup题目writeup
  20. .NET 图片格式转换

热门文章

  1. CMPP网关协议核心代码 java版本
  2. center os 安装 mysql_MySQL数据库之center os 7 Mysql 安装
  3. win7,win8系统为什么灵格斯老与office,adobe等软件冲突,怎么解决
  4. 在ARM板上移植CH341驱动
  5. Unity3D插件之DoTween
  6. 【C语言】入门基础选择题附答案
  7. c语言源程序注释说明只能,C语言选择题
  8. 大前端完整学习路线(完整版)
  9. Postman 接口压力测试
  10. linux查看网口位置命令,Linux下查看网卡信息及确定网卡位置