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

【音视频】RTMP流媒体服务器搭建、推流拉流

服务器:SRS(Simple RTMP Server,⽀持RTMP、HTTP-FLV,HLS)
推流端:ffmpeg + OBS
拉流端:ffplay +VLC + srs播放器

1 安装和测试srs流媒体服务器

1.1 安装srs流媒体服务器

  • srs官⽹:https://github.com/ossrs/srs
  • 码云的源速度快:https://gitee.com/winlinvip/srs.oschina.git
  • github的源速度慢:https://github.com/ossrs/srs.git

第⼀步,获取SRS

git clone https://gitee.com/winlinvip/srs.oschina.git
cd srs.oschina
#使⽤当前最新的3.0版本
git checkout -b 3.0 remotes/origin/3.0release
cd trunk

第⼆步,编译SRS。

./configure
make -j$(nproc)

第三步,编写SRS配置⽂件

  • 修改rtmp配置文件
vim conf/rtmp.conf
  • 注释其中部分

在这里插入图片描述

  • 启动SRS服务器
./objs/srs -c conf/rtmp.conf
  • 监听rtmp服务器日志
tail -f ./objs/srs.log

在这里插入图片描述

2. rtmp推流

2.2 ffmpeg推流

  • ffmpeg推流本地flv视频
ffmpeg -re -i music.flv -codec copy -f flv -y rtmp://192.168.217.128/live/livestream
  • 使用ffplay拉流
ffplay rtmp://192.168.217.128/live/livestream -x 800

在这里插入图片描述

  • vlc拉流

在这里插入图片描述

在这里插入图片描述

  • ffmpeg推流摄像头+麦克风,这里使用dshow来推流
  • 先查看自己电脑支持的设备
  • 如果出现乱码,建议使用高版本的ffmpeg,我在ffmpeg4.2.2出现乱码,在ffmpeg7.1就没有这个情况
ffmpeg -list_devices true -f dshow -i dummy

在这里插入图片描述

  • 推流摄像头+麦克风
  • 这里要做编码,所以指定编码器为libx264和aac,并且编码为flv格式
ffmpeg -re -f dshow -i video="Integrated Camera":audio="麦克风阵列 (Realtek(R) Audio)" -vcodec libx264 -acodec aac -f flv -y rtmp://192.168.217.128/live/livestream
  • ffplay拉流
ffplay rtmp://192.168.217.128/live/livestream -x 800

在这里插入图片描述

  • ffmpeg推流桌面 + 麦克风,这里使用gdigrab捕捉桌面
  • 稍微复杂一点,因为我的电脑是双显示屏,要捕捉第二个显示屏,所以设置了捕捉的范围
  • 使用h264_amf显卡编码,快一点
  • 不知道为什么这里的麦克风和录屏如果一起推,延迟巨大无比
 ffmpeg -re -f gdigrab -framerate 30 -video_size 1920x1080 -offset_x 0 -offset_y 0 -i desktop -f dshow -i audio="麦克风阵列 (Realtek(R) Audio)" -vcodec h264_amf -acodec aac -f flv -y rtmp://192.168.217.128/live/livestream
  • vlc拉流,拉流稍微慢一点,要等一会

在这里插入图片描述

  • obs推流桌面
  • 打开加号的显示器采集
  • 设置里面选择推流的服务器

在这里插入图片描述

在这里插入图片描述

  • 使用ffplay拉流
ffplay rtmp://192.168.217.128/live/livestream

在这里插入图片描述

  • ffmpeg推流桌面+麦克风

  • 这里使用dshow的方法,不过得先下载:screen-capture-recorder,下载地址:[下载](screen-capture-recorder-to-video-windows-free · GitHub)

  • 下载完成后,输入命令就会发现多了一个设备

ffmpeg -list_devices true -f dshow -i dummy

在这里插入图片描述

  • ffmpeg 使用dshow推流屏幕+麦克风
  • 这样推流就比gdigrab延迟低很多,相比正常多了
  • 使用硬件编码降低延迟
ffmpeg -re -f dshow -i video="screen-capture-recorder":audio="麦克风阵列 (Realtek(R) Audio)" -vcodec h264_amf -acodec aac -f flv -y rtmp://192.168.217.128/live/livestream
  • 使用ffplay拉流
ffplay rtmp://192.168.217.128/live/livestream

更多资料:https://github.com/0voice

相关文章:

  • AVDictionary 再分析
  • 原型模式(Prototype Pattern)详解
  • Redis持久化方式
  • Postgresql源码(145)优化器nestloop参数化路径评估不准问题分析
  • 如何免费使用 DeepSeek-Prover-V2?
  • 加密算法(一)-对称加密(DES、AES、3DES、Blowfish、Twofish)一篇了解所有主流对称加密,轻松上手使用。
  • 网络安全防火墙技术有哪些?网络防火墙的主要作用
  • Java朴实无华按天计划从入门到实战(94天直达Java高阶)
  • 【Shell 脚本编程】详细指南:第二章 - 变量与字符串操作
  • Qml组件之Image
  • 数字智慧方案6160丨智慧医疗系统平台建设方案(46页PPT)(文末有下载方式)
  • Go-web开发之社区功能
  • B站Michale_ee——ESP32_IDF SDK——FreeRTOS_2 队列
  • 2025大模型微调视频课程全套(附下载)
  • 2025年渗透测试面试题总结-拷打题库30(题目+回答)
  • Curl 全面使用指南
  • node.js模块化步骤(各标准区别)CommonJS规范、AMD规范、UMD规范、ES Modules (ESM)
  • 小刚说C语言刷题—1602总分和平均分
  • 基于若依RuoYi-Vue3-FastAPI 的 Docker 部署记录
  • 驱动开发系列55 - Linux Graphics QXL显卡驱动代码分析(二)显存管理
  • 天启年间故宫“三殿”重修与晚明财政
  • Meta一季度净利增长三成:上调全年资本支出,受关税影响亚洲出口电商广告支出减少
  • 女冰队长于柏巍,拒绝被年龄定义
  • 航海王亚洲巡展、工厂店直销……上海多区推出“五五购物节”活动
  • 国台办:民进党当局所谓“对等尊严”,就是企图改变两岸同属一中
  • 来论|受美国“保护”,日本民众要付出什么代价?