学习
实践
活动
专区
工具
TVP
写文章
  • 广告
    关闭

    9.9元起,搭建自有直播平台

    9.9元享100GB流量,快直播体验仅需8.8元,结合视立方SDK快速构建云+端一体化直播平台,支持电商带货、在线教育、游戏直播等多样音视频互动场景

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    基于FFmpeg进行 RTMP (二)

    在前面一节基于FFmpeg进行 RTMP (一)我们写了最简单的一版 代码。但细心调试过的兄弟会发现当我们把文件换成mp4后,发现上面的代码在写入文件头时报错。也就是说上一版的代码是有bug的。 说明我们 的速度有问题。快了或慢了都会有问题。我们大概可以定位到,我们在计算延时的时候出现了错误。 test.mp4放到bin目录下即可 const char *inUrl = "hs.mp4"; //输出的地址 const char *outUrl = " rtmp ://192.166.11.13 ////////////////////////////////////////////////////////////////// // 准备 << endl; // 每一帧数据 //int64_t pts [ pts*(num/den) 第几秒显示] //int64_t dts 解码时间 [P帧(相对于上一帧的变化

    6.5K 5 0

    协议转换之rtsp转 rtmp

    本篇记录实现一个rtsp转 rtmp 直播 的程序!闲言少叙,接下来置入主题。 有一个摄像头,比如海康的监控摄像头,可以通过rtsp 的方式访问其视频画面! 需要将其画面转换为 rtmp 协议,并实现直播! 我们的程序,称之为rtsp2 rtmp ,使用该程序实现拉取摄像头rtsp视频 ,并将 rtmp 视频流转换为 rtmp 视频 ,然后推送到直播服务器,直播服务器采用nginx+ rtmp _module的方式实现 << std::endl; // 2.获得 信息 m_nRet = avformat_find_stream_info(m_pRtspAVFormatContext, 0); if (m_nRet m_nRet = av_read_frame(m_pRtspAVFormatContext, &pkt); if (m_nRet < 0) break; 写入输出

    2.3K 3 0

    【Android RTMP 】RTMPDump 流过程 ( 独立线程 | 创建 器 | 初始化操作 | 设置 地址 | 启用写出 | 连接 RTMP 服务器 | 发送 RTMP 数据包 )

    文章目录 一、 Java 层传入的 RTMP 地址处理 二、 RTMPDump 流线程 三、 创建 RTMP 对象 四、 初始化 RTMP 对象 五、 设置 RTMP 地址 六、 启用 RTMP 独立线程 : RTMP 操作需要在一个独立的线程中完成 , 涉及到网络的操作都是耗时操作 , 在 Android 中都要在线程中执行 ; 初始化 RTMP RTMP _Init( rtmp ); // 设置超时时间 5 秒 rtmp ->Link.timeout = 5; 五、 设置 RTMP 地址 设置 RTMP 地址 , 如果设置失败 结束, 关闭与 RTMP 服务器连接, 释放资源 if( rtmp ){ RTMP _Close( rtmp ); RTMP _Free( rtmp ); 十一、 RTMPDump 代码 获取 Rtmp 地址 char* pushPath = static_cast<char *>(args); // rtmp RTMP * rtmp = 0;

    245 2 0

    排查 rtmp 协议 时握手bug

    概况 转 流程序的过程:从一个观看地址拉 ,然后 流到另一个 地址。主要用于cdn之间转 ,目前市面上大多数cdn厂商都愿意不支持动态转 ,因此只能通过转 流程序进行转 。 中的代码是 地址中没有加密串的情况下的握手过程代码,第二个链接handshake.h中的代码是 地址中有加密串的情况下的握手过程代码。 以微赞和网宿为例 obs 流网宿握手成功的包点此下载 obs 微赞握手成功的包点此下载 网宿 没有走加密流程,S2和C1匹配,具体数据包截图如下: 微赞 流走加密流程,S2和C1不匹配,具体数据包截图如下: 到此,整个 rtmp 握手过程就比较清楚了。 至此,转 成功,示例图如下: 虽然Adobe公司自己出的 rtmp 协议不是iso标准的,但是你们这些公司好歹也尽量按照规定来啊,贼坑。

    709 2 1

    Android平台下使用FFmpeg进行 RTMP (摄像头

    简介 前面讲到了在Android平台下使用FFmpeg进行 RTMP (视频文件 ),里面主要是介绍如何解析视频文件并进行 ,今天要给大家介绍如何在Android平台下获取采集的图像,并进行编码 学习本章之前最好先看之前的文章,这里是一套连贯的教程 RTMP 服务器搭建(crtmpserver和nginx) 音视频编码相关名词详解 基于FFmpeg进行 RTMP (一) 基于FFmpeg进行 RTMP (二) Linux下FFmpeg编译以及Android平台下使用 Android平台下使用FFmpeg进行 RTMP (视频文件 ) 打开摄像头并设置参数 具体代码查看CameraActivity.java (ofmt_ctx, pCodec)这个就和之前的 文件 一样了。 输出视频数据 ret = av_interleaved_write_frame(ofmt_ctx, &enc_pkt); 在结束编码 后我们也需要释放相关的资源 if (video_st

    2.8K 5 1

    rtmp 异常快速恢复方案

    紧急情况中,采取了断流迫使 端重新 ,快速恢复了 的稳定。 如上图所示,在21点47分左右,重新 后, 帧率稳定在30帧,卡顿率也恢复到正常水平。 2、 RTMP 302重定向具体方案 为了解决 流过程中,网络异常问题,采用了 RTMP 302 重定向的方案,具体实现逻辑如下图所示: 步骤一, 流过程中, rtmp server端支持持续弱网检测,支持域名 上述解决方案,在 流过程中,通过 RTMP 302的方式获取到服务器慢速信息,根据客户端以及服务器端慢速信息,来进行断流重 ,快速恢复直播,提高 成功率。 对上述方案进行扩展,在开始 时,利用302进行服务端的负载均衡。服务器端在刚收到客户端数据时,给客户端发送 RTMP 302信息,来进行高负载302调度,提高 的成功率。 综上所述: 1、在 流过程中,给客户端发送 RTMP 302控制消息,客户端使用服务器提供的重定向地址,进行断流重 ,可以快速恢复 异常,提升上行 流质量; 2、在 开始时,服务器端可以综合后台机器负载以及带宽资源情况

    969 1 0

    视频协议学习: 都擅长的 RTMP

    Message Stream Id: 消息 ID,标识消息所使用的 ,用大字节序表示。 此字段根据块 ID的不同,长度可能为1,2或3字节。在实现协议时,此字段应该使用可以容纳ID的最小长度。此协议支持最多65597个 ,ID从3到65599。0,1,2这三个为保留ID。 块 ID为2时保留作为低级协议的控制消息和命令消息。以下是基本头的每个占位介绍: 3.3分块例子 四、交互过程 4.1 4.2拉 五、实践观察 5.1 rtmp 推拉 环境搭建 参考视频协议学习--HLS的环境部署 5.2 rtmp 推拉 抓包 5.2.1主要的 包介绍 RTMP Spec中文版 RTMP 协议笔记 RTMP 服务端实现

    6.7K 3 2

    Android平台下使用FFmpeg进行 RTMP (视频文件 )简介

    在Android平台下用FFmepg解析视频文件并进行 RTMP 。如果对FFmpeg基础不熟或者不知道如何在Android项目中使用,请先阅读流媒体专栏里之前的文章。 新增 函数 设置回调方法 新增 函数 首先我们将所有FFmpeg的操作抽取到一个类里面,然后增加 方法。 (二)中使用的代码一致,我们直接拷贝过来即可。 源码见末尾 在我们之前的 代码中,并没有做异常处理。这样在正式的使用中肯定不太好的。所以我们加上try catch。统一进行资源释放。 源码见末尾 设置回调方法 为了方便我们查看 的信息,我们新增一个回调类。

    3K 2 0

    手撕 Rtmp 协议细节(8)——publish

    publish 对于 端,经过releaseStream,createStream消息之后,得到了_result消息之后,接下来客户端就可以发起publish消息。 端使用publish消息向 rtmp 服务器端发布一个命名的 ,发布之后,任意客户端都可以以该名称请求视频、音频和数据。我们首先来看一下publish消息的组织结构: ,使用string类型表示,比如我们发布到 rtmp ://192.168.1.101:1935/ rtmp _live/test,则test为 名称,也可以省略,此时该字段为空字符; publishType: 表示会将发布的视频 追加到原有的文件,如果原来没有文件就创建,live则不会在 rtmp 服务器上产生文件。 onMetaData消息,这一条消息的主要作用是告诉服务端, 段关于音视频的处理采用的一些参数,比如音频的采样率,通道数,帧率,视频的宽,高等信息。

    1.8K 3 0

    产品动态|支持 RTMP 协议 至 TRTC

    要是有一种技术解决方案解决以上痛点就好了~ 另外有些小伙伴目前线上稳定运行的业务是通过 RTMP ,或者 端仅支持 RTMP /RTSP (比如安防视频画面 、赛事直播在线媒体 、移动端推出直播 等 TRTC 最近上线了新功能,支持 RTMP 标准协议 ,现已完美支持此类场景,我们详细聊聊。 如下图所示,TRTC 最新支持以 RTMP 协议 至 RTC 房间的方案,常见 RTMP 的来源: 在 PC 端通过 OBS 或 其他直播平台工具 进行 RTMP ; 在服务端通过FFMPEG 在线媒体 - RTMP 协议 使用手册 - OBS 设置 安装并打开 OBS(https://obsproject.com/download? 以上服务器地址 + 串流密钥组成 RTMP 地址,也可以供 FFmpeg 或其他 RTMP

    817 2 0