树莓派摄像头使用 motion + frp内网穿透 实时视频显示
生活随笔
收集整理的這篇文章主要介紹了
树莓派摄像头使用 motion + frp内网穿透 实时视频显示
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文主要介紹motion的使用,frp內網穿透步驟。
一、準備材料
二、motion的下載安裝
三、motion的使用
四、frp的下載安裝
五、frp內網穿透服務器配置步驟
六、frp內網穿透客戶端(樹莓派)配置步驟
七、效果展示
一、準備材料
二、motion的下載安裝
//下載motion sudo apt-get updata sudp apt-get upgrade sudo apt-get install motion三、motion的使用
將里面的no改為yes
start_motion_daemon=yes如果打開文件后什么也沒有,自己添加上start_motion_daemon=yes 即可
2. 編輯配置文件
幾項關鍵的設置
deamon on #deamon off 改成 on,以守護進程在后臺運行 width 480 #設置分辨率 height 360 webcam_localhost off #關閉 localhost 的限制 stream_auth_method 1 #開啟密碼認證 stream_authentication 用戶名:密碼 #網頁查看攝像頭的用戶名和密碼4 auto_brightness #自動亮度 brightness 0 #攝像頭亮度:0~255,0默認 framerate 50 #視頻幀率 stream_maxrate 30 #限制網絡攝像頭幀速率 webcontrol_localhost off #允許非本機訪問總控制頁面 stream_localhost off #允許非本機查看視頻監控在局域網內的設備,不管是手機還是電腦,均可打開瀏覽器訪問:http://樹莓派IP:8081,看到相應的視頻圖像。
| auto_brightness | Values: on,off Default: off | 讓motion自動調節視頻的的亮度,只適用于不帶有自動亮度調節的攝像機 |
| brightness | Values: 0-255 Default: 0 (disabled) | 調整攝像機的亮度 |
| saturation | Values: 0 - 255 Default: 0 (disabled) | 調整攝像機的顏色飽和度 |
| hue | Values: 0 - 255 Default: 0 (disabled) | 調整攝像機的色調 |
| contrast | Values: 0-255 Default: 0 (disabled) | 調整攝像機的對比度 |
| daemon | Values: on,off Default: off | 以守護進程在后臺運行。這個選項只能放在motion.conf,不能放在 thread config file |
| emulate_motion | Values: on, off Default: off | 即使沒有運動物體也要保存圖像 |
| ffmpeg_output_movies | Values: on, off Default: off | 是否保存視頻 |
| ffmpeg_bps | Values: 0 - 9999999 Default: 400000 | 視頻比特率 |
| ffmpeg_variable_bitrate | Values: 0, 2 - 31 Default: 0 (disabled) | 動態比特率,如果開啟這個功能ffmpeg_bps將被忽略,0為關閉,2為最好質量,31為最差質量 |
| ffmpeg_duplicate_frames | Values: on, off Default: on | 為了達到每秒的幀數要求,會復制一下幀填充空白時間,關掉這個功能后每個幀都緊接下一個幀,看起來像快進 |
| ffmpeg_output_debug_movies | Values: on, off Default: off | 調試模式,只看到變化的圖像 |
| ffmpeg_video_codec | Values: mpeg4, msmpeg4, swf, flv, ffv1, mov, ogg, mp4, mkv, hevc Default: mpeg4 | 視頻格式 |
| framerate | Values: 2 - 100 Default: 100 (no limit) | 幀速率,每秒多少幀 |
| frequency | Values: 0 - 999999 Default: 0 (Not set) | 頻率協調 Hz,(不清楚作用) |
| lightswitch | Values: 0 - 100 Default: 0 (disabled) | 忽略光照強度改變引起的變化 |
| locate_motion_mode | Values: on, off, preview Default: off | 給運動物體用方框標出 |
| locate_motion_style | Values: box, redbox, cross, redcross Default: box | 標記風格 |
| max_movie_time | Values: 0 (infinite) - 2147483647 Default: 3600 | 最大視頻時間 |
| minimum_frame_time | Values: 0 - 2147483647 Default: 0 | 最小幀間隔,設置為0表示采用攝像頭的幀率 |
| minimum_motion_frames | Values: 1 - 1000s Default: 1 | 捕捉持續至少指定時間的運動幀 |
| movie_filename | Values: Max 4095 characters Default: %v-%Y%m%d%H%M%S | 視頻的文件名 |
| ffmpeg_timelapse | Values: 0-2147483647 Default: 0 (disabled) | 間隔時間,拍攝延時視頻 |
| ffmpeg_timelapse_mode | Values: hourly, daily, weekly-sunday, weekly-monday, monthly, manual Default: daily | 延時拍攝模式 |
| timelapse_filename | Values: Max 4095 characters Default: %v-%Y%m%d-timelapse | 延時拍攝的文件名 |
| output_pictures | Values: on,off,first,best,center Default: on | 是否保存圖片和模式設置 |
| output_debug_pictures | Values: on,off Default: off | 圖片調試模式,只輸出運動物體 |
| picture_filename | Values: Max 4095 characters Default: %v-%Y%m%d%H%M%S-%q | 圖片文件名 |
| picture_type | Values: jpeg,ppm Default: jpeg | 圖片類型 |
| post_capture | Values: 0 - 2147483647 Default: 0 (disabled) | 運動在持續多少幀之后才被捕捉 |
| pre_capture | Values: 0 - 100s Default: 0 (disabled) | 輸出圖像包括捕捉到運動的前幾秒 |
| quality | Values: 1 - 100 Default: 75 | jpg圖像的質量 |
| quiet | Values: on, off Default: off | 安靜模式,檢測到運動不輸出嗶 |
| rotate | Values: 0, 90, 180, 270 Default: 0 (not rotated) | 旋轉圖像角度 |
| stream_auth_method | Values: 0,1,2 Default: 0 | 網頁監控身份認證方法:0-無,1-基本,2-MD5 |
| stream_authentication | Values: username:password Default: Not defined | 網頁監控用戶名和密碼 |
| stream_limit | Values: 0 - 2147483647 Default: 0 (unlimited) | 限制幀的數量 |
| stream_localhost | Values: on, off Default: on | 是否只能本地訪問網絡攝像頭 |
| stream_maxrate | Values: 1 - 100 Default: 1 | 限制網絡攝像頭幀速率 |
| stream_port | Values: 0 - 65535 Default: 0 (disabled) | 網絡攝像頭端口 |
| stream_quality | Values: 1 - 100 Default: 50 | 網絡攝像頭傳輸質量 |
| switchfilter | Values: on, off Default: off | 過濾器開關,過濾器用來區分真正的運動和噪聲 |
| target_dir | Values: Max 4095 characters Default: Not defined = current working directory | 視頻和圖片的保存路徑 |
| videodevice | Values: Max 4095 characters Default: /dev/video0 | 攝像頭設備名 |
| process_id_file | Values: Max 4095 characters Default: Not defined | 保存PID的文件,推薦/var/run/motion.pid |
| database_busy_timeout | Values: 0 … positive integer Default: 0 | 數據庫等待超時時間,毫秒 |
四、frp的下載安裝
frp下載網址:https://github.com/fatedier/frp/releases
根據設備系統自行選擇對應的版本下載
服務器與客戶端版本要統一
這里我服務器用的是 frp_0.44.0_linux_arm64.tar.gz
客戶端用的是 frp_0.44.0_linux_arm.tar.gz
(下載速度可能有點慢)
五、frp內網穿透服務器配置步驟
將里面的內容修改為
[common] bind_addr = 0.0.0.0 bind_port = 9006 #用于客戶端和服務端連接的端口 vhost_http_port = 80 vhost_https_port = 443 token = 123456 #用于客戶端和服務端連接的口令dashboard_user = admin #用戶名 dashboard_pwd = admin@123 #密碼 dashboard_port = 81 #服務端儀表板的端口,配置完成服務啟動后可以通過瀏覽器訪問 x.x.x.x:81 (其中x.x.x.x為服務器的IP)查看frp服務運行信息按Ctrl+X 再按Y 保存
把里面內容修改為:
[Unit] Description=frps service After=network.target syslog.target Wants=network.target[Service] Type=simple ExecStart=/usr/local/frp_0.44.0_linux_amd64/frps -c /usr/local/frp_0.44.0_linux_amd64/frps.ini[Install] WantedBy=multi-user.target注意"ExecStart="之后的路徑要填寫你的frps安裝路徑
3.使用systemctl命令來控制frps
sudo service frps start #開啟服務 sudo systemctl stop frps #停止服務 sudo systemctl restart frps #重啟服務 sudo systemctl status frps #查看服務狀態 sudo systemctl enable frps #啟動開機自啟服務 sudo systemctl disable frps #停用開機自啟服務需要將使用到的端口在服務器控制面板中打開
我這里用的是華為云,直接在華為云官網上管理端口
六、frp內網穿透客戶端(樹莓派)配置步驟
將里面的內容修改為
[common] server_addr = x.x.x.x #你服務器的公網ip server_port = 9006 #服務器端口 token = 123456 local_ip = 127.0.0.1 log_file = ./frpc.log[ssh] type = tcp local_port = 22 remote_port = 2200 #映射到服務器端的端口號,服務器使用2200端口可以連接到樹莓派的22端口[http] type = http local_ip = 127.0.0.1 local_port = 8081 #motion用的是8081端口 remote_port= 8081 #motion映射到服務器的端口 custom_domains = x.x.x.x #你服務器的公網ip按Ctrl+X 再按Y 保存
把里面內容修改為:
[Unit] Description=frpc service After=network.target syslog.target Wants=network.target [Service] Restart=always RestartSec=10 Type=simple ExecStart=/usr/local/frp_0.44.0_linux_arm/frpc -c /usr/local/frp_0.44.0_linux_arm/frpc.ini [Install] WantedBy=multi-user.target注意"ExecStart="之后的路徑要填寫你的frpc安裝路徑
開放 frpc.ini 中配置的端口 2200
啟動服務后查看儀表板界面
如圖所示正常
嘗試用公網ip連接到樹莓派
如圖所示連接成功
七、效果展示
配置完motion和frp內網穿透,在樹莓派有網絡的情況下,隨時隨地都能查看實時視頻了。
瀏覽器輸入 http://x.x.x.x/?action=stream (x.x.x.x代表你的公網ip)
總結
以上是生活随笔為你收集整理的树莓派摄像头使用 motion + frp内网穿透 实时视频显示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深蓝学院-视觉SLAM十四讲-第一章作业
- 下一篇: 视频去水印代码