Docker配置SRS服务器 ,ffmpeg使用rtmp协议推流+vlc拉流

目录

演示视频

前期配置

Docker配置

ffmpeg配置

vlc配置

[下载并运行 SRS 服务](#下载并运行 SRS 服务)

推拉流流程实现


演示视频

2025-05-18 21-48-01

前期配置

Docker配置

运行 SRS 建议使用 Docker

配置 Docker请移步:

一篇就够!Windows上Docker Desktop安装 + 汉化完整指南(包含解决wsl更新失败方案)_docker汉化-CSDN博客

按安装 Docker及其汉化脚本:

Releases · asxez/DockerDesktop-CN · GitHub

成功下载 Docker后:

记得先配置 wslubuntu和阿里云镜像

点击设置后,输入阿里云镜像:

集成 WSL2 并配置 Ubuntu:

对于 Docker 的使用说明及其介绍,强烈建议 大家看看这个视频,讲解精确到位,没啥废话(不像b站老多 Docker 使用视频,都是一个小时起步的):2025最新Docker新手教程,10分钟小白Docker Desktop快速入门实战!_哔哩哔哩_bilibili

ffmpeg配置

建议下载编译好的文件:Builds - CODEX FFMPEG @ gyan.dev

解压到想要解压到的位置后,需要配置环境变量,将 ffmpeg 中的 bin 文件夹目录加到系统变量Path中,使其能在控制台任何地方执行命令:

vlc配置

官网直接加载解压即可:官方下载:VLC media player,最棒的开源播放器 - VideoLAN

下载并运行 SRS 服务

进入终端管理员窗口,输入:wsl ,进入 linux命令行

输入 SRS 流媒体服务器下载命令(这里的 conf文件用的镜像自带的,也可扩展配置其他功能):

复制代码
docker run -it -p 1935:1935 -p 1985:1985 -p 8080:8080 --name srs registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5

(linux)系统输入命令支持换行,用 "\" 即可

回车后会下载 SRS镜像并运行

docker端也能看见正在运行:

看到终端管理员一行行出现如下命令,则说明日志持续不断地被生成,这表明 SRS 服务正在运行中,并且它在定期记录其状态更新。若 SRS服务上有任何业务或者错误,都会及时的显示在终端上:

同时,浏览器输入http://localhost:1985/api/v1/versions/,表明 SRS的 HTTP API 正常工作,并且返回了关于服务器状态、服务信息和可用的 API 路径等详细信息。这说明你的 SRS 服务器已经成功运行,并且可以通过 HTTP API 进行管理和监控。

推拉流流程实现

右键解压后的 vlc 文件夹中的 vlc.exe,选择以管理员页面打开。选择左上角媒体,选择以打开网络串流打开

网络 URL要输入的地址即为拉流地址

保证 SRS 服务器已启动,并且无任何报错,可以在Docker desktop终端或者终端管理员输入 docker logs srs ,(这里的 srs是你的容器名)没有红色报错就行了。

打开 cmd 终端,输入以下命令用于 ffmpeg推流(记得换成自己本地视频的路径):

复制代码
ffmpeg -re -i "F:\car_van\4.mp4" -c:v libx264 -preset veryfast -b:v 500k -maxrate 500k -bufsize 1000k -c:a aac -b:a 128k -ar 44100 -f flv rtmp://localhost/live/livestream

若无报错,在刚才 vlc网络串流中填写拉流地址:

复制代码
rtmp://localhost/live/livestream

即可得到拉流视频!

延迟具体没看,但听说是一秒多,后面还会更新更快的 webrtc 推流。本解决方案最大亮点是使用了 Docker 配置 SRS 服务器,直接镜像下载、运行容器,不用像传统那样得配置 SRS 环境配置半天,相信 Docker会让代码世界更加交融,项目共享更加方便!!!

当然,前面更新过一篇大疆无人机 rtmp 推流的,更换一下网络 ip 后,本方案应该也能适用:
大疆无人机(全系列,包括mini)拉流至电脑,实现直播_大疆无人机直播推流-CSDN博客

相关推荐
八月的雨季 最後的冰吻1 小时前
FFmepg-- 32-ffplay源码- PacketQueue 的线程安全机制 以及 serial 字段的作用
安全·ffmpeg
凯新生物4 小时前
mPEG-SS-PLGA-DTX:智能药物递送系统
eureka·flink·ffmpeg·etcd
专家大圣5 小时前
摆脱局域网束缚!Neko+cpolar 让跨网共享成日常
服务器·网络·docker·内网穿透·cpolar
Haooog5 小时前
Docker面试题(不定时更新)
java·docker·面试
学而知不足~6 小时前
字幕转码杂记
ffmpeg
树下水月6 小时前
docker 启动后 如何通过对应的进程 找docker-compose.yaml 编排文件
运维·docker·容器
凯子坚持 c6 小时前
Docker 网络管理深度解析与实践指南
运维·docker·容器
kevin_水滴石穿6 小时前
在镜像生成时从内网获取字体安装包并配置
linux·docker·容器
人生匆匆6 小时前
部署使用rathole内网穿透
linux·运维·docker
LILR_7 小时前
简单学docker
运维·docker·容器