闲置笔记本充当服务器2:视频监控

纵然是瞬间 提交于 2020-04-24 22:20:36

之前有一篇文章写了把翻出来的旧笔记本当成服务器用的方法,具体内容可以参考如下文章:

闲置笔记本做服务器

这篇文章的末尾提到还可以用这台笔记本充当闹钟,视频监控和路由器。其中闹钟的设置方法在很久之前的文章中已经写过了,可以看如下文章:

Linux 下定时唤醒计算机

利用此文章内容结合mplayer的用法,即可实现定时随机播放某音乐播放列表的功能。mplayer用法可参考如下文章:

Linux命令相关

 

在此篇文章中,主要实现将此笔记本用作视频监控摄像头的功能。此功能需安装ffmpeg,之后执行如下指令

ffmpeg -f video4linux2 -s 320x240 -r 20 -i /dev/video0 -vcodec libx264 -f rtp rtp://192.168.0.123:43210 > test.sdp

即可生成一个rtp传输协议的视频流,此处把该视频流重定向到一个文件test.sdp中。

接下来,通过执行如下指令,即可看到摄像头拍摄的实时视频了。

ffplay test.sdp

注意运行上述指令后可能需要过几秒才能看到图像。其中-f video4linux2代表采集的格式为linux视频设备,该设备的名称为/dev/video0,采集视频大小为320x240,-r 20代表采集帧率为每秒20帧,-vcodec libx264表示采集后将视频编码为h264格式视频,然后以rtp格式输出到rtp://127.0.0.1:43210。把此视频流重定向到test.sdp文件后,利用ffplay即可查看视频图像。如果不把视频流重定向到文件,则可以通过如下指令直接查看视频流。

ffplay rtp://192.168.0.123:43210

其中192.168.0.123为本地ip地址。

 

类似地,如下指令可以录制10s视频保存在文件test.mp4中。

ffmpeg -t 10 -f video4linux2 -s 640x480 -i /dev/video0 test.mp4

其中参数-t 10给出了录制视频的时间为10秒,此处使用了默认编码(h264,30fps)。

 

以上均为使用ffmpeg直接实现视频直播功能,利用ffmpeg库也可以将其嵌入自己的程序中,封装成自己的网络监控程序。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!