Qt+ffmpeg+jetson nano 自制网络机顶盒
一,背景
家里有一台旧电视,装宽带的时候送了一个网络机顶盒,但是我娘在使用的时候表示很不好操作,原因有以下几点:
(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 自制网络机顶盒相关推荐
- 英伟达 Nano 新手必读:Jetson Nano 深度学习算法模型基准性能测评
NVIDIA在2019年NVIDIA GPU技术会议(GTC)上宣布了Jetson纳米开发工具包,这是一款99美元的计算机,目前可供嵌入式设计师.研究人员和DIY制造商使用,在一个紧凑.易用的平台上, ...
- Deepson在Jetson Nano上进行视频分析的入门
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮 ...
- K3s+Jetson Nano,在边缘端实现实时视频分析!
随着越来越多功能强大的新设备开始支持GPU,边缘场景的用例不断扩展到各行各业.随着技术的发展,边缘的规模越来越大,效率越来越高.NVIDIA凭借其行业领先的GPU携手领先的处理器IP技术提供商ARM在 ...
- jetson nano 烧录、更换镜像源、配置xrdp、安装Archiconda、配置CUDA、安装pytorch环境一条龙服务
jetson nano 烧录.更换镜像源.配置xrdp.安装Archiconda.配置CUDA.安装torch环境一条龙服务 一.jetson nano烧录 1.jetson nano上电 2.镜像烧 ...
- Jetson Nano通过笔记本实现网络连接
Jetson Nano通过网线连接笔记本实现联网 目录 Jetson Nano通过网线连接笔记本实现联网 前言 一.网络共享设置问题 二.开发板IP地址显示为127.0.0.1的问题 总结 前言 最近 ...
- Jetson nano 摄像头二维码识别 Opencv zbar QT
环境以及前言 环境 jetson nano Linux ubuntu 18.4 QT版本 QT5.98 摄像头 Csi摄像头 Opencv Jetson nano 自带的-.- 应该是4.1?不太清楚 ...
- jetson nano 思岚雷达A1 QT
环境 机器 jetson nano 雷达 思岚A1 平台 Linux Ubuntu 18.04 电脑不在身边 手打吧 一.额 准备工作? 先插入雷达的USB 然后应该会在Linux 底下产生一个/de ...
- Jetson Nano下载C++ 版本的GPIO 并配置进qt项目
Jetson Nano官方版本的GPIO是python版的,不过有大佬开源了C++版本的.C++ GPIO项目地址 从Github上clone下来,安装即可. git clone git@github ...
- Jetson Nano部署YOLOv5与Tensorrtx加速——(自己走一遍全过程记录)
说在前面 搞了一下Jetson nano和YOLOv5,网上的资料大多重复也有许多的坑,在配置过程中摸爬滚打了好几天,出坑后决定写下这份教程供自己备忘. 事先声明,这篇文章的许多内容本身并不是原创,而 ...
最新文章
- html css背景图片精灵技术,HTML入门学习笔记--CSS背景和精灵图(5)
- C#设计技巧总结 网上转贴
- CentOS7 NTP客户端和服务器安装和使用
- html5 项目案例_互动案例技术分析(3)
- sql server(常用)
- c# 中关键字_C#中的“使用”关键字
- 大卸iphone十八块..iphone 3GS 拆机..有图有真相...附拆机步骤!
- java后台导出excel代码详细讲解,java基础面试笔试题
- 6.2. ExtUtils::MakeMaker
- java解决硬编码_工具类 解决硬编码问题
- 计算机在档案部门应用范围,计算机在档案管理中的相关运用
- python中数据结构的基本定义
- 本科计算机考研考英语,2016考研必需知道的10件事
- python第三方模块之pyquery
- 计算机分数转化成小数,分数换算成小数的方法(分数转换小数必背表)
- Mac如何卸载系统自带软件?macbook系统软件怎么删除?
- Java 通过EWS JAVA API发送exchange邮件
- Cocos Creator 微信创意小游戏《甜蜜糖果屋》团队专访:让纸片人活起来
- 文档整体缩进html,CSS样式中实现文本缩进的属性是
- Myabtis-plus中IService接口理解
热门文章
- 写给想成为前端工程师的同学们 —— 前端工程师是做什么的?
- occt_modeling_data(一)——拓扑
- destoon7.0对mysql5..7优化,实现单台几百万数据下秒级速度
- GEM(Generalized Expectation Maximizatio)算法简介
- 三分钟学会渗透测试——信息收集
- 建议使用 Bcrypt加密算法 代替 MD5/SHA1
- 【ClickHouse】row_number() over (partition by)的几种实现方法
- 广度优先算法学习(BFS)
- 今日校园思路 HFUT XQ
- php无法识别excel,求助!使用PHPExcel类读取Excel2007,出现错误