方案一:
一、树莓派安装ffmpeg
sudo apt-get install ffmpeg
二、安装nginx,nginx-rtmp
sudo apt-get install nginx
sudo apt-get install libnginx-mod-rtmp
三、编辑nginx.conf文件配置支持rtmp
sudo nano /etc/nginx/nginx.conf
在http模块上添加以下配置:
rtmp {
server {
listen 1935; #监听的端口号
application myapp { #rtmp视频流
live on;
}
}
四、树莓派开始推流:
推送到rtmp应用
ffmpeg -y -f alsa -ac 1 -i hw:2 -acodec pcm_s16le -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 -f flv rtmp://树莓派ip:1935/myapp/room1
注意:
hw:2为音频源
/dev/video0为视频源
五、用vlc播放rtmp视频流
rtmp://树莓派ip地址:1935/myapp/room1
方案二:
注意:此方案不能实现声音监控
安装motion
sudo apt-get install motion
然后打开 motion daemon 守护进程,让他可以一直在后台运行:
sudo nano /etc/default/motion
#no修改成yes:
start_motion_daemon=yes
修改motion的配置文件:
sudo nano /etc/motion/motion.conf
#deamon off 改成 on
deamon on
#设置分辨率
width 800
height 600
#设置视频文件存放路径
target_dir /var/lib/motion
#设置Live Stream Server
stream_port XXXX
#关闭将流连接仅限制为本地主机的限制
stream_localhost off
#关闭 localhost 的限制
webcam_localhost off
#设置认证方式,1为基本认证
stream_auth_method 1
#设置安全认证
stream_authentication username:password
然后运行 motion:
sudo motion
现在我们的摄像头已经变成了一台网络摄像头。
在chrome浏览器下访问 http://[IP或your.domain]:XXXX 即可看到摄像头当前拍摄的画面。
基于HTTP的控制
#设置监听端口
webcontrol_port XX
#关闭将控制连接仅限制为本地主机的限制
webcontrol_localhost off
#基于http的控制的身份验证
webcontrol_authentication username:password
#webcontrol参数 0=none, 1=limited, 2=advanced, 3=restricted
#Default: 0 (none)
webcontrol_parms 2
在chrome浏览器下访问 http://[[IP或your.domain]:XX ,输入帐号密码,即可设置参数