一,背景

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

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

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

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

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

二,解决方案

1,软件

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

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

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

2,硬件

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

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

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

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

三,具体实现

软件:

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,设置程序开机自启动

Qt+ffmpeg+jetson nano 自制网络机顶盒相关推荐

  1. 英伟达 Nano 新手必读:Jetson Nano 深度学习算法模型基准性能测评

    NVIDIA在2019年NVIDIA GPU技术会议(GTC)上宣布了Jetson纳米开发工具包,这是一款99美元的计算机,目前可供嵌入式设计师.研究人员和DIY制造商使用,在一个紧凑.易用的平台上, ...

  2. Deepson在Jetson Nano上进行视频分析的入门

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮 ...

  3. K3s+Jetson Nano,在边缘端实现实时视频分析!

    随着越来越多功能强大的新设备开始支持GPU,边缘场景的用例不断扩展到各行各业.随着技术的发展,边缘的规模越来越大,效率越来越高.NVIDIA凭借其行业领先的GPU携手领先的处理器IP技术提供商ARM在 ...

  4. jetson nano 烧录、更换镜像源、配置xrdp、安装Archiconda、配置CUDA、安装pytorch环境一条龙服务

    jetson nano 烧录.更换镜像源.配置xrdp.安装Archiconda.配置CUDA.安装torch环境一条龙服务 一.jetson nano烧录 1.jetson nano上电 2.镜像烧 ...

  5. Jetson Nano通过笔记本实现网络连接

    Jetson Nano通过网线连接笔记本实现联网 目录 Jetson Nano通过网线连接笔记本实现联网 前言 一.网络共享设置问题 二.开发板IP地址显示为127.0.0.1的问题 总结 前言 最近 ...

  6. Jetson nano 摄像头二维码识别 Opencv zbar QT

    环境以及前言 环境 jetson nano Linux ubuntu 18.4 QT版本 QT5.98 摄像头 Csi摄像头 Opencv Jetson nano 自带的-.- 应该是4.1?不太清楚 ...

  7. jetson nano 思岚雷达A1 QT

    环境 机器 jetson nano 雷达 思岚A1 平台 Linux Ubuntu 18.04 电脑不在身边 手打吧 一.额 准备工作? 先插入雷达的USB 然后应该会在Linux 底下产生一个/de ...

  8. Jetson Nano下载C++ 版本的GPIO 并配置进qt项目

    Jetson Nano官方版本的GPIO是python版的,不过有大佬开源了C++版本的.C++ GPIO项目地址 从Github上clone下来,安装即可. git clone git@github ...

  9. Jetson Nano部署YOLOv5与Tensorrtx加速——(自己走一遍全过程记录)

    说在前面 搞了一下Jetson nano和YOLOv5,网上的资料大多重复也有许多的坑,在配置过程中摸爬滚打了好几天,出坑后决定写下这份教程供自己备忘. 事先声明,这篇文章的许多内容本身并不是原创,而 ...

最新文章

  1. html css背景图片精灵技术,HTML入门学习笔记--CSS背景和精灵图(5)
  2. C#设计技巧总结 网上转贴
  3. CentOS7 NTP客户端和服务器安装和使用
  4. html5 项目案例_互动案例技术分析(3)
  5. sql server(常用)
  6. c# 中关键字_C#中的“使用”关键字
  7. 大卸iphone十八块..iphone 3GS 拆机..有图有真相...附拆机步骤!
  8. java后台导出excel代码详细讲解,java基础面试笔试题
  9. 6.2. ExtUtils::MakeMaker
  10. java解决硬编码_工具类 解决硬编码问题
  11. 计算机在档案部门应用范围,计算机在档案管理中的相关运用
  12. python中数据结构的基本定义
  13. 本科计算机考研考英语,2016考研必需知道的10件事
  14. python第三方模块之pyquery
  15. 计算机分数转化成小数,分数换算成小数的方法(分数转换小数必背表)
  16. Mac如何卸载系统自带软件?macbook系统软件怎么删除?
  17. Java 通过EWS JAVA API发送exchange邮件
  18. Cocos Creator 微信创意小游戏《甜蜜糖果屋》团队专访:让纸片人活起来
  19. 文档整体缩进html,CSS样式中实现文本缩进的属性是
  20. Myabtis-plus中IService接口理解

热门文章

  1. 写给想成为前端工程师的同学们 —— 前端工程师是做什么的?
  2. occt_modeling_data(一)——拓扑
  3. destoon7.0对mysql5..7优化,实现单台几百万数据下秒级速度
  4. GEM(Generalized Expectation Maximizatio)算法简介
  5. 三分钟学会渗透测试——信息收集
  6. 建议使用 Bcrypt加密算法 代替 MD5/SHA1
  7. 【ClickHouse】row_number() over (partition by)的几种实现方法
  8. 广度优先算法学习(BFS)
  9. 今日校园思路 HFUT XQ
  10. php无法识别excel,求助!使用PHPExcel类读取Excel2007,出现错误