Jetson-AGX-Orin gstreamer+rtmp+http-flv 推拉流

news/2024/9/13 22:51:30/ 标签: NVIDIA-Orin

Jetson-AGX-Orin gstreamer+rtmp+http-flv 推拉流

Orin是ubuntu20.04 ARM64架构的系统,自带gstreamer

1、 测试摄像头

测试摄像头可以用v4l2-ctl命令或者用gst-launch-1.0

#用v4l2-ctl测试摄像头,有尖角符号持续打印则正常
v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=UYVY --stream-mmap#gst-launch-1.0 测试摄像头,有摄像头画面实时输出则正常
gst-launch-1.0 v4l2src device="/dev/video0" ! "video/x-raw, width=1920, height=1080, format=(string)UYVY" ! autovideosink
2、安装nvidia-jetpack,使用Orin的硬件编解码器
sudo apt-get update
sudo apt-get install nvidia-jetpack
3 、安装SRS流媒体服务器

SRS(Simple Realtime Server)是一个简单高效的实时视频服务器,支持RTMP、WebRTC、HLS、HTTP-FLV、SRT等多种实时流媒体协议。

cd /opt
git clone -b develop https://gitee.com/ossrs/srs.git
cd srs
sudo mkdir install
cd srs/trunk
./configure --prefix=/opt/srs/install
make 
sudo make install 
4、配置SRS流媒体服务器

修改/opt/srs/install/conf/srs.conf,使其内容如下

# main config for srs.
# @see full.conf for detail config.listen              1935;
max_connections     1000;
#srs_log_tank        file;
#srs_log_file        ./objs/srs.log;
daemon              on;
http_api {enabled         on;listen          1985;
}
http_server {enabled         on;listen          8080;dir             ./objs/nginx/html;
}
rtc_server {enabled on;listen 8000; # UDP port# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidatecandidate $CANDIDATE;
}vhost __defaultVhost__ {#最小延迟打开,默认是打开的,该选项打开的时候,mr默认关闭。min_latency     on;#Merged-Read,针对RTMP协议,为了提高性能,SRS对于上行的read使用merged-read,即SRS在读写时一次读取N毫秒的数据mr {enabled     off;#默认350ms,范围[300-2000]#latency     350;}#Merged-Write,SRS永远使用Merged-Write,即一次发送N毫秒的包给客户端。这个算法可以将RTMP下行的效率提升5倍左右,范围[350-1800]mw_latency      100;#enabled         on;#https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency#gop-cachegop_cache       off;#配置直播队列的长度,服务器会将数据放在直播队列中,如果超过这个长度就清空到最后一个I帧#https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency#%E7%B4%AF%E7%A7%AF%E5%BB%B6%E8%BF%9Fqueue_length    10;#http_flv配置http_remux {enabled     on;mount [vhost]/[app]/[stream].flv;hstrs	on;}
}
5、运行SRS流媒体服务器,会在后台起一个SRS服务
cd /opt/srs/install
./objs/srs -c conf/srs.conf
#起完以后可以通过tail 实时查看日志 知晓服务推拉流情况
tail -f ./objs/srs.log
6、gstreamer进行rtmp推流

以下是摄像头的rtmp推流。采用的Orin的硬件编码器和硬件图像格式转换引擎。

gst-launch-1.0 v4l2src device="/dev/video0" ! 'video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080' ! nvvidconv ! omxh264enc profile=2 preset-level=2 MeasureEncoderLatency=1 control-rate=0 bitrate=10000000 iframeinterval=50 ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! flvmux ! rtmpsink location='rtmp://127.0.0.1/live/livestream0/mystream'
7、 http-flv拉流实时播放

电脑采用网线直连Orin设备,然后使用flv.js 通过网页实时播放

#以下是摄像头http-flv实时拉流播放,地址与上面的rtmp推流地址相对应
http://192.168.1.102:8080/live/livestream0/mystream.flv

http://www.ppmy.cn/news/1475775.html

相关文章

MySQL篇:事务

1.四大特性 首先,事务的四大特性:ACID(原子性,一致性,隔离性,持久性) 在InnoDB引擎中,是怎么来保证这四个特性的呢? 持久性是通过 redo log (重做日志&…

暗黑魅力:Xcode全面拥抱应用暗黑模式开发指南

暗黑魅力:Xcode全面拥抱应用暗黑模式开发指南 随着苹果在iOS 13和iPadOS 13中引入暗黑模式,用户可以根据自己的喜好或环境光线选择不同的界面主题。作为开发者,支持暗黑模式不仅能提升用户体验,还能彰显应用的专业性。Xcode提供了…

AI数字人直播saas系统源码分析与解读,哪家部署的系统更具优势?

随着AI数字人直播的应用潜力持续展现,越来越多的创业者都有了打造AI数字人直播saas系统,从而通过为各大企业提供AI数字人直播等服务来获得收益。在此背景下,各大数字人源码厂商所部署的AI数字人直播saas系统源码质量成为了众多创业者的重点关…

概率论原理精解【3】

文章目录 向量值向量值函数导数向量值函数定义性质应用示例 向量值函数的导数定义性质应用 向量值 向量值函数导数 D n ⊂ R n , 向量值函数 f : D n → R m D^n \subset R^n,向量值函数f:D^n\rightarrow R^m Dn⊂Rn,向量值函数f:Dn→Rm 1. 向量值函数 f ( f 1 , f 2 , . . …

外呼系统用回拨模式打电话有什么优势

外呼系统采用回拨模式的优势主要体现在以下几个方面: 1. 提高工作效率 - 回拨模式允许通过一键拨打客户电话,一旦客户接听,即可立即进行沟通,大大缩短了拨号等待时间和无效通话时间。 - 与传统的外呼方式相比,回拨模式…

OSU!题解(概率dp)

题目:OSU! - 洛谷 思路: 设E()表示截止到i所获得的分数; 对于到i点的每一个l,如果第i1点为1,那么会新增分数3*l^23*l1; 就有递推公式方程: E()E()p[i1]p*(3*l^23*l1);(p代表截止到i获得长度l的概率)&a…

策划分销策略中的AI智能名片O2O商城小程序应用探索

摘要:在数字经济时代,企业面临着前所未有的市场竞争压力,传统的分销模式已难以满足快速变化的市场需求。随着人工智能(AI)技术的不断成熟与移动互联网的普及,AI智能名片O2O商城小程序作为一种新兴的分销工具…

【区块链 + 智慧政务】涉税行政事业性收费“e 链通”项目 | FISCO BCOS应用案例

国内很多城市目前划转至税务部门征收的非税收入项目已达 17 项,其征管方式为行政主管部门核定后交由税务 部门征收。涉税行政事业性收费受限于传统的管理模式,缴费人、业务主管部门、税务部门、财政部门四方处于 相对孤立的状态,信息的传递靠…

http协议,tomcat的作用

HTTP 概念:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。 特点: 1.基于TCP协议:面向连接,安全 2. 基于请求-响应模型的:一次请求对应一次响应 3HTTP协议是无状态的协议:对于事务处理没有记忆能…

原来,BI数据分析也是有模板的

在当今数据驱动的时代,商业智能(BI)数据分析已经成为企业决策的重要工具。然而,很多人可能并不了解,BI数据分析并非从零开始,而是可以依托现成的模板和解决方案来快速搭建和实施的。以奥威BI方案为例&#…

ARM功耗管理之功耗数据与功耗收益评估

安全之安全(security)博客目录导读 思考:功耗数据如何测试?功耗曲线?功耗收益评估? UPF的全称是Unified Power Format,其作用是把功耗设计意图(power intent)传递给EDA工具, 从而帮…

Hadoop发展史和生态圈介绍

目录 一、Hdoop概述 二、Hadoop生态组件 三、大数据的技术生态体系 四、Hadoop发展历史 4.1 概述 4.2 Hadoop历史发展节点 4.2.1 2002-2004年理论阶段 4.2.2 2005-2008年Hadoop的问世与崛起 4.2.3 2009-2017年Hadoop助力大数据行业的发展 4.2.4 至今 五、Hadoop优势特…

AWS ECS实现低风险的服务更新:创建新服务和流量切换

在使用Amazon ECS (Elastic Container Service)进行容器化应用部署时,我们经常需要更新服务。但直接更新现有服务可能会带来风险,尤其是在生产环境中。本文将介绍一种低风险的服务更新方法:基于原有服务创建新服务,并逐步切换流量。 方法概述 基于原有ECS服务的配置创建新的服…

【LINUX】pr_info函数开发摸索

1、打印开关可随时控制,开机如果要修改是否打印日志的话,需要修改代码重新编译内核才行,其实如果真要搞,应该有其他方法; 2、打印次数,当前代码里边写的是1000次,其实可以根据传参动态修改打印…

Selenium 元素操作 WebElement 对象

通过 find_element() 方法找到的元素对象就是 WebElement 类型。clear(): 清除文本 send_keys(value): 模拟按键输入 click(): 单击元素 submit(): 提交表单(有些不提供搜索按钮,通过键盘上的回车键完成提交,可以通过 submit 模拟) size: 获…

阿里云Linux中安装MySQL,并使用navicat连接以及报错解决

首先查询是否安装MySQL // linux 使用yum安装或者rpm安装。(就是一个安装工具类似于applStore,brew不必在意) // 区别:yum会自动安装你要安装的东西的其他依赖,rpm不会但会提示你需要安装的东西,比较麻烦,所以采用yum安…

【游戏客户端】大话slg玩法架构(三)建筑控件

【游戏客户端】大话slg玩法架构(三)建筑控件 大家好,我是Lampard家杰~~ 今天我们继续给大家分享SLG玩法的实现架构,关于SLG玩法的介绍可以参考这篇上一篇文章:【游戏客户端】制作率土之滨Like玩法 PS:和之前…

Spark核心技术架构

Apache Spark是一个开源的分布式计算系统,它提供了一个快速、通用和易于使用的集群计算环境。Spark 支持多种编程语言,如 Scala、Java 和 Python,并针对大规模数据处理进行了优化。以下是 Spark 技术架构的详细简述: 1. 核心组件…

ConfigMap-secrets-静态pod

一.ConfigMap 1.概述 ConfigMap资源,简称CM资源,它生成的键值对数据,存储在ETCD数据库中 应用场景:主要是对应用程序的配置 pod通过env变量引入ConfigMap,或者通过数据卷挂载volume的方式引入ConfigMap资源 官方解释…

部署PXE高效批量网络装机

目录 一、系统装机 1、系统装机的方式 2、系统的安装过程 3、Linux安装光盘的相关文件 二、PXE(Preboot eXecution Environment) 1、PXE概述 2、运行PXE 批量部署的优点 3、pxe实现的硬件条件 4、运行PXE的实现过程 5、PXE的实现操作 5.1、安…