树莓派摄像头通过 raspivid + frp + ffmpeg 实现外网监控 云养宠物

本文介绍了如何利用闲置的树莓派和官方摄像头搭建远程监控系统。通过raspivid捕获视频流,frp穿透内网,ffmpeg进行流媒体切片,最终实现外网访问。同时,作者分享了遇到的hls切片问题及群晖监控功能的尝试,以及使用SRTP模式提高连接稳定性。
摘要由CSDN通过智能技术生成

1 项目思考

【】手中有一台闲置树莓派和对应的官方摄像头,因为这段时间在尝试养宠物,所以想试试看能否通过外网链接内网摄像头远程简单,但是购买摄像头不太安全,另一方面网络推荐方案大多是raspivid + b站直播,所以经过思考以后,发现可以通过frp接受数据,ffmpeg保存数据,因此在这里写一下具体操作流程,记录一下。

2 操作步骤

# 开启raspivid树莓派录制
sudo raspivid \
-o - \ # 这里可以指定具体目录, 【-】表示标准输出,连结管道
-t 0 \
-w 640 -h 360 -fps 25\
|cvlc -vvv stream:///dev/stdin \
--sout '#standard{access=http,mux=ts,dst=:8090}' \
:demux=h264

# frp 配置文件对应设置
	[web]
	type = http
	local_ip = 127.0.0.1
	local_port = 8090
	custom_domains = ‘外网IP或域名地址’
	vhost_http_port = 8090
	#密码保护web
	http_user = ‘账户名’
	http_pwd = '密码'
	#令牌保护(非必选项)
	token = “密钥”
	
# ffmpeg 流媒体切片方式
ffmpeg \
-i "http://IP地址:端口号" \ # 这里设置对应地址
-map 0 \ # 这里是映射轨道
-c copy \ # 直接复制代码不转码
-f hls \ # 使用hls 切片
-hls_time 600 \  # hls切片时长间隔为十分钟
chongwu%d.ts #格式化输出文件名
	#补充说明:本来打算用segment进行切片的,
	#但是segment_time函数设置以后导出的文件只有第一个正确,
	#剩下的都会直接时间码错误,无法播放,可能是切片时间码设置问题,
	#有大佬的话可以指点一下,hls的问题在于只能输出ts,不能直接设置成mp4

总结

【】一次小小的不完美的尝试,但是总算是有一个自己喜欢的结果,希望大家能学有所成,加油。


2021.0326 更新
尝试使用 群晖 的 监控功能 意外的是可行,但是会连接不稳定,同时上面需要把 http切换为 srtp模式,这样可以从监控摄像头的自定义中连接。


2021.0413 更新

# 开启raspivid树莓派录制 + SRTP

sudo raspivid \
-o - \ # 这里可以指定具体目录, 【-】表示标准输出,连结管道
-t 0 \
-w 640 -h 360 -fps 25\
|cvlc -vvv stream:///dev/stdin \
--sout '#rtp{sdp=rtsp://:8554/}' \
:demux=h264

# SurveillanceStation 对应设置
名称 自定义
品牌 【用户自定义】
类型 串流RTSP
路径 rtsp://:########@192.168.50.159:8554/ # 这里特别麻烦,一定要这么设置才能读取到文件,内网一般没有账户密码,所以格式不能错,不然就很尴尬了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值