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 小时前
docker-Dockerfile 配置
java·linux·运维·docker
虚妄狼1 小时前
【Docker Desktop】Windows11安装 Docker Desktop
运维·docker·容器
IT成长日记2 小时前
【Docker基础】Docker核心概念:命名空间(Namespace)与资源隔离联系
运维·docker·namespace·资源隔离·命令空间
西西小飞龙3 小时前
Docker 基础使用
docker·容器·eureka
光电的一只菜鸡3 小时前
ubuntu之坑(十四)——安装FFmpeg进行本地视频推流(在海思平台上运行)
ubuntu·ffmpeg·音视频
weixin_428498493 小时前
FFmpeg 压缩视频文件
ffmpeg
再ZzZ3 小时前
Docker安装PaddleOCR并提供接口服务(CPU)
运维·docker·容器
FJSAY3 小时前
我自己动手写了一个MySQL自动化备份脚本,基于docker
mysql·docker·自动化
Cosmoshhhyyy4 小时前
腾讯云配置了国内镜像依然docker search失败
docker·云计算·腾讯云
bxlj_jcj4 小时前
Kafka环境搭建全攻略:从Docker到Java实战
java·docker·kafka