AI视觉领域流媒体知识入门介绍(一)

流媒体常见传输协议

RTSP(Real-Time Streaming Protocol)

是一种网络流媒体传输协议,可用于从网络摄像头等设备中获取实时视频流。许多网络摄像头和视频服务器都支持RTSP协议。

HLS(HTTP Live Streaming)

是一种基于HTTP的流媒体传输协议,主要用于在互联网上直播和点播视频流。

HLS使用分段技术,将视频流分成多个小段,并通过HTTP协议分发到客户端。

HLS是基于文件的,而要把流写入文件一定是以I帧为单位,因此HLS延迟可能高达2GOP,等到第一个I帧然后再将接下来的一个GOP写入文件。

WebRTC(Web Real-Time Communication)

是一种开放源代码的实时通信协议,可用于在浏览器之间进行点对点视频通话和数据传输。WebRTC支持UDP和TCP传输协议,并具有低延迟和高可靠性。

WebSocket

在浏览器直播摄像头实时流时,可通过ws传输flv格式的视频数据。

FLV:Flash Video

是一种网络视频格式,内容体积小,视频质量高。

流媒体常见处理框架

OpenCV

是一个开源的计算机视觉库,可用于处理图像和视频。它支持多种编程语言,包括C++、Python和Java等。

FFmpeg

是一个开源的多媒体框架,可用于处理音频、视频和流媒体。它支持多种编解码器和容器格式,并具有高度可定制的特性。

GStreamer

是一个基于Linux的多媒体框架,可用于处理音频和视频。它支持多种编解码器和容器格式,并具有高度可定制的插件体系结构。

mediapipe

Google开源的,对AI和ML友好的流媒体处理框架。

可以直接使用其提供的Solution,在自己的AI视觉解决方案中;

也可以使用其提供的Framework,开发自己的流媒体应用。

GitHub - google/mediapipe: Cross-platform, customizable ML solutions for live and streaming media.

Monibuca

开源Go语言流媒体服务器开发框架

Monibuca - GO语言开源插件式流媒体服务器开发框架 | Monibuca

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/123636.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【PC】2023年10月商店更新-闲游盒

亲爱的玩家朋友们,大家好! 欢迎大家来到2023年第十次商店更新! 万圣节即将到来,为了让大家可以在万圣节盛装出席,我们在10月商店更新中准备了邪恶诅咒,PGC 2023的专属宝物,以及RASH悲喜强势回归…

tomcat必要的配置

tomcat要配置两个,不然访问不了localhost:8080 名:CATALINA_HOME 值:D:\software\computer_software\Tomcat\tomcat8.5.66

Zynq UltraScale+ XCZU5EV 纯VHDL解码 IMX214 MIPI 视频,2路视频拼接输出,提供vivado工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 MIPI 编解码方案3、本 MIPI CSI2 模块性能及其优越性4、详细设计方案设计原理框图IMX214 摄像头及其配置D-PHY 模块CSI-2-RX 模块Bayer转RGB模块伽马矫正模块VDMA图像缓存Video Scaler 图像缓存DP 输出 5、vivado工程详解PL端FPGA硬件设计…

ffmpeg 视频转图片 图片集转视频

可以使用FFmpeg将视频转换为图片序列,然后将图片序列合成为视频。 以下是一些基本的FFmpeg命令示例来执行这些操作: 1. 将视频转化为图片序列: ffmpeg -i input_video.mp4 -vf "fps30" output_images/image%04d.png 这个命令将…

多线程---线程池

文章目录 什么是线程池?线程池的实现标准库中的线程池(四种)自己实现一个线程池 线程池支持的参数在实际的开发中,线程池的线程数如何确定? 什么是线程池? 线程诞生的原因就是进程太“重量”了。虽然线程的…

【洛谷算法题】P5709-Apples Prologue / 苹果和虫子【入门2分支结构】

👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5709-Apples Prologue / 苹果和虫子【入门2分支结构】🌏题目描述&am…

JS中迭代器的介绍

1、简介 迭代器(iterator),使用户在容器对象(container,例如链表或数组)上遍访的对象,使用该接口无需关心对象的内部实现细节。迭代器(iterator)是一个结构化的模式&…

leetcode-哈希表

1. 理论 从哈希表的概念、哈希碰撞、哈希表的三种实现方式进行学习 哈希表:用来快速判断一个元素是否出现集合里。也就是查值就能快速判断,O(1)复杂度; 哈希碰撞:拉链法,线性探测法等。只是一种…

JAVA同城服务智慧养老小程序怎么开发?

随着人口老龄化的加剧,智慧养老成为了社会关注的焦点。智慧养老小程序作为一种便捷、高效的服务工具,为老年人提供了更全面、个性化的服务。本文将介绍如何使用JAVA编程语言开发一款同城服务智慧养老小程序。 一、设计思路 界面设计:小程序…

进程(详解)

进程 进程PCB进程的定义进程的组成进程模式进程的状态进程的运行进程的创建进程的结束孤儿进程僵尸进程僵尸进程的危害 进程的创建pidforkwait案例 进程 PCB 从操作系统理解进程概念-------先描述,后组织 为了使参与并发执行的程序能独立的运行,必须为之…

H5游戏源码分享-接苹果游戏拼手速

H5游戏源码分享-接苹果游戏拼手速 看看在20秒内能接多少个苹果 <html> <head><title>我是你的小苹果</title><meta charset"utf-8"/><meta name"viewport" content"initial-scale1, user-scalableno, minimum-scale…

浅谈数据治理(一)

治理工作如何对接下游推进 1.让下游配合最重要的是调动积极性&#xff0c;让下游感觉到治理能对他们起作用 或者说能让业务方也能做大蛋糕&#xff0c;因为数据治理对于下游来说可有可无 没你数据治理 下游数据模型不也跑的没问题嘛&#xff0c;所以就如花姐刚才说的该警告的警…

【ARM 嵌入式 C 入门及渐进 10 -- 冒泡排序 选择排序 插入排序 快速排序 归并排序 堆排序 比较介绍】

文章目录 排序算法小结排序算法C实现 排序算法小结 C语言中常用的排序算法包括冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序。下面我们来一一介绍&#xff1a; 冒泡排序&#xff08;Bubble Sort&#xff09;&#xff1a;冒泡排序是通过比较相邻元素的大小进行排…

LeetCode75——Day20

文章目录 一、题目二、题解 一、题目 2215. Find the Difference of Two Arrays Given two 0-indexed integer arrays nums1 and nums2, return a list answer of size 2 where: answer[0] is a list of all distinct integers in nums1 which are not present in nums2. an…

本机spark 通idea连接Oracle的坑

1. 报错&#xff1a;Exception in thread "main" java.lang.NoSuchMethodError: scala.Product.$init$(Lscala/Product;)V 查询网上资料&#xff0c;是idea引入的scala运行环境版本与idea默认的scala版本不一样 也就是写的项目中的pom的spark版本与idea默认的版本不…

【设计模式】第4节:创建型模式之“单例模式”

一、介绍 采取一定的方法保证在整个的软件系统中&#xff0c;对某个类只能存在一个对象实例&#xff0c;并且该类只提供一个取得其对象实例的方法。 不使用单例模式的UML类图&#xff1a; 使用单例模式的UML类图&#xff1a; 使用场景&#xff1a; 需要频繁创建或销毁的对象…

H5游戏分享-烟花效果

<!DOCTYPE html> <html dir"ltr" lang"zh-CN"> <head> <meta charset"UTF-8" /> <meta name"viewport" content"widthdevice-width" /> <title>点击夜空欣赏烟花</title> <sc…

Zabbix监控oxidized备份状态

Zabbix监控oxidized备份状态 原理是利用oxidized的hooks功能调用zabbix_sender推送数据给zabbix_server 参考 https://cloud.tencent.com/developer/article/1657025 https://github.com/clontarfx/zabbix-template-oxidized https://github.com/ytti/oxidized/blob/master/…

ES6模块化

ES6模块化是指在ES6标准中提供的一种JavaScript模块化方案&#xff0c;其本质是将不同的代码片段封装成独立的、可复用的模块&#xff0c;以便于管理和维护。使用ES6模块化可以使得代码更加清晰、易于维护、易于测试。 ES6模块化的特点包括&#xff1a; 每个模块都是独立的作用…

Python 日期和时间处理教程:datetime 模块的使用

Python 中的日期不是独立的数据类型&#xff0c;但我们可以导入一个名为 datetime 的模块来使用日期作为日期对象。 示例&#xff1a;导入 datetime 模块并显示当前日期&#xff1a; import datetimex datetime.datetime.now() print(x)日期输出 当我们执行上面示例中的代码…