通过rtmp向fms发送视频流

2024-02-01 06:32
文章标签 发送 rtmp 视频流 fms

本文主要是介绍通过rtmp向fms发送视频流,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

临时需要一个直播功能,选择了fms+flash client的方案,fms通过rtmp协议来与flash client通信,编码为h264与aac。

整个流程:

采集音视频 –> 编码器编码 –> 封装成rtmp包 –> 发到fms –>fms推送至各client。

其它步骤已经解决,只差把h264和aac打包成rtmp了,出乎意料,rtmp有些难搞,so一下,找到http://www.cnweblog.com/fly2700/archive/2008/04/08/280641.html,从时间上看,这位兄弟前后近四年都从事相关工作,从评价来看,口碑相当的好,没有时间造轮子了,先拿来用一次,下载他提供的demo,发现这个demo功能是把桌面录屏,然后打包成rtmp发到fms,我需要的就是尝试把封rtmp包的功能从demo里剥离出来,赞叹一下这位兄弟的代码,结构非常清晰,封包的功能完美的包装在了rtmpsdk.dll中:

 
大致实现如下:

1. CreateConnInfo 返回值为一个ConnInfo*,以下调用均需传入此指针

2. Connect 连接到fms,参数形如rtmp://127.0.0.1/live/StreamName

3. GetConnState 是否可发送,我这里的间隔是每秒24帧,返回值总是可用。

4. SendStream 发送数据,char*为数据buffer,int参数0×7为aac,0×8为h264

5. 继续发送至跳至3,否则调用ReleaseConnInfo释放ConnInfo*

实测,运行良好。

原作者博客上有很多rtmp的资料可以参阅,除了不开源之外,几乎有问必答。如果需要二次开发和定制,强烈推荐与其联系并获得授权

这篇关于通过rtmp向fms发送视频流的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/666354

相关文章

如何使用C#串口通讯实现数据的发送和接收

《如何使用C#串口通讯实现数据的发送和接收》本文详细介绍了如何使用C#实现基于串口通讯的数据发送和接收,通过SerialPort类,我们可以轻松实现串口通讯,并结合事件机制实现数据的传递和处理,感兴趣... 目录1. 概述2. 关键技术点2.1 SerialPort类2.2 异步接收数据2.3 数据解析2.

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

使用Java发送邮件到QQ邮箱的完整指南

《使用Java发送邮件到QQ邮箱的完整指南》在现代软件开发中,邮件发送功能是一个常见的需求,无论是用户注册验证、密码重置,还是系统通知,邮件都是一种重要的通信方式,本文将详细介绍如何使用Java编写程... 目录引言1. 准备工作1.1 获取QQ邮箱的SMTP授权码1.2 添加JavaMail依赖2. 实现

Qt实现发送HTTP请求的示例详解

《Qt实现发送HTTP请求的示例详解》这篇文章主要为大家详细介绍了如何通过Qt实现发送HTTP请求,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、添加network模块2、包含改头文件3、创建网络访问管理器4、创建接口5、创建网络请求对象6、创建一个回复对

nginx-rtmp-module模块实现视频点播的示例代码

《nginx-rtmp-module模块实现视频点播的示例代码》本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录预置条件Nginx点播基本配置点播远程文件指定多个播放位置参考预置条件配置点播服务器 192.

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

Python手搓邮件发送客户端

《Python手搓邮件发送客户端》这篇文章主要为大家详细介绍了如何使用Python手搓邮件发送客户端,支持发送邮件,附件,定时发送以及个性化邮件正文,感兴趣的可以了解下... 目录1. 简介2.主要功能2.1.邮件发送功能2.2.个性签名功能2.3.定时发送功能2. 4.附件管理2.5.配置加载功能2.6.

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

Django中使用SMTP实现邮件发送功能

《Django中使用SMTP实现邮件发送功能》在Django中使用SMTP发送邮件是一个常见的需求,通常用于发送用户注册确认邮件、密码重置邮件等,下面我们来看看如何在Django中配置S... 目录1. 配置 Django 项目以使用 SMTP2. 创建 Django 应用3. 添加应用到项目设置4. 创建