Windows搭建RTSP视频流服务(EasyDarWin服务器版)

文章目录

引言

RTSP和RTMP视频流的区别

  1. RTSP (Real-Time Streaming Protocol)实时流媒体协议。 RTSP定义流格式,流数据经由RTP传输;RTSP实时效果非常好,适合视频聊天,视频监控等方向。
  2. RTMP(Real Time Message Protocol)实时消息协议。 用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题,优势在于低延迟,稳定性高,支持所有摄像头格式,浏览器加载 flash插件就可以直接播放。
  3. RTSP是服务器端推送到客户端,而RTMP是点对点传输。
  4. RTSP是基于UDP或TCP,传输数据时具有较小的延迟,可用于实时流媒体的传输。
  5. RTMP是基于TCP,具有高可靠性,能够自动重连,即使在网络环境不稳定时也能够保证流媒体传输的质量。
  6. RTSP也支持多种编码格式,但通常只用于传输单个音视频轨道。RTMP支持多种编码格式,包括H.264和AAC等,支持多个音视频轨道。
  7. RTSP旨在建立和维护原始数据源(客户端)和流服务器之间的连接,允许控制流媒体服务器内的娱乐和通信系统,允许暂停和播放功能。RTMP支持整合文本、视频和音频,支持MP3和AAC音频流,也支持MP4、FLV和F4V视频。

推流和拉流的区别

  1. 推流:指的是将摄像头、屏幕等设备上的数据通过网络传输到服务器,并由服务器进行处理、存储或直播。比如,在进行网络直播时,主播需要将自己的摄像头数据通过网络上传到服务器,这个过程就是推流。
  2. **拉流:指的是从服务器上获取视频流并在本地播放的过程,也叫做播放。**比如,在观看网络上的直播时,用户需要从服务器上获取视频流才能进行观看,这个过程就是拉流。

FFmpeg概念

FFmpeg是将音频和视频转为流的开源计算机程序。

EasyDarwin实现RTSP视频流服务步骤

  1. 安装FFmpeg
  2. 安装EasyDarWin
  3. 启动本地摄像头
  4. 使用VLC或PotPlayer可视化播放器播放视频

1、安装FFmpeg

下载FFmpeg并配置环境 ,执行 ffmpeg -version 测试安装是否成功。

  1. FFmpeg官网
  2. 下载好的FFmpeg版本


成功配置ffmpeg版本:

2、安装EasyDarWin

  1. 下载解压到本地后运行 EasyDarwin.exe 程序,点击运行后会弹出一个 cmd 启动服务端,注:不要关闭弹出的命令框;
  2. 在浏览器中输入 http://127.0.0.1:10008 进入 web 页面,成功安装EasyDarWin。
  3. EasyDarWin官网
  4. 下载好的EasyDarWin版本

3、实现本地\虚拟摄像头推流服务

步骤

  1. 开启本地摄像头
  2. FFmpeg查询本地摄像头名
  3. FFmpeg实现推流
  4. EasyDarWin推流列表查询视频播放地址

实现

1、开启本地摄像头

  • window下,按住FN + F6(F6代表是本博主笔记本电脑开启的本地摄像头按键,具体电脑具体分析。如有的笔记本是F5)
  • 如果不想用本地摄像头,可以下载OBS,开启虚拟摄像头,OBS实现推流参考文档

2、FFmpeg查询本地摄像头名

  • 打开另外一个CMD命令窗口,输入 ffmpeg -list_devices true -f dshow -i dummy
  • CMD会打印本机的多媒体设备,找到有关video的摄像头
    • 如博主这里开启两个摄像头,一个是本地摄像头,另外一个是OBS虚拟摄像头
    • "USB 2.0 Webcam Device" (video),其中 USB 2.0 Webcam Device是本地摄像头名
    • "OBS Virtual Camera" (video),其中 OBS Virtual Camera 是OBS虚拟摄像头名

3、FFmpeg实现推流

语法

java 复制代码
ffmpeg -f dshow -i video="你的 video 设备名字" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp 播放地址;

播放地址随自己设置,如
    rtsp://127.0.0.1/test
或
    rtmp://127.0.0.1:1935/live/test(需要自己开启1935端口)

实现

播放地址: rtsp://127.0.0.1/test

cmd 复制代码
ffmpeg -f dshow -i video="USB 2.0 Webcam Device" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp rtsp://127.0.0.1/test

4、EasyDarWin推流列表查询视频播放地址

4、使用VLC或PotPlayer可视化播放器播放视频

  1. 方式一:下载PotPlayer播放器,任意一个浏览器,输入rtsp://127.0.0.1/test,回车,打开PotPlayer播放。
  2. 方式二:打开PotPlayer,右下角选择【添加】---【添加链接】---【填写播放地址】


3.方式三:下载 VLC播放器,选择【媒体】---【打开网络串流】---【网络】,粘贴地址,【播放】即可。

5、RTSP / RTMP系列文章

  1. Windows搭建RTMP视频流服务(Nginx服务器版)
相关推荐
蜗牛互联网9 分钟前
GPT-6.1 Sol迁移指南:从token单价转向每任务成本门禁
java·人工智能·后端·gpt
蜗牛互联网16 分钟前
HSTU在Dynamo-Triton中的AOTI与KV缓存验收方法
java·人工智能·后端·缓存
Sirens.16 分钟前
Java多线程实例:单例模式、阻塞队列、线程池与定时器
java·开发语言·单例模式
青山木18 分钟前
秒杀系统设计(一):需求拆解与流量治理
java·数据库·redis·后端·架构
柳鲲鹏26 分钟前
安装WIN11(26H2)时,忽略跳过TPM和SecureBoot检查
windows
卓怡学长29 分钟前
w195基于ssm“Fitfrend”个性化健身
java·intellij-idea
驭渊的小故事42 分钟前
算法实战:滑动窗口、素数枚举与字符串模拟(三道经典题解)
java·算法
雪落漂泊42 分钟前
Linux基本指令(下)
java·linux·服务器
Eloudy43 分钟前
全文 - version.A - AMBA CHI Chip-to-Chip(C2C)
java·开发语言·数据库·gpu·chiplet
谁是谁的谁_bj1 小时前
Process Lasso进程调度/资源管理工具
java