两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 |
digi:arm-embedded:ccmp2:usbwifi [2025/03/24 11:08] – robin | digi:arm-embedded:ccmp2:usbwifi [2025/03/24 14:59] (当前版本) – robin |
---|
nano /etc/hostapd_wlan1.conf | nano /etc/hostapd_wlan1.conf |
</code> | </code> |
注意,包括信道等的优化也可在这里配置 | 注意,包括信道等的优化也可在这里配置,但第一次修改,请先只配置ssid和密码,修改如下: |
| <code> |
| ssid=ap-ccmp25 |
| wpa_passphrase=digidigi |
| </code> |
| |
| |
设置摄像头: | 设置摄像头: |
<code> | <code> |
v4l2-ctl --list-devices #查看设备,最后一项第一个才是摄像头,以 /dev/video2为例,其它设备是硬件codec之类的,也可能未来有用。 | v4l2-ctl --list-devices #查看设备,最后一项第一个才是摄像头,以 /dev/video7为例,其它设备是硬件codec之类的,也可能未来有用。 |
v4l2-ctl -d /dev/video2 --list-formats-ext #查看摄像头支持的输出格式 | v4l2-ctl -d /dev/video7 --list-formats-ext #查看摄像头支持的输出格式,视新只支持MJPG或YUYV,都是800X800,帧率为5~30fps,低端窄带的小模块,可以用5~15fps来节约带宽,最高设置为30fps。 |
v4l2-ctl -d /dev/video2 --get-fmt-video 查看当前输出 | |
v4l2-ctl -d /dev/video2 --set-fmt-video=width=1024,height=768,pixelformat=MJPG #设置输出格式,请根据摄像头支持来修改 | v4l2-ctl -d /dev/video7 --get-fmt-video #查看当前输出 ,也可简写为v4l2-ctl -d /dev/video7 -V |
| v4l2-ctl -d /dev/video7 --get-parm #查看当前帧率,默认30fps |
| |
| v4l2-ctl -d /dev/video7 --set-fmt-video=width=800,height=800,pixelformat=MJPG #设置输出格式,请根据摄像头支持来修改,客户的工装摄像头默认是800X800@30fps,所以也可不用修改使用默认值,其它摄像头需要根据支持格式来修改 |
| |
gst-launch-1.0 v4l2src device=/dev/video2 ! autovideoconvert ! autovideosink #注意,如果想简单测试一下在显示屏上输出摄像头的视频,可用这个,但它会占用设备,不可再用web共享,因此为了web共享,用下面这个办法,先创建web的流,再用相同的流本地显示 | gst-launch-1.0 v4l2src device=/dev/video2 ! autovideoconvert ! autovideosink #注意,如果想简单测试一下在显示屏上输出摄像头的视频,可用这个,但它会占用设备,不可再用web共享,因此为了web共享,用下面这个办法,先创建web的流,再用相同的流本地显示 |
<code> | <code> |
1、创建ip直接访问所需页面 | 1、创建ip直接访问所需页面 |
| mkdir -p /srv/mjpg_streamer/www |
echo "<html><body><h1>MJPG Streamer</h1><img src=\"/?action=stream\" /></body></html>" > /srv/mjpg_streamer/www/index.html | echo "<html><body><h1>MJPG Streamer</h1><img src=\"/?action=stream\" /></body></html>" > /srv/mjpg_streamer/www/index.html |
2、mjpg_streamer -i "input_uvc.so -d /dev/video2 -r 1280x720 -f 30" -o "output_http.so -p 8080 -w /srv/mjpg_streamer/www" | 2、mjpg_streamer -i "input_uvc.so -d /dev/video7 -r 800x800 -f 30" -o "output_http.so -p 8080 -w /srv/mjpg_streamer/www" |
| 或简版:mjpg_streamer -i "input_uvc.so -d /dev/video7" -o "output_http.so -p 8080 -w /srv/mjpg_streamer/www" |
3、本地打开:gst-launch-1.0 -v souphttpsrc location=http://localhost:8080/?action=stream ! jpegdec ! autovideosink | 3、本地打开:gst-launch-1.0 -v souphttpsrc location=http://localhost:8080/?action=stream ! jpegdec ! autovideosink |
</code> | </code> |
| 整成脚本: |
| <code> |
| #!/bin/bash |
| |
| mjpg_streamer -i "input_uvc.so -d /dev/video2 -f 10" -o "output_http.so -p 8080 -w /srv/mjpg_streamer/www" & |
| |
| sleep 1 |
| |
| gst-launch-1.0 souphttpsrc location=http://localhost:8080/?action=stream ! jpegdec ! autovideosink |
| |
| </code> |
| |
| |
| 4、窄带小模块的优化方式 |
| 在mjpg_streamer -i "input_uvc.so -d /dev/video7 -r 800x800 -f 10" -o "output_http.so -p 8080 -w /srv/mjpg_streamer/www" |
| |
| 5、gstreamer的方式测试及比较 |
| 注意,我们创建/tmp/camera_fifo,这个每次启动都会清掉,所以要用这个重启需再创建,或放在服务中 |
| <code> |
| mkfifo /tmp/camera_fifo |
| gst-launch-1.0 -q v4l2src device=/dev/video7 ! \ |
| image/jpeg,width=800,height=800,framerate=30/1 ! \ |
| multipartmux boundary=frame ! \ |
| filesink location=/tmp/camera_fifo & |
| nano /srv/www/cgi-bin/stream |
| 内容为: |
| #!/bin/sh |
| echo "Content-Type: multipart/x-mixed-replace; boundary=spionisto" |
| echo |
| cat /tmp/camera_fifo |
| 在thttpd.conf中启用 |
| nano /etc/thttpd.conf |
| 内容如下: |
| dir=/srv/www |
| cgipat=/cgi-bin/* |
| user=root |
| </code> |
| |
| 本地 |
| <code> |
| 本地显示 |
| gst-launch-1.0 filesrc location=/tmp/camera_fifo ! \ |
| multipartdemux boundary=frame ! \ |
| image/jpeg ! jpegdec ! videoconvert ! waylandsink |
| 如果直接用摄像头而不是fifo流的命令是这个,但如果用web后估计会是占用状态,所以用上面的方式 |
| gst-launch-1.0 v4l2src device=/dev/video7 ! \ |
| image/jpeg,width=800,height=800 ! \ |
| jpegdec ! videoconvert ! \ |
| waylandsink |
| </code> |
| |
| rtsp的方法待测 |
| |
| |