I have an IP camera (Axis M1054) and I would like to record video stream. I would probably start with continuous recording, but then I would like to switch to clips triggered by motion detection (with pre-rec of couple seconds before the trigger occured), recording being encoded in MPEG4 (H.264), not in MJPEG.
我有一个IP摄像机(轴M1054),我想记录视频流。我可能先从连续记录开始,然后我想切换到由运动检测触发的剪辑(在触发前几秒进行预rec),录制是用MPEG4 (H.264)编码的,而不是用MJPEG。
Is there a free open source Linux software that can do it? I did not find anything by searching the Internet. Can you recommend something that works and you successfully use? Or am I stuck with commercial software?
有免费的开源Linux软件可以做到这一点吗?我在网上找不到任何东西。你能推荐一些有效并且你成功使用的东西吗?还是我被商业软件困住了?
I have no problem replacing the camera if different model would work better with Linux.
如果不同的型号在Linux上运行得更好,我可以更换相机。
4 个解决方案
#1
#2
2
I've found Motion to be a great program for motion detection and cataloging.
我发现运动是一个很好的运动检测和分类的程序。
It seems to work with remote cameras, although the docs are a bit sketchy. It's probably worth a try.
虽然文档有些粗略,但似乎可以用远程摄像机拍摄。这可能值得一试。
#3
2
I use the linux Motion software combined with the command line version of VLC for my IP cameras. (2 are MJPG streams, one is RTSP with H264). The motion software triggers a script to have VLC record lossless in the cameras native format. My setup does not however support pre-recording. It actually results in missing the frame that initially triggered the motion which is fine for my use since the first frames of motion are not where I'd see the faces or license plates.
我使用linux运动软件和命令行版本的VLC结合在我的IP摄像机上。(2是MJPG流,一个是RTSP和H264)。运动软件触发一个脚本,使VLC记录无损于相机本机格式。我的设置不支持预录制。它实际上导致了最初触发动作的帧的丢失,这对于我来说是可以的,因为第一个动作的帧不是我看到人脸或车牌的地方。
#4
1
Your camera streams H.264 over RTP controlled by RTSP. You need a RTP client to connect to the camera in order to get to the streams. http://www.live555.com provides a RTSP client library with a variety of sample code. First I would try http://www.live555.com/openRTSP/ from the command line. I have successfully used live555 to record a variety of IP cameras.
你的相机通过RTSP控制的RTP传输H.264。您需要一个RTP客户端连接到摄像机以便到达流。http://www.live555.com提供了一个RTSP客户端库,其中包含各种示例代码。首先,我将从命令行尝试http://www.live555.com/openRTSP/。我已经成功地使用live555记录了各种IP摄像机。
You could also use the FFMPEG library: Receiving RTSP stream using FFMPEG library
您还可以使用FFMPEG库:使用FFMPEG库接收RTSP流。
FFMPEG also takes care of muxing (creating a container file) or decoding.
FFMPEG还负责muxing(创建一个容器文件)或解码。
#1
4
What about giving a try to open source openh264 backed by Cisco? It supports Long Term Reference (LTR) frames
which might help you with motion detection.
尝试一下思科支持的开源openh264怎么样?它支持长期参考(LTR)帧,可以帮助您进行运动检测。
#2
2
I've found Motion to be a great program for motion detection and cataloging.
我发现运动是一个很好的运动检测和分类的程序。
It seems to work with remote cameras, although the docs are a bit sketchy. It's probably worth a try.
虽然文档有些粗略,但似乎可以用远程摄像机拍摄。这可能值得一试。
#3
2
I use the linux Motion software combined with the command line version of VLC for my IP cameras. (2 are MJPG streams, one is RTSP with H264). The motion software triggers a script to have VLC record lossless in the cameras native format. My setup does not however support pre-recording. It actually results in missing the frame that initially triggered the motion which is fine for my use since the first frames of motion are not where I'd see the faces or license plates.
我使用linux运动软件和命令行版本的VLC结合在我的IP摄像机上。(2是MJPG流,一个是RTSP和H264)。运动软件触发一个脚本,使VLC记录无损于相机本机格式。我的设置不支持预录制。它实际上导致了最初触发动作的帧的丢失,这对于我来说是可以的,因为第一个动作的帧不是我看到人脸或车牌的地方。
#4
1
Your camera streams H.264 over RTP controlled by RTSP. You need a RTP client to connect to the camera in order to get to the streams. http://www.live555.com provides a RTSP client library with a variety of sample code. First I would try http://www.live555.com/openRTSP/ from the command line. I have successfully used live555 to record a variety of IP cameras.
你的相机通过RTSP控制的RTP传输H.264。您需要一个RTP客户端连接到摄像机以便到达流。http://www.live555.com提供了一个RTSP客户端库,其中包含各种示例代码。首先,我将从命令行尝试http://www.live555.com/openRTSP/。我已经成功地使用live555记录了各种IP摄像机。
You could also use the FFMPEG library: Receiving RTSP stream using FFMPEG library
您还可以使用FFMPEG库:使用FFMPEG库接收RTSP流。
FFMPEG also takes care of muxing (creating a container file) or decoding.
FFMPEG还负责muxing(创建一个容器文件)或解码。