首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ffmpeg从网络摄像头生成RTSP

使用ffmpeg从网络摄像头生成RTSP
EN

Stack Overflow用户
提问于 2015-11-19 17:40:06
回答 2查看 12.6K关注 0票数 1

我想获取摄像头的视频流,并在Windows上使用RTSP进行广播。

我可以用它来播放摄像机视频

代码语言:javascript
复制
> ffplay -f dshow -i "HP HD Webcam"

但如果我尝试用以下命令启动流

代码语言:javascript
复制
> ffmpeg -f rtsp -i video="HP HD Webcam" rtsp://localhost:8888/live.sdp

流未启动。控制台显示

代码语言:javascript
复制
ffmpeg version ...
configuration: ...
libavutil      55.  6.100 / 55.  6.100
libavcodec     57. 15.100 / 57. 15.100
libavformat    57. 14.100 / 57. 14.100
libavdevice    57.  0.100 / 57.  0.100
libavfilter     6. 15.100 /  6. 15.100
libswscale      4.  0.100 /  4.  0.100
libswresample   2.  0.101 /  2.  0.101
libpostproc    54.  0.100 / 54.  0.100

如果我使用ctrl+c来破坏它,就会显示一个错误

代码语言:javascript
复制
video=HP HD Webcam: Immediate exit requested

如何使用ffmpeg将摄像头正确地流式传输到RTSP?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-19 20:27:15

ffmpeg不会取代RTSP服务器,rtsp只是一个复用器/解复用器。当您使用它进行输出时,它会发送带有RTSP ANNOUNCE的流。因此,您需要一个支持它在8888上运行的服务器。documentation提到了Darwin Streaming Serverrevmischa/rtsp-server

票数 1
EN

Stack Overflow用户

发布于 2022-01-31 11:06:14

首先,您需要创建一个RTSP服务器,然后将视频流从网络摄像头推送到RTSP服务器。服务器启动后,从RTSP服务器读取数据流。在Ubuntu中执行以下步骤

打开终端并执行以下命令

代码语言:javascript
复制
$ sudo apt-get install ffmpeg
$ sudo apt-get install v4l-utils

第一步:打开新终端,下载SimpleRTSP服务器包:

代码语言:javascript
复制
 $ wget https://github.com/aler9/rtsp-simple-server/releases/download/v0.16.0/rtsp-simple-server_v0.16.0_linux_amd64.tar.gz

解压缩下载的包:

代码语言:javascript
复制
$ tar -xzvf rtsp-simple-server_v0.16.0_linux_amd64.tar.gz

步骤2:使用以下命令对内部IP address进行检查:

代码语言:javascript
复制
$ ifconfig

复制IP地址,例如。192.168.XXX.XXX

第3步:立即启动服务器

代码语言:javascript
复制
$ rtspServer=192.168.XXX.XXX:rtsp://192.168.XXX.XXX:8554/webCamStream ./rtsp-simple-server

(在上述命令中添加您的IP地址)

第4步:打开新终端

代码语言:javascript
复制
$ v4l2-ctl --list-devices

(确保您已插入并安装了网络摄像头> sudo apt-get install v4l-utils)这将给出所有已插入系统的摄像头设备的列表,例如。

代码语言:javascript
复制
UVC Camera (046d:0825) (usb-0000:00:14.0-1):
    /dev/video0
    /dev/video1

第五步:现在可以将摄像头的视频流推送到RTSP服务器:

代码语言:javascript
复制
$ sudo ffmpeg -f v4l2 -framerate 24 -video_size 480x480 -i /dev/video0 -f rtsp -rtsp_transport tcp rtsp://192.168.XXX.XXX:8554/webCamStream

(在上述命令中添加您的IP地址、端口和流名称)

第六步:最后一步是检查和查看您的RTSP提要:打开一个新的终端并使用以下命令进行检查

代码语言:javascript
复制
$ ffplay "rtsp://192.168.XXX.XXX:8554/webCamStream"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33800086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档