常见的视频监控RTSP RTMP 流媒体协议及开发测试工具

一 流媒体协议

RTMP (Real-Time Messaging Protocol):

  • 封装格式:FLV 或 MP4
  • 协议:TCP
  • 端口:默认2200
  • 厂家:Adobe Systems
  • 特点:实时性强,延迟低,支持服务器端的推流和拉流。
  • 应用:主要用于实时视频和音频流传输,如直播、在线教育等。

RTSP (Real-Time Streaming Protocol):

  • 封装格式:可以使用多种格式,如MPEG-2 Transport Stream、H.264等
  • 协议:TCP/UDP
  • 端口:默认554
  • 标准化组织:IETF
  • 特点:支持实时媒体流的交互控制,如播放、暂停、停止等。
  • 应用:视频会议、监控系统。

HLS (HTTP Live Streaming):

  • 封装格式:M3U8(索引文件)+ TS(Transport Stream,媒体数据片段)
  • 协议:HTTP
  • 端口:80/443
  • 厂家:Apple Inc.
  • 特点:基于HTTP,易于穿越防火墙,支持自适应比特率,具有较好的跨平台兼容性。
  • 应用:适用于iOS设备、Android设备及现代Web浏览器上的视频播放。

DASH (Dynamic Adaptive Streaming over HTTP):

  • 封装格式:MPD(Media Presentation Description,描述文件)+ MP4(媒体数据片段)
  • 协议:HTTP
  • 端口:80/443
  • 标准化组织:ISO/IEC MPEG
  • 特点:基于HTTP,支持自适应比特率,适用于各种网络条件下的流媒体传输。
  • 应用:视频点播、实时流媒体。

RTP (Real-time Transport Protocol):

  • 封装格式:通常不指定具体的封装格式,而是将媒体数据封装成RTP包。
  • 协议:UDP
  • 端口:根据应用动态分配
  • 标准化组织:IETF
  • 特点:用于传输音频和视频,支持多播,常用于视频会议等实时应用。
  • 应用:视频会议、VoIP等实时通信。

RTCP (RTP Control Protocol):

  • 封装格式:与RTP结合使用,本身不直接传输媒体数据。
  • 协议:UDP
  • 端口:紧跟在RTP端口之后
  • 标准化组织:IETF
  • 特点:辅助RTP,提供传输质量反馈和接收方报告。
  • 应用:与RTP一起用于实时通信。

RTMPS (RTMP Secure):

  • 封装格式:FLV 或 MP4
  • 协议:TCP + SSL/TLS
  • 端口:443
  • 厂家:Adobe Systems
  • 特点:RTMP的安全版本,使用SSL/TLS加密。
  • 应用:安全的实时视频和音频流传输。

WebRTC:

  • 封装格式:没有特定的封装格式,使用SDP(Session Description Protocol)进行会话描述。
  • 协议:基于P2P(Peer-to-Peer),使用RTP/RTCP
  • 端口:动态端口
  • 标准化组织:W3C/IETF
  • 特点:提供实时通信功能,无需插件,支持视频聊天、文件共享等。
  • 应用:实时视频聊天、协作工具。

以上是对几种常见流媒体传输协议的概述。

二 开发工具

FFmpeg

  • 简介:一个强大的跨平台音视频处理工具。
  • 下载地址:FFmpeg官方网站
  • 演示案例
    • FFmpeg官方文档提供了大量的命令行示例。
    • GitHub上的FFmpeg教程:一个关于如何使用FFmpeg的教程。

GStreamer

简介:一个开源的多媒体框架。

  • 下载地址:GStreamer官方网站
  • 演示案例
    • GStreamer的入门教程:官方提供的教程,包括如何编写简单的管道。
    • GStreamer Examples:更多的示例代码。

VLC media player

  • 简介:一个开源的多媒体播放器,也支持开发。
  • 下载地址:VideoLAN官方网站
  • 演示案例
    • VLC开发指南:介绍如何使用VLC进行开发。

Live555

  • 简介:一套免费的源代码库,支持多种流媒体协议。
  • 下载地址:Live555官方网站
  • 演示案例
    • Live555 Media Server:提供了如何使用Live555 Media Server的文档。

Jitsi

  • 简介:一套开源的VoIP/SIP/视频会议解决方案。
  • 下载地址:Jitsi官方网站
  • 演示案例
    • Jitsi Meet:一个基于WebRTC的视频会议应用。
    • Jitsi SDK文档:提供了SDK的使用指南。

三 测试工具

Wireshark

  • 简介:一个网络协议分析器。
  • 下载地址:Wireshark官方网站
  • 演示案例
    • Wireshark官方教程:官方提供的教程,帮助用户学习如何使用Wireshark。

OBS Studio (Open Broadcaster Software)

  • 简介:一个免费和开源的软件套件,用于视频录制和实时流媒体。
  • 下载地址:OBS官方网站
  • 演示案例
    • OBS Studio官方文档:包含了如何设置和使用OBS进行流媒体直播的教程。

VLC media player

  • 简介:同样可以用作测试工具,用于播放各种流媒体内容。
  • 下载地址:同上
  • 演示案例
    • VLC的命令行参数:提供了如何使用命令行模式来测试流媒体。

这些工具和资源可以帮助开发者和测试人员更好地理解和利用流媒体协议。

更多资源

【访客管理系统】基于低代码+golang+人脸识别技术实现的访客管理系统-CSDN博客

智能充电(新能源电动车,电单车)云管理系统的定制解决方案_电动单车充电桩系统-CSDN博客 

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

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

相关文章

超分CAMixerSR 使用笔记

目录 超分CAMixerSR 笔记 自己改进的图例示例: 修改目录: 设置预训练模型: 超分CAMixerSR 笔记 自己改进的图例示例: 修改目录: codes/basicsr改为codes/basicsr_m 设置预训练模型: path:pretrain_network_g: F:\project\chaofen\CAMixerSR-main\pretrained_mode…

C++初学(14)

14.1、while循环 和for循环相比,while循环没有初始化和更新部分,它只有测试条件和循环体。 while(text-condition)body首先程序计算圆括号内的测试条件(text-condition)表达式。如果该表达式为ture,则执行循环体中的…

vue3编程 -动态多开模态框实现方案

页面按需弹出多个模态框: 一、v-for方案: 采用v-for提前生成多个模态框实例,采用这种方案的案例社区已经很多 二、采用h函数方案: 代码如下,代码可运行: 基本思路: 1. 封装模态框组件DialogMo…

Docker快速上手

Docker 前言一、基本组成二、常用命令2.1 Docker服务2.2 image相关命令2.3 Container相关命令 三、Docker Volume 容器卷3.1 匿名挂载3.2 具名挂载 四、Docker 网络模式4.1 bridge桥接模式4.2 host主机模式4.3 None模式4.4 Container模式4.5 Customer模式 前言 本篇文章不再赘…

读软件开发安全之道:概念、设计与实施08密码学(下)

1. 对称加密 1.1. symmetric encryption 1.2. 使用各方共享的密钥来隐藏数据 1.2.1. 对称加密在本质上依赖共享密钥 1.3. 所有加密都是通过对明文进行转换,把明文消息(或者原始消息)变成无法识别的形式(也称为密文&#xff09…

LeetCode 热题100-69 有效的括号

有效的括号 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相…

我的CSDN-----第128天创作纪念日

机缘 起初的我,是为了在学习代码的过程中通过写博客的方式来巩固自己的知识。后来在遇到不会的问题时可以在csdn上面查找,寻求一点思路,将学到的知识通过博客的方式呈现出来。 收获 每当发布一篇博客后,就会收到很多人的评论加关…

Adobe Animate (AN)软件安装,硬件配置(附安装包)

目录 一、Adobe An 软件简介 Adobe An 软件的特点 Adobe An 软件的优势 下载 二、Adobe An 软件安装 安装前的准备工作 安装过程中的注意事项 安装后的设置 三、Adobe An 软件使用 高级动画技巧 交互设计 优化与性能提升 四、Adobe An 软件快捷键 选择工具快捷键…

Linux 下命令行参数和环境变量

Linux 下命令行参数和环境变量 命令行参数为什么要有命令行参数谁可以做到结论 环境变量一些现象查看环境变量添加环境变量添加内存级环境变量永久有效 其他环境变量HOMEPWDSHELLHISTSIZE 自定义环境变量定义取消 本地变量整体理解环境变量环境变量的组织方式Linux 代码获取环境…

31. 高度过渡 带粘性分区标题的列表

高度过渡 当元素的高度未知时,将元素的高度从 0 过渡到 auto。 使用 transition 指定 max-height 的变化应该被过渡。使用 overflow: hidden 防止隐藏元素的内容溢出其容器。使用 max-height 指定 0 的初始高度。使用 :hover 伪类将 max-height 更改为由 JavaScript 设置的 --…

【机器人学】7-2.六自由度机器人自干涉检测-计算圆柱体的上下圆心坐标【附MATLAB代码】

目录 前言 机械臂几何参数 机器等效圆柱体坐标确定 MATLAB代码 前言 上一章介绍了机器人自干涉检测的总体算法,提出了算法的三个核心: 一 根据机械臂的几何数据以及DH参数,确定机械臂等效的圆柱体的上下圆心坐标。 二 将一个圆柱体旋转到…

网络攻击原理及过程

网络攻击原理表 攻击者 内容 攻击访问 攻击效果 攻击意图 黑客 挑战 间谍 用户命令 破坏信息 好奇 恐怖主义者 脚本或程序 本地访问 信息泄密 获取情报 公司职员 自治主体 远程访问 窃取服务 经济利益 职业犯罪分子 电磁泄露 拒绝服务 恐怖事…

CSS3 3D 转换

CSS3 3D 转换 CSS3 3D 转换是一种强大的技术,它允许开发者创建出令人印象深刻的3D视觉效果,而无需复杂的JavaScript或第三方库。通过使用CSS3的3D转换功能,设计师可以轻松地将元素旋转、倾斜、移动或缩放,以创建出深度和透视感。在本文中,我们将探讨CSS3 3D转换的基础知识…

python 压力测试脚本

需求: 生成一个12位不重复的随机数将随机数赋值给Json 串中的 orderCode字段将Json用ECB 指定 key为bJXQezYtR4ZSNK4p进行加密并作为值传给{ “data”: “” }设置每秒30个并发持续1分钟调用接口接口输出测试测试报告 代码示例 import json import random import…

鸿蒙验证码,鸿蒙认证服务验证码,鸿蒙云存储上传图片

1、在entry / oh-package.json5目录下,增加依赖: "dependencies": {hw-agconnect/cloud: "^1.0.0",hw-agconnect/hmcore: "^1.0.0",hw-agconnect/auth-component: "^1.0.0",long: ^5.2.1} 整体效果 {"…

vue.js - 看板娘 Live2d

文中的资源文件在这里:我的资源中,打好包了已经,地址:live2d资源 1、在项目的 src/assets 文件夹中,添加 live2d 的资源文件 2、在 src/components 文件中,编写 live2d的index.vue组件 3、在 App.vue 中…

技术文档索引

1.Python爬虫之BeautifulSoup的文章链接 2.Python爬虫之正则表达式

【重点】人工智能大语言模型技术发展研究报告2024|附下载

人工智能作为引领新一轮科技产业革命的战略性技术和新质生产力重要驱动力,正在引发经济、社会、文化等领域的变革和重塑。 2023 年以来,以ChatGPT、GPT-4 为代表的大模型技术的出台,因其强大的内容生成及多轮对话能力,引发全球新…

MYSQL————数据库的约束

1.约束类型 1.not null:指示某列不能存储null值 2.unique:保证某列的每行必须有唯一值 3.default:规定没有给列赋值时的默认值 4.primary key:not null和unique的结合。确保某列(或两个或多个列的结合)有唯…

《中国科技论坛》

《中国科技论坛》杂志   刊名:中国科技论坛/Forum on Science and Technology in China 主办:中国科学技术发展战略研究院 编辑出版:中国科技论坛杂志社 创刊:1985 刊期/版面:月刊,大16开 刊号&#…