精华内容
下载资源
问答
  • FFmpegTest_rtmp推流_rtmp推流_rtmp_rtmpffmpeg_HomeHome.zip
  • FFmpegTest_rtmp推流_rtmp推流_rtmp_rtmpffmpeg_HomeHome_源码.rar.rar
  • RTMP推流RTSP视频

    2018-10-14 11:55:18
    RTMP推流
  • 一、服务器端1、nignx2、ffmpeg3、srs4、livego5、node-rtsp-rtmp-servergithub搜一圈也很多https://github.com/gwuhaolin/livegohttps://github.com/sevenzoe/gortmphttps://github.com/c-bata/rtmp二、rtmp推流器1...

    一、服务器端

    1、nignx

    2、ffmpeg

    3、srs

    4、livego

    5、node-rtsp-rtmp-server

    github搜一圈也很多

    https://github.com/gwuhaolin/livego

    https://github.com/sevenzoe/gortmp

    https://github.com/c-bata/rtmp

    二、rtmp推流器

    1、rtmp发布h264裸数据

    librtmp比较常用,但是不好用,还是整理了下

    linux版

    windows版

    2、发布h264 rtmp最省事的还是srs-librtmp

    开源srs自带的示例srs_h264_raw_publish.c就很容易用起来

    我导出了srs-librtmp项目,做了两个demo,分别跑在x86和arm

    具体细节可以看看调试笔记

    3、直接用ffmpeg

    整理了下,可以推送文件和url网络实时流

    ./main source.200kbps.768x320.flv rtmp://182.61.45.149:1935/live/movie

    ./main rtsp://admin:12345@172.16.23.142:554/H.264/ch1/main/av_stream rtmp://182.61.45.149:1935/live/movie

    4、下面这个有音频和视频两路数据,比较方便

    This tool is used to encapsulate H264 and AAC to RTMP

    5、封装成ts也可以

    ts muxer

    三、拉流

    1、ffmpeg

    2、python-librtmp

    四、测试实例

    我这里用的开源livego和libRTMP

    ffplay -i rtmp://localhost:1935/live/movie

    ffplay http://127.0.0.1:7002/live/movie.m3u8

    使用RTMPdump(libRTMP)直播来自v4l2的摄像头数据

    展开全文
  • RTMP推流器demo

    2020-02-08 15:55:01
    rtmp推流器 很小的一个推流器 直接加到项目就可以使用 很不错 推荐一下 rtmp推流器 很小的一个推流器 直接加到项目就可以使用 很不错 推荐一下
  • Android摄像头RTMP推流

    2018-12-31 22:11:11
    使用FFMPEG的RTMP推流修改而来,可以读取摄像头和音频推流至流媒体服务器,适合做视频直播的新手参考. 使用FFMPEG的RTMP推流修改而来,可以读取摄像头和音频推流至流媒体服务器,适合做视频直播的新手参考.
  • 使用FFmpeg进行推流开发,ffmpeg -re -i 1.mp4 -vcodec libx264 -acodec aac -f flv rtmp://192.168.9.22:1935/live/home
  • Real Time Messaging Protocol(RTMP)即...EasyRTMP是一套调用简单、功能完善、运行高效稳定的RTMP推流功能组件,经过多年客户实战和线上运行打造,支持RTMP推送断线重连、环形缓冲、智能丢帧、网络事件回调,支...

    Real Time Messaging Protocol(RTMP)即实时消息传输协议,是 Adobe 公司开发的一个基于 TCP 的应用层协议,目前国内的视频云服务都是以 RTMP 为主要推流协议。

    关于RTMP推流组件

    EasyRTMP是一套调用简单、功能完善、运行高效稳定的RTMP推流功能组件,经过多年客户实战和线上运行打造,支持RTMP推送断线重连、环形缓冲、智能丢帧、网络事件回调,支持Windows、Linux、ARM、Android、iOS平台,支持市面上绝大部分的RTMP流媒体服务器,能够完美应用于各种行业的直播需求,手机直播、桌面直播、摄像机直播、课堂直播等方面。结合EasyDSS流媒体服务器,为开发者提供专业、稳定的直播推流、转码、分发服务,全面满足低超低延迟、超高画质、超大并发访问量的要求。

    EasyRTMP

    EasyRTMP-Android介绍屏幕推流及其注意点

    解决问题

    1、录屏

    VirtualDisplay类代表一个虚拟显示器,需要调用DisplayManager 类的 createVirtualDisplay()方法,将虚拟显示器的内容渲染在一个Surface控件上,当进程终止时虚拟显示器会被自动的释放,并且所有的Window都会被强制移除。当不再使用时,需要调用release() 方法来释放资源。

    1)获取MediaProjectionManager实例

    	mMpmngr = (MediaProjectionManager) getApplicationContext()
    					.getSystemService(MEDIA_PROJECTION_SERVICE);
    

    2)在Android 6.0后,Android需要动态获取权限,若没有权限,则不启用该service:

    	if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    		if (!Settings.canDrawOverlays(this)) {
    			return;
    		}
    	}
    

    3)MediaProjection是Android5.0后才开放的屏幕采集接口,通过系统级服务MediaProjectionManager进行管理。

    if (mMpj == null) {
    		mMpj = mMpmngr.getMediaProjection(StreamActivity.mResultCode, 
    												StreamActivity.mResultIntent);
    		StreamActivity.mResultCode = 0;
    		StreamActivity.mResultIntent = null;
    	}
    

    4)通过MediaProjection对象的createVirtualDisplay方法,拿到VirtureDisplay对象,拿这个对象的时候,需要把Surface对象传进去,Surface是由MediaCodec获得。

    	mVirtualDisplay = mMpj.createVirtualDisplay(
    	                "record_screen",
    	                windowWidth,
    	                windowHeight,
    	                screenDensity,
    	                DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR | DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC | DisplayManager.VIRTUAL_DISPLAY_FLAG_PRESENTATION,
    	                mSurface,
    	                null,
    	                null);
    

    2、编码及推流

    使用Android硬编码MediaCodec,将VirtualDisplay获取到的视频数据编码后通过EasyRTMP推送出去。

    1)初始化MediaCodec,同时获取Surface对象,并启动编码器

    	mMediaCodec = MediaCodec.createByCodecName(ci.mName);
    	MediaFormat mediaFormat = MediaFormat.createVideoFormat("video/avc", 
    												windowWidth, windowHeight);
    	mediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, bitrate);
    	mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, 15);
    	mediaFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, 
    					MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface);
    	mediaFormat.setInteger(MediaFormat.KEY_REPEAT_PREVIOUS_FRAME_AFTER, 
    					20000000);
    	mediaFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 1);
    	mediaFormat.setInteger(MediaFormat.KEY_CHANNEL_COUNT, 1);
    	mMediaCodec.configure(mediaFormat, null, null, 
    							MediaCodec.CONFIGURE_FLAG_ENCODE);
    	// 获取Surface对象
    	mSurface = mMediaCodec.createInputSurface();
    	mMediaCodec.start();
    

    2)音频编码的工作直接使用AudioStream,

    	final AudioStream audioStream = 
    		AudioStream.getInstance(EasyApplication.getEasyApplication(), 
    	SPUtil.getEnableAudio(EasyApplication.getEasyApplication()));
    

    3)启动编码线程,不停的将获取的音频帧和视频帧,编码并推流。详情见代码注释:

    	// 启动线程,
    	mPushThread.start();
    	// 初始化推流器
    	mEasyPusher = new EasyRTMP(mHevc ? EasyRTMP.VIDEO_CODEC_H265 : 
    								EasyRTMP.VIDEO_CODEC_H264, RTMP_KEY);
    	// 视频的硬编码
    	ByteBuffer outputBuffer;
    	if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    		outputBuffer = mMediaCodec.getOutputBuffer(outputBufferIndex);
    	} else {
    		outputBuffer = outputBuffers[outputBufferIndex];
    	}
    	outputBuffer.position(bufferInfo.offset);
    	outputBuffer.limit(bufferInfo.offset + bufferInfo.size);
    	try {
    		boolean sync = false;
    		if ((bufferInfo.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG) != 0) {
    			sync = (bufferInfo.flags&MediaCodec.BUFFER_FLAG_SYNC_FRAME)!=0;
    			if (!sync) {
    				byte[] temp = new byte[bufferInfo.size];
    				outputBuffer.get(temp);
    				mPpsSps = temp;
    				continue;
    			} else {
    				mPpsSps = new byte[0];
    			}
    		}
    		sync |= (bufferInfo.flags & MediaCodec.BUFFER_FLAG_SYNC_FRAME) != 0;
    		int len = mPpsSps.length + bufferInfo.size;
    		if (len > h264.length) {
    			h264 = new byte[len];
    		}
    		
    	// 将编码后的视频数据发送出去
    	if (sync) {
    		System.arraycopy(mPpsSps, 0, h264, 0, mPpsSps.length);
    		outputBuffer.get(h264, mPpsSps.length, bufferInfo.size);
    		mEasyPusher.push(h264, 0, mPpsSps.length + bufferInfo.size, bufferInfo.presentationTimeUs / 1000, 2);
    	} else {
    		outputBuffer.get(h264, 0, bufferInfo.size);
    		mEasyPusher.push(h264, 0, bufferInfo.size, 		bufferInfo.presentationTimeUs / 1000, 1);
    	}
    展开全文
  • ffmpeg rtmp推流源码

    2019-08-07 09:34:03
    一份可以直接将本地视频推送到服务器的推流源代码, 是学习推流的很好的资料, 代码基于ffmpeg rtmp推流, 采用nginx+rtmp module搭建本地流媒体服务器
  • 安卓rtmp推流工具

    2019-05-10 11:00:41
    安卓app,rtmp推流工具,
  • android RTMP 推流

    2017-05-25 14:04:54
    Android RTMP 推流
  • 基于ffmpeg rtmp推流源代码,可集成到系统中。
  • 背景分析 RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写,该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMP/RTMPS/RTMPE等多种变种。...RTMP推流,就是将直播内容推送到服...

    背景分析

    RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写,该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMP/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络下ieyi,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。
    RTMP推流,就是将直播内容推送到服务器的过程。

     

    EasyRTMP-Android如何快速接入文档

    提出问题

    如何快速接入EasyRTMP-Android到自己的项目中?

    解决问题

    打开项目后可以看到library 的module,这就是Android RTMP推流的核心库。app module提供了上层代码逻辑,调用library库的接口,完成摄像头实时数据的采集,并调用相关编码器。接入流程如下:

    1、复制 library module 的代码,并在您的build.gradle中直接配置:
    implementation project(’:library’),即引入了library库。

    2、再您的build.gradle中配置商用授权的RTMP_KEY(demo中提供的临时key,有效期的时间可在‘关于我们’界面查看)

    3、在AndroidManifest.xml中需要添加如下:
    等属性

    4、导入MediaStream类,这是本SDK最核心的一个类,它起到了承上启下的作用,开启摄像头进行实时数据的采集,并调用相关音频和视频的编码器,并为推流器设置流媒体服务器的地址。

    EasyRTMP推流功能特点

    - 调用简单

    无论是个人开发者还是企业级应用,只需要简单的几个接口调用就可以完成一套完整的互联网直播应用的上架

    - 功能完善

    配套完整的直播、录像、旋转功能示例,用户直接复用即可选择嫁接自定义功能

    - 运行高效

    高效缓冲和发送设计模式,能非常灵活地让用户自定义延时和缓冲区的大小

    - 性能稳定

    长期的在线运行检验,众多客户的项目成功经验

    展开全文
  • TSINGSEE青犀视频和海康联合研发的RTMP推流摄像头上线已经有一段时间了,RTMP推流摄像头无需布置电源线、交换机,即插即用,支持萤石云等平台,可以随时随地查看监控中的店铺、公司动态,且支持全新Smart H265编码,...

    TSINGSEE青犀视频和海康联合研发的RTMP推流摄像头上线已经有一段时间了,RTMP推流摄像头无需布置电源线、交换机,即插即用,支持萤石云等平台,可以随时随地查看监控中的店铺、公司动态,且支持全新Smart H265编码,能够很好对接到TSINGSEE青犀视频权限平台上。RTMP推流摄像头配置手册可参见本文:RTMP推流摄像头如何接入EasyDSS视频平台

    2.jpg

    RTMP推流摄像头可以推流至阿里云、腾讯云等云平台,推流到腾讯云配置手册可参考:海康RTMP推流摄像头推流到腾讯云配置手册。本文为大家介绍一下RTMP摄像头推流到阿里云的配置过程。

    准备工作

    1、准备RTMP推流摄像头
    2、一个备案后的域名
    3、有阿里云账户
    4、开通视频直播业务

    配置步骤

    1、需要添加推流和播放域名,一般为二级域名,相应域名需要备案。

    14.png

    15.png

    2、添加域名后, 去该域名DNS上配置CNAME记录。

    16.png

    配置完播放域名后,直播域名管理中对应的域名CNAME会变,
    推流域名阿里视频需要用自己的推流域名,同时要关联播放域名,播放域名也要先添加。

    17.png

    3、在域名都添加完成后,就可以通过直播工具箱的地址生成器进行生成地址。

    18.png

    AppName为应用名称,按规则自定义,默认为live。
    StramName为流名称,按规则生成即可。
    过期时间:可以依据具体需求选择,建议和项目周期一样。

    4、将生成后的地址复制到推流摄像头上,并显示播放地址。

    19.png

    登录摄像头配置界面-配置-网络-高级配置-RTMP。点击启用,填写服务器地址即可。

    20.png

    填写后,建议重启摄像头。

    5、在摄像头正常情况下,阿里云直播的流管理中会出现相应的视频流。

    21.png

    TSINGSEE青犀视频与海康联合研发的RTMP推流摄像头配备了智能侦测报警功能,无物体移动时停止录像,有异常入侵时触发录像,节省存储空间。大家有需求的话欢迎联系我们了解。

    展开全文
  • windows rtmp推流

    2017-05-23 19:11:28
    本事例主要采用ffmpeg、libaac、libx264、librtmp实现的windows系统下的音视频设备检测、数据采集、编码(AAC/X264)、RTMP推流直播。
  • 基于netty 开发 rtmp 推拉服务器代码,可用ffmpeg代码测试
  • 如果无人机自身支持RTMP推流,可以直接采用RTMP直接推流的方式;也可以采用LivePush,与定制GBR24到H.264结合的方式;可以使用稳定的RTMP推流服务器LiveQing 或是 其他运营商提供的CDN.
  • 每天都有很多新老用户咨询我关于RTMP推流摄像头的问题,推流摄像头的配置手册我之前已经写过(RTMP推流摄像头如何接入EasyDSS视频平台),已经持有RTMP推流摄像头的可以按照此手册进行配置。 由于部分用户使用的...
  • RTMP 推流器,RTMP(HLS)秒开播放器,跨平台(Win,IOS,Android)开源代码
  • linux环境rtmp推流

    2018-10-18 14:29:33
    linux环境,基于rtmp推流源代码,源文件可以下载参考学习
  • python利用ffmpeg进行rtmp推流直播

    万次阅读 多人点赞 2019-07-04 23:44:06
    思路: opencv读取视频 —> 将视频分割为帧 —> 将每一帧进行需求加工后 —> 将此帧写入pipe管道 —> 利用ffmpeg进行推流...利用这个特点 让ffmpeg读取处理后的图像帧并进行rtmp推流即可 代码 ...
  • ffmpeg rtmp推流代码示例

    千次阅读 2020-01-31 21:22:11
    rtmp推流,得有rtmp服务器,可以参考这篇博客搭建rtmp服务器 ===》》》ubuntu搭建rtmp服务器,如果自己有rtmp服务器,可以不用看。 rtmp推流需要用flv格式, 本篇博客demo是本地flv文件rtmp推流. 主要流程如下: ...
  • nginx 1.19.3 集成了rtmp推流模块 内含一个h5播放页面 支持跨平台播放可在windows跟linux上播放
  • 本文转自EasyDarwin团队成员Alex的博客:http://blog.csdn.net/cai6811376/article/details/74783269需求在做EasyDSS开发时,总是在测试推流...以及其他RTMP推流工具。但是,别忘了,还有ffmpeg这个神器。ffmpeg可以获

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,251
精华内容 6,100
关键字:

rtmp推流