标签: ip-camera

从Open ONVIF(网络视频接口论坛)设备录制的问题

我正在开发网络视频接口论坛-Java项目,并遵循ONVIF应用程序员指南中描述的步骤.

我已经从wsdlsONVIF网站提供了源代码.我可以使用media.wsdl.检索实时流URI .现在我有一个录音问题.我尝试过的代码如下:

RecordingService recording_ervice = new RecordingService();
RecordingPort record_port = recording_ervice.getRecordingPort();


BindingProvider bindingProvider = (BindingProvider) record_port;

// Add a security handler for the credentials
final Binding binding = bindingProvider.getBinding();
List<Handler> handlerList = binding.getHandlerChain();
if (handlerList == null) {
    handlerList = new ArrayList<Handler>();
}

handlerList.add(new RecordStream.SecurityHandler());
// binding.setHandlerChain(handlerList);

// Set the actual web services address instead of the mock service
Map<String, Object> requestContext = bindingProvider.getRequestContext();

requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://" + deviceip + "/onvif/media_service");
requestContext.put(BindingProvider.USERNAME_PROPERTY, user);
requestContext.put(BindingProvider.PASSWORD_PROPERTY, …
Run Code Online (Sandbox Code Playgroud)

java networking recording ip-camera onvif

89
推荐指数
1
解决办法
5078
查看次数

使用FFMPEG库接收RTSP流

我使用RTSP在LAN流视频上有一个IPCamera.我已经能够使用ffplay命令成功捕获并显示它:

ffplay rtsp://admin:123456@192.168.2.50:7070 
Run Code Online (Sandbox Code Playgroud)

(带身份验证)

所以我想在C/C++中使用ffmpeg库来实现相同的编程.我想这一定是可能的.

那么让我说两个简单的问题:

  1. 如何使用FFMPEG库在C/C++程序中接收流?(只是提供一些URL /教程,因为谷歌没有帮助)

  2. 如何显示收到的视频?(在这里,一些很好的URL指导我).

c c++ ffmpeg rtsp ip-camera

33
推荐指数
3
解决办法
6万
查看次数

通过网络从IP摄像机录制视频

我正在为我的办公室建立一个摄像头安全系统,但我们不想在现场保留DVR.

我们看了NVR(网络视频录像机),它们太贵了.我想到了另一种选择.我不知道它有多可行,但肯定会喜欢这里的一些输入.

这是我的想法:

  1. 购买普通的IP摄像头
  2. 购买服务器或AWS实例并编写程序以将流式处理源连续下载到服务器.

现在我对这个解决方案的实用性以及构建这样一个系统所涉及的技术问题有一些疑问:

  1. 大多数IP摄像机流式传输的格式是什么?他们转移了什么帧率?
  2. 如果我要编写一个可以读取此源并将其下载并存储在服务器上的程序,我是否会获得与实时源相同的质量?
  3. 在存储之前,我是否需要再次将数据实时编码为其他格式(如flv.)?
  4. 你能为此推荐一个最好的架构吗?我在想一个亚马逊实例和s3用于存储视频源.

有些网站已经这样做了(比如http://www.mangocam.com/)

谢谢,我希望这个问题符合SO指南,因为这可能是编程和非编程相关的灰色区域.如果没有,我会将它移动到其他堆栈交换站点(请提出建议)

video-capture video-streaming surveillance ip-camera

32
推荐指数
2
解决办法
11万
查看次数

Android ICS和MJPEG使用AsyncTask

我修改了Android和MJPEG的MJPEG查看器代码,使用AsyncTask工作(因此可以使用Ice Cream Sandwich(ICS),4.0.4),这是我的代码.

如果有人对如何优化,清理或使用代码做更合适的事情有任何建议,请告诉我.我很感激有两个问题有助于解决:

  • 如果您有设备在流上,然后锁定屏幕并解锁屏幕,它不会恢复播放,直到您杀死并恢复应用程序或旋转屏幕.我尝试使用OnResume()执行某些操作或其他操作导致应用程序崩溃.

  • 特别是我想在MjpegInputStream.java中获取AsyncTask但是无法使其工作.

MjpegActivity.java:

package com.demo.mjpeg;

import java.io.IOException;
import java.net.URI;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

import com.demo.mjpeg.MjpegView.MjpegInputStream;
import com.demo.mjpeg.MjpegView.MjpegView;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Toast;

public class MjpegActivity extends Activity {
    private static final String TAG = "MjpegActivity";

    private MjpegView mv;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //sample public cam
        String URL = "http://trackfield.webcam.oregonstate.edu/axis-cgi/mjpg/video.cgi?resolution=800x600&amp%3bdummy=1333689998337";

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
        WindowManager.LayoutParams.FLAG_FULLSCREEN);

        mv = new MjpegView(this);
        setContentView(mv);        

        new DoRead().execute(URL); …
Run Code Online (Sandbox Code Playgroud)

android mjpeg ip-camera android-asynctask

29
推荐指数
1
解决办法
3万
查看次数

Android和MJPEG

我需要从IP摄像头获取mjpeg流,任何人都知道正确的方法吗?我用Google搜索了一下,我找到了这个例子

http://www.anddev.org/mjpeg_on_android_anyone-t1871.html

但是当我试图从主要活动调用的另一个活动中获取流时,我一直被困住了.这里的代码:

主要活动

package com.test;


public class IntentTest extends Activity {
    /** Called when the activity is first created. */
    ListView myListView = null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        myListView = (ListView)findViewById(R.id.listView);
        final ArrayList<String> items = new ArrayList<String>();
        items.add("00408C944B9A");
        final ArrayAdapter<String> aa;
        aa = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1,
                items);

        myListView.setAdapter(aa);
        myListView.setOnItemClickListener(listClicked);

    }


    private OnItemClickListener listClicked = new OnItemClickListener() {
        public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) {
            // TODO Auto-generated method stub
            Intent i …
Run Code Online (Sandbox Code Playgroud)

android mjpeg ip-camera

28
推荐指数
2
解决办法
7万
查看次数

如何从ip camera解析mjpeg http流?

下面给出了为从IP Camera获取实时流而编写的代码.

from cv2 import *
from cv2 import cv
import urllib
import numpy as np
k=0
capture=cv.CaptureFromFile("http://IPADDRESS of the camera/axis-cgi/mjpg/video.cgi")
namedWindow("Display",1)

while True:
    frame=cv.QueryFrame(capture)
    if frame is None:
        print 'Cam not found'
        break
    else:
        cv.ShowImage("Display", frame)
    if k==0x1b:
        print 'Esc. Exiting'
        break
Run Code Online (Sandbox Code Playgroud)

在运行代码时,我得到的输出是:

Cam not found
Run Code Online (Sandbox Code Playgroud)

我哪里错了?另外,为什么帧无?转换有问题吗?

python opencv mjpeg ip-camera live-streaming

26
推荐指数
3
解决办法
7万
查看次数

用于显示MJPEG流的跨浏览器解决方案

是否有一种轻量级,免费且可靠的方式在跨浏览器环境中显示MJPEG?我正在尝试在我正在开发的网站上显示来自Axis 2120 IP摄像头的MJPEG流,并且我发现这在当前版本的Firefox中非常可靠.然而,经过一些测试后我发现IE,Opera和Chrome都有不同程度的麻烦(没有Mac访问,所以我不确定Safari).Internet Explorer不支持MJPEG,根本不起作用.在发送初始GET之后,Opera需要10-15秒才能显示任何内容.Chrome可以完美地运行,直到<div>包含<img>标签的内容被隐藏,然后再次显示.

作为参考,我使用<img>标签来显示流,如下所示:

<img src="http://my.ip.addr/axis-cgi/mjpg/video.cgi/?resolution=352x240" alt="real-time video feed" />
Run Code Online (Sandbox Code Playgroud)

我已经考虑过使用重播服务器来收集MJPEG流并在运行中对其进行转码,但这个解决方案似乎太难看了.那里有更好的建议吗?

streaming multiple-browsers mjpeg ip-camera

22
推荐指数
2
解决办法
7万
查看次数

在Python OpenCV中访问IP Camera

如何访问我的IP Camera流?

用于显示标准网络摄像头流的代码是

import numpy as np
import cv2

cap = cv2.VideoCapture(0)

while(True):

    ret, frame = cap.read()
    cv2.imshow('frame',frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

我如何使用IP Camera做同样的事情?

我的系统:

  • Python 2.7.14
  • OpenCV 2.4.9
  • Teledyne Dalsa Genie Nano XL相机

帮助将受到高度赞赏

python opencv ip-camera

16
推荐指数
7
解决办法
6万
查看次数

Android外置摄像头选项 - 叠加在视频流之上,没有中间人服务器/路由器

我正在寻找一种从Android设备与外部摄像头连接的方法.它需要成为外置摄像头的原因是因为我需要能够修改摄像头(移除红外滤镜)而且我不想破坏车载手机摄像头.

无论相机如何通过USB,蓝牙,WiFi或其他通信协议连接都无关紧要,这两个设备只需要能够在没有中间服务器/路由器的情况下进行通话.

我正在寻找一个解决方案:

  • 不需要生根或重建Android/Linux内核(绝对必须)
  • 允许我在图像/视频上叠加项目(好)
  • 访问视频流进行图像分析(最好)

最后一项要求不是必需的,但会很好.

我探讨的选项:

  • USB摄像头:根据http://brain.cc.kogakuin.ac.jp/research/usb-e.html重建Linux内核,并尝试使用相机提供的代码:http://www.amazon.com/gp/product/B002X3VEIE/ref = oh_o02_s00_i00_details.没有丝毫工作.我后来才知道作者使用的是CM9 mod,但这并不是一个选项,因为它对市场上的应用程序来说不实用.
  • 蓝牙摄像头:LooxcieCountourGPS看起来是最好的选择,但是Feed会流式传输到他们的应用程序,他们没有API或SDK,所以如何覆盖他们的视频源?
  • IP摄像头:对我而言,这看起来是最有前途的选择,但如何在没有中间服务器/路由器的情况下访问IP摄像机视频源?带有WiFi BacPac的GoPro HD Hero2看起来很有前景,但它还没有出来,我可以告诉你需要使用类似于蓝牙相机选项的应用程序.哪些相机可以让我连接到它们并接收直接视频输入,我该如何以编程方式进行此操作?

如果连接到IP摄像机没有中间人可以在代码Android和MJPEGAndroid上(MJEPG)获取IP摄像头的视频流看起来很有希望.

我可以覆盖其他应用视频源吗?是否可以直接连接到IP摄像头?任何建议的选项非常感谢.

usb camera android bluetooth ip-camera

15
推荐指数
1
解决办法
4万
查看次数

使用带有webRTC的IP摄像头

我想使用带有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摄像头吗?

linux ffmpeg ip-camera webrtc

14
推荐指数
3
解决办法
3万
查看次数