一,背景

家里有一台旧电视,装宽带的时候送了一个网络机顶盒,但是我娘在使用的时候表示很不好操作,原因有以下几点:

(1),软件功能太多,遥控器按键太复杂

(2),广告太多,稍不留意,就弹出一个扫码付费页面

(3),好多流行的网络节目占据主页,而老年人也不爱看。年轻人好像也没有多少喜欢看电视了。

对于习惯了传统电视的我娘来说,她就是想简单的看个电视而已,不想看流量明星,也不想在节目之前再看段广告。

Android机顶盒制造 机顶盒做法_Android机顶盒制造

二,解决方案

1,软件

利用Qt 开发主界面,使用ffmpeg 自带的ffplay播放器 播放网络直播源。

ui上只设计两个页面,主页和视频页。主页展示所有频道内容,并提供缩略图。内容页播放当前选中频道的内容。

交互方式为,遥控器通过方向键选择频道,按回车键(OK)进入。按esc(返回)键回到主页。

Android机顶盒制造 机顶盒做法_ubuntu_02

2,硬件

Nvidia Jetson Nano 板 :据媳妇说可以跑神经网络模型,只用来做机顶盒着实可惜,但是树莓派性能达不到播放1080p的要求。

遥控器:支持usb 即可,淘宝售价20元

显示器:支持hdmi输入,如果自带音频输出更好,否则需要另配usb音箱。

其他:内存卡(64G),读卡器,hdmi线,5v miniusb 电源线,无线键盘鼠标,网线等

Android机顶盒制造 机顶盒做法_ubuntu_03

三,具体实现

软件:

1,视频源以json形式,保存在本地文件中。

视频源获取参考:

https://www.52pojie.cn/thread-868519-1-1.html

http://ivi.bupt.edu.cn/

"name": "CCTV1",
"url": "http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8"

2,主界面使用Quick GridView 进行布局。读取配置文件后,每一个频道为一个model

3,选中频道,进入时,使用ffplay 进行播放

param = QString("ffplay.exe -i %1 -fs").arg(url);

4,频道缩略图使用ffmpeg进行定时截图

param = QString("ffmpeg.exe -i %1 -f image2 -ss 0 -vframes 1 -s 350*350 %2 -y -t 2").arg(url).arg(iconPath);

硬件:

1,nano ubuntu系统安装

(1),下载 官方ubuntu镜像 https://developer.nvidia.com/jetson-nano-sd-card-image-r3231

(2),镜像烧录   Win32DiskImager(系统烧录工具)

2,更换ubuntu软件源

(1),备份

cp /etc/apt/sources.list /etc/apt/sources.list.bak

(2),更换  目前测试了阿里,清华,中科大。 只有中科大成功了

vi /etc/apt/sources.list
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

(3),执行更新列表

sudo apt-get update



3,ffmpeg 安装

sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next 
sudo apt-get update 
sudo apt-get install ffmpeg

查看是否成功

ffmpeg -version

4,qt安装

sudo apt-get install qt5-default		//安装默认基本库
sudo apt-get install qtcreator
sudo apt-get install qtdeclarative5-dev   //安装QtQuick
sudo apt-get install qtmultimedia5-dev   //安装QtMultimedia
apt-get install  libqt5sql5-mysql        //安装QtMySQL

5,编译源代码,生成可执行程序

6,设置程序开机自启动

Android机顶盒制造 机顶盒做法_qt_04