Motion 3.2.12是否支持RTSP MJPEG

时间:2015-09-21 07:45:51

标签: linux video-streaming ip-camera motion

我有一台支持RTSP的Zavio P6210 IP摄像机(http://www.zavio.com/product.php?id=85)。我在相机上的设置是:(profile1)

  • 编码:MJPEG
  • 分辨率:640 x 1180
  • 最大fps:30
  • 质量:标准

我的相机已禁用身份验证。 在/etc/motion/motion.conf中我将netcam_url设置为rtsp://192.168.1.52:554 / video.pro1

当我将此URL传递给VLC Media Player时,流工作正常。 但是,当我开始运动时,我总是收到此错误消息:

[0] Processing thread 0 - config file /etc/motion/motion.conf
[0] Motion 3.2.12 Started
[0] ffmpeg LIBAVCODEC_BUILD 3482368 LIBAVFORMAT_BUILD 3478785
[0] Thread 1 is from /etc/motion/motion.conf
[1] Thread 1 started
[0] motion-httpd/3.2.12 running, accepting connections
[0] motion-httpd: waiting for data on port TCP 8080
[1] Invalid netcam_url (rtsp://192.168.1.52:554/video.pro1)
[1] Could not fetch initial image from camera
[1] Motion continues using width and height from config file(s)
[1] Resizing pre_capture buffer to 1 items
[1] Started stream webcam server in port 8081
[1] Retrying until successful connection with camera
[1] Invalid netcam_url (rtsp://192.168.1.52:554/video.pro1)
[1] Retrying until successful connection with camera
[1] Invalid netcam_url (rtsp://192.168.1.52:554/video.pro1)

我不知道如何解决此错误。 Motion 3.2.12不支持RTSP MJPEG或我在某处犯了错误吗?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

有一天

rtsp将是原生的并且运行稳定,你已经可以从github编译一个非官方rtsp兼容的动作版本,我没试过,我喜欢发行包,工作正在进行一段时间了,直到今天我写了并使用一个简单的rtsp2jpeg快照虚拟相机php包装脚本,所以我可以使用rtsp只将相机作为经典的基于jpeg快照的相机。

使用它就像它是jpeg快照网址一样。 对于每个请求它使用ffmpeg从rtsp流中获取快照,将其写入ram,将其推送到请求客户端并删除它

它还可以裁剪图像,以便运动对一个真正的模数16几乎全高清分辨率感到高兴,可能你不需要它,取决于,我确实只需要在我的一个全高清凸轮上。

U必须根据需要调整ffmpeg命令才能使用相机......

<?php

$now = DateTime::createFromFormat('U.u', microtime(true))->format("Ymd-Hisu");

$imagepath="/var/run/shm/cam7-$now-".mt_rand().".jpg";

exec('/usr/bin/ffmpeg -y -i "rtsp://192.168.1.7:554/user=user&password=iwonttellu&channel=1&stream=0.sdp" -f image2 -vframes 1 -vf "crop=1920:1072:0:4" '.$imagepath);

if (file_exists($imagepath)) {
    header("Content-type: image/jpeg");
    header("Content-Length: " . filesize($imagepath));
    readfile($imagepath);
    unlink($imagepath);
}else{
    header("HTTP/1.0 404 Not Found");
}

?>

最好的问候

答案 1 :(得分:0)

问题在于你需要MrDave的动议(motionmrdave)。为节省时间,您可能需要先备份当前的motion config file(s)。完成后,删除现有的“motion”安装。

sudo add-apt-repository ppa:motionmrdave/motion
sudo apt-get update
sudo apt-get install motion -y

恢复动作配置文件。重新启动motion,您的RTSP应该可以正常使用。