最近开始使用ffmpeg做网络推流的事情,例如rtmp、rtsp推流等。这里参考以下文章先搭建rtsp服务器实现ffmepg命令推流,之后会写代码实现推流功能。
转载地址链接:https://blog.youkuaiyun.com/weixin_40448140/article/details/113180796
FFmpeg 推送摄像头 rtsp 流
Windows 环境下使用 FFmpeg 推送本地 USB 摄像头为 rtsp 流,并使用 vlc 播放。
本文主要使用环境是 Windows 下的 FFmpeg 推送本地摄像头为 rtsp 流。
下载 FFmpeg
FFmpeg官网 下载 Windows 版本的 FFmpeg,并把 FFmpeg 的 bin 目录加入到环境变量中。
右键此电脑选择 高级系统设置 -> 环境变量 -> Path -> 添加环境变量
添加完环境变量后在终端内执行显示如下内容证明 ffmpeg 安装成功。
ffmpeg -version
- 1
下载 EasyDarwin
下载解压到本地后运行 EasyDarwin.exe 程序。点击运行后会弹出一个 cmd 命令框,在浏览器中输入 http://127.0.0.1:10008 查看是否有显示有个 web 页面,如果显示则证明打开成功。注:不要关闭弹出的命令框
使用 FFmpeg 获取 DirectShow 设备
ffmpeg -list_devices true -f dshow -i dummy
- 1
获取摄像头信息
推送摄像头到 rtsp 服务器
ffmpeg -f dshow -i video="Logitech Webcam C930e" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp rtsp://127.0.0.1/test
- 1
运行后可以在上方打开的 EasyDarwin 的 web 页面中的推流列表中查看是否有 rtsp 流的地址。
使用 vlc 打开 rtsp 流
选中媒体,点击打开网络串流
选择网络,在 URL 中输入之前页面中的 rtsp 地址,成功则播放 rtsp 流内容。