Unity3d使用UMP插件播放网络视频流(rtsp、rtmp、onvif)

1.新建场景,将Assets\UniversalMediaPlayer\Prefabs\UniversalMediaPlayer.prefab拖入到场景中。


2.在UI的Canvas下创建RawImage,并添加ARVideoCanvasHelper组件。
在RawImage组件中,将Material设为为ARVideoCanvasMaterial。
在ARVideoCanvasHelper组件中, 将MediaPlayer设为UniversalMediaPlayer

3.选中UniversalMediaPlayer,在UniversalMediaPlayer组件中,设置Renddering GameObjects数组,个数为1,Elelement 0为RawImage。填入Path to video file为播放地址。

4.开始运行,点击UniversalMediaPlayer组件中的【Play】按钮,即可看到图像。


————————————————
版权声明:本文为CSDN博主「程序员正茂」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zouxin_88/article/details/106398114

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要将 RTSP 流转换为 RTMP 流,可以使用 FFmpeg 的命令行工具或者 Java 中的 Xuggler 库来实现。下面分别介绍两种方法。 ## 使用 FFmpeg 命令行工具 使用 FFmpeg 命令行工具可以很方便地将 RTSP 流转换为 RTMP 流。下面是一个示例命令: ``` ffmpeg -i rtsp://xxx.xxx.xxx.xxx:xxxx/stream -c copy -f flv rtmp://xxx.xxx.xxx.xxx:xxxx/live/stream ``` 其中,`rtsp://xxx.xxx.xxx.xxx:xxxx/stream` 是要转换的 RTSP 流地址,`rtmp://xxx.xxx.xxx.xxx:xxxx/live/stream` 是转换后的 RTMP 流地址。`-c copy` 表示将视频和音频流直接复制到输出流中,不进行任何编码操作,`-f flv` 表示输出流的格式为 FLV 格式。 ## 使用 Xuggler 库 使用 Java 中的 Xuggler 库可以在程序中实现将 RTSP 流转换为 RTMP 流的功能。下面是一个示例代码: ```java // 创建 RTSP 流抓取器 FFmpegFrameGrabber grabber = new FFmpegFrameGrabber("rtsp://xxx.xxx.xxx.xxx:xxxx/stream"); grabber.start(); // 创建 RTMP 流推送器 FFmpegFrameRecorder recorder = new FFmpegFrameRecorder("rtmp://xxx.xxx.xxx.xxx:xxxx/live/stream", grabber.getImageWidth(), grabber.getImageHeight()); recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264); recorder.setFormat("flv"); recorder.start(); // 逐帧抓取 RTSP 流并推送到 RTMP 流中 Frame frame; while ((frame = grabber.grabFrame()) != null) { recorder.record(frame); } // 关闭推送器和抓取器 recorder.stop(); recorder.release(); grabber.stop(); ``` 在上面的代码中,我们首先创建了一个 FFmpegFrameGrabber 对象,用于抓取 RTSP 流。接着,我们创建了一个 FFmpegFrameRecorder 对象,用于推送 RTMP 流。在创建 FFmpegFrameRecorder 对象时,我们需要指定推送的视频宽度和高度,以及视频编码器和输出格式。在推送过程中,我们逐帧抓取 RTSP 流,并使用 record() 方法将抓取到的视频帧数据推送到 RTMP 流中。最后,我们关闭推送器和抓取器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值