【媒体开发】利用FFMPEG进行推拉流

2023-12-14 10:33:44

1. 下载并启动媒体服务

MediaMTX,也即之前的rtsp-simple-server,是一个即用型、零依赖的实时媒体服务器和媒体代理,允许发布、读取、代理和记录视频和音频流。

Releases · bluenviron/mediamtx · GitHub找到最新版,下载对应平台的软件包,如?linux?x86-64?选绿色框那个,windows?x86-64?则选红色框那个:

解压后,运行即可:

# linux x86-64:
./mediamtx mediamtx.yml

2. 使用?FFMPEG?拉流并推送到指定服务地址

* 需提前安装好?FFMPEG

启动媒体服务后,即可进行拉流并推送:

ffmpeg -re -i 视频文件路径或者网络摄像头地址 -c copy -f rtsp rtsp://127.0.0.1:8554/stream

如果想循环推某个视频,可以使用参数-stream_loop,可以指定循环多少次,如为-1,则循环无数次:

ffmpeg -re -stream_loop -1 -i 视频文件路径 -c copy -f rtsp rtsp://127.0.0.1:8554/stream

3. 客户端拉流

可直接用?ffplay?进行拉流与展示:

ffplay rtsp://127.0.0.1:8554/stream

也可用某些支持网络?URL?的播放器进行播放,如?VLC,SMPlayer?等;

也可以通过?opencv?拉流来获取每一帧图像进行各种处理:

video = cv2.VideoCapture("rtsp://127.0.0.1:8554/stream")

文章来源:https://blog.csdn.net/oYeZhou/article/details/134858339
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。