如何播放这些RTMP地址

如何播放这些RTMP地址,第1张

可以用VLC media player播放,具体 *** 作步骤如下:

1、首先,在安装了VLC的计算机上单击“开始”,然后单击所有程序,如下图所示,然后进入下一步。

2、其次,找到VLC media player并点击打开,如下图所示,然后进入下一步。

3、接着,在下方红框中粘贴rtmp流媒体地址,然后单击播放,如下图所示,然后进入下一步。

4、最后,如果网络不好,可以单击缓存处,将缓存值设置的大点,就可以流畅地播放视频了,如下图所示。这样,问题就解决了。

安卓设备上的播放——Vitamio

安卓设备30以上原生支持hls,但是不支持rtmp,为了统一以及低版本兼容,可以使用第三方的一个播放器库——vitamio。

hls播放

如果仅需要在移动设备的WebView上播放,可以选择使用html中嵌入hls播放。如下html能够在所有Safari或者安卓30以上的WebView上播放。这样就不需要使用第三方的播放器。

VideoJS

如果要让网页支持在所有浏览器上播放,就需要使用第三方的播放器。VideoJs是一个较好的播放器库,完全免费,不像JWPlayer一样需要付费才能使用一些高级功能。

视频编码有几种方式:

1硬编码,使用MediaCodec实现

2软编码,使用FFmpeg或者libx264库来实现。

本文分享在Android平台视频编码-软编码的实现,也就是用FFmpeg来实现视频的编码,rtmp推流到服务器上,相机采集视频将在下一篇文章分享。

流媒体服务器使用 nginx-rtmp-module 来进行搭建。

本文所使用FFmpeg的版本是41,关于FFmpeg编译成Android平台so库如果有需要,我将在下一篇文章分享说明。

视频编码比较耗cpu,上传视频数据的会耗网络io,所以需要开启新线程去处理,这里我用HandlerThread来处理视频的编码上传。

初始化编码相关 *** 作

这里我们使用的是FFmpeg,所以在编码前我们会先做一些初始化以及参数设置工作。

FFmpeg初始化

av_register_all()

创建输出格式上下文

avformat_alloc_output_context2()

获取编码器

avcodec_find_encoder(AV_CODEC_ID_H264) 获取H264的编码器

设置编码器参数

使用给定的编码器和参数初始化编码上下文

avcodec_open2(pCodecCtx, pCodec, &param)

创建视频流

video_st = avformat_new_stream(ofmt_ctx, pCodec)

打开输出上下文

avio_open(&ofmt_ctx->pb, out_path, AVIO_FLAG_READ_WRITE)

写入输出头信息

avformat_write_header(ofmt_ctx, NULL)

像素格式转换

AV_PIX_FMT_YUV420P,它是纯平面存储。总共三个平面,分别存放,Y、U、V数据。

当图像宽是width,高是height时,Y分量的大小就是width×heitht,而U是width×heitht/4,V也是U是width×heitht/4。

H264编码

首先我们需要了解两个数据结构AVFrame、AVPacket

AVFrame存放的是原始数据、AVPacket存放的是编码后的数据。

创建AVPacket

av_new_packet(&enc_pkt, picture_size);

开始编码

ret = avcodec_encode_video2(pCodecCtx, pFrameYUV);

输出一帧编码后的视频数据

ret = av_write_frame(pCodecCtx, &enc_pkt);

释放资源

小伙伴们有疑问的可以在下方评论区评论。

想要实现手机直播视频,可以关注微赞直播。

微赞专注于企业直播服务多年,高效助力企业营销。微赞直播从解决企业营销痛点出发,内置多种互动营销方式, 数据分析与云端实时安全存储等功能,可实现高清直播且支持百万观看不卡顿。

微赞建立于微信生态之上的专业企业直播平台,坐拥微信流量优势与社交优势,嵌入企业微信公众号, 微信端一键创建和分享直播

累计企业直播超400万场,服务了包括腾讯、京东、百度、 中国银行、湖南广电等超100万企业用户,覆盖221个国家和地区的5亿用户。

这个RTMP推流地址的意思是指:这个直播网络流要向哪个流媒体服务器推送。 所以应该是流媒体服务器给出这个地址。 也就是说服务器上安装的流媒体系统如800li直播系统会给出RTMP推流地址,也就是发布地址,意思是把这个流发布到哪个服务器进行互联网数据实时分发。

你是指在云直播平台如何获取RTMP推流地址吗?不同的云直播平台规则不同,要问具体的平台客服。

以上就是关于如何播放这些RTMP地址全部的内容,包括:如何播放这些RTMP地址、如何在网页端和移动端播放rtmp和hls视频流、Android平台FFmpeg实现rtmp推流-C++的实现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9318904.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存