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

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")
相关推荐
zhangzhangkeji12 小时前
FFMPEG-1:下载与安装,文件组成,ffmpeg -h 命令汇总,练习使用 ffmpeg、ffplay、ffprobe,
ffmpeg
筏.k14 小时前
WebRTC 集成 FFmpeg HEVC 硬件解码(hevc_cuvid)avcodec_open2错误码-558323010
ffmpeg·webrtc
mortimer1 天前
牺牲质量换效率:视频翻译项目中音画同步模块的深度实现与思考
python·ffmpeg
给大佬递杯卡布奇诺2 天前
FFmpeg 基本数据结构 AVInputFormat 分析
数据结构·c++·ffmpeg·音视频
叶羽西2 天前
FFmpeg常用操作
ffmpeg
给大佬递杯卡布奇诺2 天前
FFmpeg 基本数据结构 AVCodecContext分析
数据结构·c++·ffmpeg·音视频
mortimer3 天前
用PySide6 构建一个响应式视频剪辑工具:多线程与信号机制实战
python·ffmpeg·pyqt
aqi004 天前
FFmpeg开发笔记(八十六)基于Node.js的国产视频编辑开源框架OpenCut
ffmpeg·音视频·直播·流媒体
叶羽西4 天前
FFmpeg介绍、使用说明
ffmpeg
aqi005 天前
FFmpeg开发笔记(八十五)基于PyQt和FFmpeg的开源视频剪辑器OpenShot
ffmpeg·音视频·直播·流媒体