首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏流媒体

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

    简介 前面讲到了在Android平台下使用FFmpeg进行RTMP流(视频文件流),里面主要是介绍如何解析视频文件并进行流,今天要给大家介绍如何在Android平台下获取采集的图像,并进行编码流 学习本章之前最好先看之前的文章,这里是一套连贯的教程 RTMP服务器搭建(crtmpserver和nginx) 音视频编码相关名词详解 基于FFmpeg进行RTMP流(一) 基于FFmpeg进行RTMP 流(二) Linux下FFmpeg编译以及Android平台下使用 Android平台下使用FFmpeg进行RTMP流(视频文件流) 打开摄像头并设置参数 具体代码查看CameraActivity.java 一般情况下传0就直接获取到后置摄像头,1就获取到前置摄像头。当然有些设备可能有些不同。 如果编码器获取失败就没有下文了 创建编码器上下文 pCodecCtx = avcodec_alloc_context3(pCodec) 设置编码器参数 这些参数我个参数的设置上都有加注释

    7.4K51发布于 2018-08-23
  • 来自专栏EasyNVR

    【硬件设备】海康RTMP摄像头流到腾讯云配置手册

    每天都有很多新老用户咨询我关于RTMP摄像头的问题,摄像头的配置手册我之前已经写过(RTMP摄像头如何接入EasyDSS视频平台),已经持有RTMP摄像头的可以按照此手册进行配置。 由于部分用户使用的是阿里云或者腾讯云的云服务器,也有将摄像头视频流直接推送到云服务器的需求,所以本文跟大家介绍一下如何将RTMP摄像头流至腾讯云平台。 准备工作 1、准备RTMP摄像头 2、一个备案后的域名 3、有腾讯云账户 4、开通云直播业务 配置步骤 准备工作完成之后,以下为配置步骤: 1、需要添加流和播放域名,一般为二级域名,相应域名需要备案 4、将生成后的地址复制到摄像头上。 登录摄像头配置界面-配置-网络-高级配置-RTMP。点击启用,填写服务器地址即可。 填写后,建议重启摄像头。 大家按以上要求进行配置即可,阿里云的配置方法在此文:海康RTMP摄像头流到阿里云配置手册,可点击直接阅读。

    9K43发布于 2020-10-10
  • 来自专栏TSINGSEE青犀视频

    如何联合RTMP摄像头构建智慧消防方案?

    最近我们遇到了河北某消防行业视频监控需求,通过在消防车上安装多个摄像头,将实时采集的音视频画面回传到指挥台,便于指挥台对消防现场进行实时监控、指挥调度与信息交换。 根据此项目要求方案主要分有两部分:车载摄像头(前端采集)、流媒体服务器(控制台监控)。推荐方案架构如下: 1、设备层:消防车安装车载摄像头2-4路,采集车辆的状态数据。 2、通讯层:通过4G/5G路由设备将摄像头统一接入,实现各种传感数据的通信支持。 3、数据与服务器层:利用流媒体服务器接收前端设备的RTMP流数据,实现大并发、主流品牌接入、转码、分发及存储等功能。

    60210发布于 2021-03-01
  • 来自专栏全栈程序员必看

    3、搭建rtmp视频流服务器

    /configure make && make install 查看pcre版本 pcre-config --version 3.安装zlib库 wget http://www.zlib.net/zlib /configure --add-module=/usr/local/nginx/nginx-rtmp-module make & make install 6.配置Nginx的rtmp服务站点 vim ,打开软件 在 来源 模块,点击+,媒体源,新建一个, 在本地文件添加一个视频文件上去, 勾选:循环、当源变为活跃状态时重新启动播放、在可用时使用硬件解码 在右下角 控件 模块,点击设置,点击流 服务:自定义 服务器:rtmp://服务器地址:1935/tv_file 串流密钥:test(这处随便,也就是保存到服务器端的文件名) 开始流: 然后在服务器段就可以看到 .ts .m3u8 文件 cd /usr/local/nginx/html/tv_file ls test-0.ts test-1.ts test-2.ts test.m3u8 8.拉流测试 下载安装

    4.9K30编辑于 2022-11-01
  • 来自专栏EasyNVR

    RTMP流网关如何实现摄像头微信幼儿园直播?

    EasyRTMPLive视频网关设备可实现将RTSP、RTMP、HTTP、HLS等各种各样的网络流媒体先拉取到本地,进行转换,再以标准RTMP协议的方式流到RTMP流媒体服务器、CDN等,进行直播分发 产品特点 视频拉转 可实现将RTSP、RTMP、HTTP、HLS等各种各样的网络流媒体先拉取到本地,进行转换,再以标准RTMP协议的方式流; 支持H.265编码 支持H.265编码,只需H.264 一半的带宽,即可实现同样的清晰度,大大节省流量费用; 兼容市场主流直播平台 编码器支持RTMP/RTSP协议传输,只要平台支持RTMP就可以用它进行直播; 开机自动直播无需任何操作 编码器在直播时不需要借助电脑 ,也就是说第一次使用需要电脑,设置好流地址后,编码器就可以脱离电脑进行直播。 应用场景 视频流网关可以运用在很多场景当中,也给电视直播、校园直播、现场直播带来了新的发展方向。 ?

    1.4K20发布于 2020-07-16
  • 来自专栏C/C++与音视频

    视频RTMP流实践

    对应RTMP流,业界有很多开源方案。如使用FFMPEG流,librtmp(rtmp-dump),gstream流。由于ffmpeg和gstreamer比较庞大,仅仅用来流,有大炮打蚊子之嫌。 流接口。 下面是一个h264裸文件推送RTMP过程。 运行可执行程序流 . 3.如果是云主机,在云主机内不能公网IP,而要内网IP 192.168.1.226,客户端访问需要外网IP。 客户端播放效果如下:。

    9.3K30编辑于 2022-06-14
  • 来自专栏TSINGSEE青犀视频

    【参数配置教程】RTMP摄像头内参数都应该如何配置?

    TSINGSEE青犀视频的RTMP摄像头受到了很多用户的认可,由于摄像头的配置与视频的清晰度及流畅度有着直接的关系,配置不匹配会导致视频的模糊或者卡顿,因此很多用户在使用的时候,对于摄像机内的配置参数仍有些迷茫

    2.4K10发布于 2021-05-17
  • 来自专栏TSINGSEE青犀视频

    RTMP摄像头视频推送至EasyDSS使用EasyPlayer-RTMP WIN播放崩溃闪退是什么原因?

    TSINGSEE青犀视频联合海康研发的摄像头自从上线以来,获得了很多用户的信任。 RTMP摄像头可以将视频流直接通过RTMP协议推送至直播间,无需增加中间组件或者设备,使用方便简单,配置可参考:海康定制RTMP摄像头如何接入EasyDSS视频直播点播平台? 有客户按照以上方式在EasyDSS演示平台上做测试,流摄像机可以推到EasyDSS演示平台直播间,但是用EasyPlayer-RTMP WIN版去拉取RTMP流做播放的时候,播放器崩溃闪退了。 2、根据经验来说,播放器本身肯定是可以播放RTMP协议流的,因此该崩溃有两个可能: 1)跟环境有关 2)内存异常引起的 于是我们在客户这个环境中单步调试EasyPlayer-RTMP WIN版Demo, 3、到这里我们就可以知道是wszURL数组定义长度太短了,只定义了128位的长度。我们给的RTMP流地址的字符串长度大于了128,于是修改定义数组长度为256。

    85540发布于 2021-03-05
  • 来自专栏嵌入式项目开发

    FFMPEG音视频开发: 完成摄像头、桌面本地录制与rtmp流(windows)

    一、基本介绍 该软件里流和视频保存使用FFMPEG库完成,界面框架采用QT,视频和音频可以同步流和录制,FFMPEG本身支持跨平台编译开发,QT也支持跨平台,在Android、Linux、windows 完整项目代码下载地址(下载即可编译运行): QT+FFMPEG的流客户端.7z_qt摄像头流-直播技术文档类资源-CSDN下载 https://download.csdn.net/download/ xiaolong1126626497/19323232 二、windows下软件运行效果 (1)主界面效果 (2)保存视频到本地,设置录制间隔为10秒一个视频 (3流视频到B站,必须保证RTMP 地址是有效的,如果地址无效软件会自动退出 三、核心代码 代码里除了FFMEG代码之外,主要的核心代码是摄像头颜色转换代码,因为不同的摄像头输出的原始格式不一样,代码里还需要做颜色转换。 ()<<"pixelFormat:"<<cloneFrame.pixelFormat(); unsigned char rgb_buffer[VIDEO_WIDTH*VIDEO_HEIGHT*3]

    2.7K20编辑于 2022-01-12
  • 来自专栏RTSP/RTMP直播相关

    如何实现Android端获取RTSP或RTMP流转RTMP

    :通过RTMP直播推送SDK的编码后数据输入接口,把回调上来的数据,传给RTMP直播推送模块,实现RTSP|RTMP数据流到RTMP服务器的转发; 3. 转RTMP实时静音:只需要在传audio数据的地方,加个判断即可; 8. 拉流速度反馈:通过RTSP播放端的实时码率反馈event,拿到实时带宽占用即可; 9. 整体网络状态反馈:考虑到有些摄像头可能会临时或异常关闭,RTMP服务器亦是,可以通过推拉流的event回调状态,查看那整体网络情况,如此界定:是拉不到流,还是不到RTMP服务器; 10. 设置RTMP、RTSP拉流的URL; 2. 设置转RTMP的URL; 3. 实时播放|录像过程中,实时静音、实施快照; 4. 实时播放; 5. 实时录像; 6. 注意:以上播放、录像、转RTMP、注入轻量级RTSP服务四者是可单独工作,也可随时启动或停止相关功能,互不影响。

    3.6K10发布于 2021-04-06
  • 来自专栏码客

    Nginx添加rtmp模块搭建rtmp流服务器

    前言 搭建基于rtmp协议的流服务器。 download/nginx-1.12.2.tar.gz tar zxvf nginx-1.12.2.tar.gz rm nginx-1.12.2.tar.gz mv nginx-1.12.2 nginx 3、 备份文件 cp -r /etc/nginx /etc/nginx_bak mv /usr/sbin/nginx /usr/sbin/nginx_bak 下载rtmp模块 仓库地址:nginx-rtmp-module cd /usr/lib64/nginx/modules/ git clone https://github.com/arut/nginx-rtmp-module.git 添加依赖 cd /usr/local 流请求路径,文件存放路径 hls_fragment 5s; #每个TS文件包含5秒的视频内容 } } } 启动nginx cd /usr/local/nginx

    8.9K20发布于 2019-10-22
  • 来自专栏EasyNVR

    互联网直播点播平台如何联合RTMP摄像头构建智慧消防方案?

    最近我们遇到了河北某消防行业视频监控需求,通过在消防车上安装多个摄像头,将实时采集的音视频画面回传到指挥台,便于指挥台对消防现场进行实时监控、指挥调度与信息交换。 根据此项目要求方案主要分有两部分:车载摄像头(前端采集)、流媒体服务器(控制台监控)。推荐方案架构如下: ? 1、设备层:消防车安装车载摄像头2-4路,采集车辆的状态数据。 2、通讯层:通过4G/5G路由设备将摄像头统一接入,实现各种传感数据的通信支持。 3、数据与服务器层:利用流媒体服务器接收前端设备的RTMP流数据,实现大并发、主流品牌接入、转码、分发及存储等功能。

    89720发布于 2020-07-16
  • 来自专栏小锋学长生活大爆炸

    如何使用OpenCV RTMP直播

    服务器地址 rtmp = r'rtmp://txy.live-send.acg.tv/live-txy/' # 读取视频并获取属性 cap = cv2.VideoCapture(0) size = (int RTMP是什么? RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。 该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。 RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。 RTMP与HTTP一样,都属于TCP/IP四层模型的应用层。 树莓派是什么?

    11.6K20发布于 2020-08-13
  • 来自专栏流媒体

    基于FFmpeg进行RTMP流(二)

    在前面一节基于FFmpeg进行RTMP流(一)我们写了最简单的一版流代码。但细心调试过的兄弟会发现当我们把文件换成mp4后,发现上面的代码在写入文件头时报错。也就是说上一版的代码是有bug的。 3.png 定位之后发现是在这里出错。 //写入头部信息 ret = avformat_write_header(octx, 0); 我们跟踪一下源代码: ? 说明我们流的速度有问题。快了或慢了都会有问题。我们大概可以定位到,我们在计算延时的时候出现了错误。 videoindex = -1; //所有代码执行之前要调用av_register_all和avformat_network_init //初始化所有的封装和解封装 flv mp4 mp3 test.mp4放到bin目录下即可 const char *inUrl = "hs.mp4"; //输出的地址 const char *outUrl = "rtmp://192.166.11.13

    9.2K50发布于 2018-08-23
  • 来自专栏韩曙亮的移动开发专栏

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

    文章目录 一、 Java 层传入的 RTMP 流地址处理 二、 RTMPDump 流线程 三、 创建 RTMP 对象 四、 初始化 RTMP 对象 五、 设置 RTMP 流地址 六、 启用 RTMP = env->GetStringUTFChars(path, 0); 3 . */ pthread_t startRtmpPushPid; 3 . , 直接退出流操作 ; 该地址就是 Java 层传给 JNI 的字符串 , 刚获取时是局部引用变量 , 将其拷贝到了堆内存中 , 才可以在流线程中使用 ; // 3. 初始化 RTMP RTMP_Init(rtmp); // 设置超时时间 5 秒 rtmp->Link.timeout = 5; // 3

    3.8K20编辑于 2023-03-27
  • 来自专栏流媒体

    Android RTMP流之MediaCodec硬编码二(RTMPDump流)

    主要增加三个方法:建立连接,流数据,释放连接。 我们还是使用Android RTMP流之MediaCodec硬编码一(H.264进行flv封装)里的代码。 复制打开摄像头编码的CameraMediaCodecActivity为CameraMediaCodecRtmpActivity,然后只用修改三个地方。 第三步 c++层方法实现 c++层流逻辑的编写。我们将方法写到rtmp_handle.cpp。 (rtmp); RTMP_Free(rtmp); return -3; } logw("RTMP_ConnectStream"); packet

    5.3K50发布于 2018-08-23
  • 来自专栏码客

    OSSRS搭建rtmp流服务器

    clone https://gitee.com/psvmc/srs.git cp -rf srs/trunk /usr/local/srs2 # 安装三方依赖 cd /usr/local/srs2/3rdparty # 3. allow if matches allow strategy. ://rtmp.psvmc.cn/live/livestream HLS流地址为: http://rtmp.psvmc.cn/live/livestream.m3u8 HTTP回调 详细配置:https key=xxx”, “stream”: “livestream” } 流到服务器时 on_unpublish { “action”: “on_unpublish”, “client_id”: 1985 /log.txt & 流 ffmpeg -re -stream_loop -1 -i /data/rtmptest.mp4 -vcodec copy -acodec copy -f flv -y rtmp

    8.6K30发布于 2019-10-22
  • 来自专栏用户1692782的专栏

    协议转换之rtsp转rtmp

    本篇记录实现一个rtsp转rtmp直播流的程序!闲言少叙,接下来置入主题。 需求 有一个摄像头,比如海康的监控摄像头,可以通过rtsp流的方式访问其视频画面! 需要将其画面转换为rtmp协议,并实现直播! 实现思路 我们的程序,称之为rtsp2rtmp,使用该程序实现拉取摄像头rtsp视频流,并将rtmp视频流转换为rtmp视频流,然后推送到直播服务器,直播服务器采用nginx+rtmp_module的方式实现 codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { m_nAudioIndex = i; } } ‍ 打开输出流上下文 //3. << std::endl; //4. stream信息复制 AVCodecContext* rtmpOutCodec = avcodec_alloc_context3(outCodec);

    4.8K30发布于 2020-07-14
  • 来自专栏视频云直播

    rtmp流异常快速恢复方案

    1、问题分析 我们以一个实际现网的case来引入该问题,3月9日,巴西地区的主播,流id:stream-2990700835946365032 在20:50-21:50这段时间整体的流帧率非常低,丢帧非常严重 2、RTMP 302重定向具体方案 为了解决流过程中,网络异常问题,采用了RTMP 302 重定向的方案,具体实现逻辑如下图所示: 步骤一,流过程中,rtmp server端支持持续弱网检测,支持域名 上述解决方案,在流过程中,通过RTMP 302的方式获取到服务器慢速信息,根据客户端以及服务器端慢速信息,来进行断流重,快速恢复直播,提高流成功率。 3、结论 综上所述: 1、在流过程中,给客户端发送RTMP 302控制消息,客户端使用服务器提供的重定向地址,进行断流重,可以快速恢复流异常,提升上行流质量; 2、在流开始时,服务器端可以综合后台机器负载以及带宽资源情况 3、兼容性好,能兼容新老客户端,是否检测RTMP 302 amf信息,完全由客户端控制。客户端可以根据自身情况,进行选择性使用。

    3.2K10编辑于 2022-01-12
  • 来自专栏ios技术安装

    iOS摄像头流(2)

    TXLivePush *_pusher = [[TXLivePush alloc] initWithConfig: _config]; NSString* rtmpUrl = @"rtmp://test.com /live/xxxxxx"; [_pusher startPush:rtmpUrl]; 如果您启动纯音频流,但是 rtmp、flv 、hls 格式的播放地址拉不到流,那是因为线路配置问题,请 image.png 3. 控制摄像头 TXLivePush 提供了一组 API 用户控制摄像头的行为: API 函数 功能说明 备注说明 switchCamera 切换前后摄像头 Mac 平台对应的函数为 selectCamera toggleTorch 打开或关闭闪光灯 仅在当前是后置摄像头时有效。 setZoom 调整摄像头的焦距 焦距大小,取值范围:1 - 5,默认值建议设置为1即可。

    1.1K10发布于 2020-10-19
领券