当前位置: 首页 > news >正文

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

目录

演示视频

前期配置

Docker配置

ffmpeg配置

vlc配置

下载并运行 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博客

相关文章:

  • 彻底解决docker代理配置与无法拉取镜像问题
  • Limesurvay系统“48核心92GB服务器”优化方案
  • C++11-(2)
  • 使用conda创建python虚拟环境,并自定义路径
  • 优化 Spring Boot 应用启动性能的实践指南
  • 互联网大厂Java面试:技术栈与业务场景深度解析
  • lvs-dr部署
  • 京东商品详情API接口开发指南(含Java/Python实现)
  • spark数据的提取和保存
  • MCP实战:在扣子空间用扣子工作流MCP,一句话生成儿童故事rap视频
  • Java虚拟机 - JVM与Java体系结构
  • 代码审计-php框架开发,实战tp项目,打击微交易,源码获取,扩大战果
  • C++学习:六个月从基础到就业——C++11/14:其他语言特性
  • c++总结-03-move
  • Debezium快照事件监听器系统设计
  • Flask-SQLAlchemy_数据库配置
  • 标准库、HAl库和LL库(PC13初始化)
  • 【Vue】路由1——路由的引入 以及 路由的传参
  • vue3大事件项目
  • JetBrains IDEA,Android Studio,WebStorm 等IDE 字体出现异常时解决方法
  • 雅典卫城上空现“巨鞋”形状无人机群,希腊下令彻查
  • 2025年“新时代网络文明公益广告”征集展示活动在沪启动
  • 外企聊营商|威能集团:公平环境增“暖”意
  • “典孝急乐批麻蚌赢”:互联网“八字真言”与当代赛博赢学
  • 四部门:强化汛期农业防灾减灾,奋力夺取粮食和农业丰收
  • 美政府以拨款为要挟胁迫各州服从移民政策,20个州联合起诉