文章目录
- 引言
- 1、安装FFmpeg
- 2、安装EasyDarWin
- 3、实现本地\虚拟摄像头推流服务
- 4、使用VLC或PotPlayer可视化播放器播放视频
- 5、RTSP / RTMP系列文章
引言
RTSP和RTMP视频流的区别
- RTSP (Real-Time Streaming Protocol)实时流媒体协议。 RTSP定义流格式,流数据经由RTP传输;RTSP实时效果非常好,适合视频聊天,视频监控等方向。
- RTMP(Real Time Message Protocol)实时消息协议。 用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题,优势在于低延迟,稳定性高,支持所有摄像头格式,浏览器加载 flash插件就可以直接播放。
- RTSP是服务器端推送到客户端,而RTMP是点对点传输。
- RTSP是基于UDP或TCP,传输数据时具有较小的延迟,可用于实时流媒体的传输。
- RTMP是基于TCP,具有高可靠性,能够自动重连,即使在网络环境不稳定时也能够保证流媒体传输的质量。
- RTSP也支持多种编码格式,但通常只用于传输单个音视频轨道。RTMP支持多种编码格式,包括H.264和AAC等,支持多个音视频轨道。
- RTSP旨在建立和维护原始数据源(客户端)和流服务器之间的连接,允许控制流媒体服务器内的娱乐和通信系统,允许暂停和播放功能。RTMP支持整合文本、视频和音频,支持MP3和AAC音频流,也支持MP4、FLV和F4V视频。
推流和拉流的区别
- 推流:指的是将摄像头、屏幕等设备上的数据通过网络传输到服务器,并由服务器进行处理、存储或直播。比如,在进行网络直播时,主播需要将自己的摄像头数据通过网络上传到服务器,这个过程就是推流。
- **拉流:指的是从服务器上获取视频流并在本地播放的过程,也叫做播放。**比如,在观看网络上的直播时,用户需要从服务器上获取视频流才能进行观看,这个过程就是拉流。
FFmpeg概念
FFmpeg是将音频和视频转为流的开源计算机程序。
EasyDarwin实现RTSP视频流服务步骤
- 安装FFmpeg
- 安装EasyDarWin
- 启动本地摄像头
- 使用VLC或PotPlayer可视化播放器播放视频
1、安装FFmpeg
下载FFmpeg
并配置环境 ,执行 ffmpeg -version
测试安装是否成功。
- FFmpeg官网
- 下载好的FFmpeg版本
成功配置ffmpeg版本:
2、安装EasyDarWin
- 下载解压到本地后
运行 EasyDarwin.exe 程序
,点击运行后会弹出一个 cmd 启动服务端,注:不要关闭弹出的命令框; - 在浏览器中输入 http://127.0.0.1:10008 进入 web 页面,成功安装EasyDarWin。
- EasyDarWin官网
- 下载好的EasyDarWin版本
3、实现本地\虚拟摄像头推流服务
步骤
- 开启本地摄像头
- FFmpeg查询本地摄像头名
- FFmpeg实现推流
- 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实现推流
语法
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
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可视化播放器播放视频
- 方式一:下载PotPlayer播放器,任意一个浏览器,输入rtsp://127.0.0.1/test,回车,打开PotPlayer播放。
- 方式二:打开PotPlayer,右下角选择【添加】—【添加链接】—【填写播放地址】
3.方式三:下载 VLC播放器,选择【媒体】—【打开网络串流】—【网络】,粘贴地址,【播放】即可。
5、RTSP / RTMP系列文章
- Windows搭建RTMP视频流服务(Nginx服务器版)