Fedora + vlc + mailx 自动拍照

想在Fedora上做个类似监控的应用,每隔几秒拍照一次,同时,将图片发到指定的邮箱。

拍照使用vlc:

vlc -I dummy v4l2:///dev/video0 --video-filter scene --no-audio --scene-path /home/zzz--scene-prefix image_prefix --scene-format png vlc://quit --run-time

 会在指定的目录/home/zzz生成一张图片:image_prefix00001.png,

然后将此图片以附件发送到邮箱:

uuencode /home/zzz/image_prefix00001.png image_prefix00001| mail -s "`date`"  xxx@gmail.com


以上命令写入一个capture.sh中,然后在C语言中调用shell。下面是程序:

capture.sh内容如下:

#!/bin/sh
echo take photo!
vlc -I dummy v4l2:///dev/video0 --video-filter scene --no-audio --scene-path /home/zzz --scene-prefix image_prefix --scene-format png vlc://quit --run-time=1
echo send mail!!
uuencode /home/zzz/image_prefix00001.png image_prefix00001| mail -s "`date`"  xxx@gmail.com
echo rm this one!!!
rm -rf image_prefix00001.png

mycapture.c内容如下:

#include <stdio.h>
#include <sys/wait.h>
#include <sys/unistd.h>
#include <sys/types.h>
int main()
{
        int i = 0;
        int space = 3;
        char* env[]={"PATH=.",NULL};
        while(1)
        {
           sleep(space);
           pid_t pid = fork();
           if(pid== 0)
           {
             execl("capture.sh",NULL);
             printf("i = %d\n",i++);

           }else
           {

           }

        }

        return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值