Min*_*inz 14 linux ffmpeg ip-camera webrtc
我想使用带有webrtc的IP摄像头.然而,webrtc似乎只支持网络摄像头.所以我尝试将IP摄像机的流转换为虚拟网络摄像头.
我找到了像IP Camera Adapter这样的软件,但它们不能正常工作(每秒2-3帧,延迟2秒),而且它们只适用于Windows,我更喜欢使用Linux(如果可能的话).
我尝试ffmpeg/avconv:
首先,我用v4l2loopback创建了一个虚拟设备(命令是:)sudo modprobe v4l2loopback.检测到虚拟设备,可以使用以下命令通过视频(.avi)提供虚拟设备: ffmpeg -re -i testsrc.avi -f v4l2 /dev/video1
来自IP摄像机的流可用于:rtsp://IP/play2.sdp用于Dlink DCS-5222L摄像机.ffmpeg可以捕获此流.
我的问题是在这两个步骤之间建立链接(接收rstp流并将其写入虚拟网络摄像头).我试过ffmpeg -re -i rtsp://192.168.1.16/play2.sdp -f video4linux2 -input_format mjpeg -i /dev/video0但是v4l2有错误(找不到v4l2).
有人知道如何使用带有webRTC的IP摄像头吗?
简短的回答是,没有.RTSP在WebRTC的IETF标准中没有提及,目前没有浏览器计划支持它.链接到Chrome讨论.
更长的答案是,如果您真的对这个想法感到满意,那么您将不得不使用原生WebRTC API构建一个webrtc网关/断路器.
更新2014年7月30日:
我已经尝试了janus-gateway,我相信流媒体插件确实可以实现这一点,因为它可以获取rtp流并将其推送到webrtc对等体.对于RTSP,您可以创建RTSP客户端(可能使用像gstreamer这样的库),然后将RTP和RTCP从连接推送到WebRTC对等端.
我创建了一个简单的示例,将RTSP或HTTP视频源转换为WebRTC流.此示例基于Kurento Media Server(KMS),并且需要安装它才能使示例正常工作.
安装KMS并享受......
https://github.com/lulop-k/kurento-rtsp2webrtc
更新22-09-2015.查看这篇文章,了解为什么转码只是此问题解决方案的一部分的技术说明.
自此提交以来,Janus-gateway最近为其流插件添加了简单的RTSP支持(基于libcurl)。
然后可以配置网关,以与摄像机协商RTSP并中继RTP以为WebRTC添加了流插件配置 <prefix>/etc/janus/janus.plugin.streaming.cfg
[camera]
type = rtsp
id = 99
description = Dlink DCS-5222L camera
audio = no
video = yes
url=rtsp://192.168.1.16/play2.sdp
Run Code Online (Sandbox Code Playgroud)
接下来,您将可以使用流演示页面http://..../demos/streamingtest.html来访问WebRTC流。
| 归档时间: |
|
| 查看次数: |
25255 次 |
| 最近记录: |