树莓派4B+USB摄像头+视频推流

一. 下载x264源码并编译安装 x264
1、更新源并安装git

sudo apt-get update 
sudo apt-get install git
sudo apt-get install npm

2、 下载x264源码

git clone https://git.videolan.org/git/x264.git

3、 进入x264目录

cd x264

4、新建一个名为 config_x264.sh 的文件

touch config_x264.sh

5、使用nano打开config_x264.sh

nano config_x264.sh


6、添加如下内容

#!/bin/sh
./configure \
--disable-shared --enable-static \
--enable-strip \
--disable-cli
7、 然后增加执行权限

chmod +x config_x264.sh

8、 依此进行以下每一行命令

./config_x264.sh
make -j4
sudo make install

执行make -j4时会花费点,应该会几分钟左右。

二、下载源码编译安装ffmpeg
1、在FFmpeg官网获取源码 http://ffmpeg.org/download.html ,当前版本为 ffmpeg-4.1.tar.bz2

wget https://ffmpeg.org/releases/ffmpeg-4.1.tar.bz2

2、解压

tar jxvf ffmpeg-4.1.tar.bz2

3、进入解压得到的ffmpeg目录

cd ffmpeg-4.1

4、新建一个名为 config_ffmpeg.sh 的脚本文件

touch config_ffmpeg.sh

5、使用nano打开 config_ffmpeg.sh

nano config_ffmpeg.sh

6、输入如下内容:

#!/bin/sh
PREFIX=/usr/local
./configure \
--enable-gpl    --enable-version3 --enable-nonfree \
--enable-static --disable-shared \
\
--prefix=$PREFIX \
\
--disable-opencl \
--disable-thumb \
--disable-pic \
--disable-stripping \
\
--enable-small \
\
--enable-ffmpeg \
--enable-ffplay \
--enable-ffprobe \
\
--disable-doc \
--disable-htmlpages \
--disable-podpages \
--disable-txtpages \
--disable-manpages \
\
--disable-everything \
\
--enable-libx264 \
--enable-encoder=libx264 \
--enable-decoder=h264 \
--enable-encoder=aac \
--enable-decoder=aac \
--enable-encoder=ac3 \
--enable-decoder=ac3 \
--enable-encoder=rawvideo \
--enable-decoder=rawvideo \
--enable-encoder=mjpeg \
--enable-decoder=mjpeg \
\
--enable-demuxer=concat \
--enable-muxer=flv \
--enable-demuxer=flv \
--enable-demuxer=live_flv \
--enable-muxer=hls \
--enable-muxer=segment \
--enable-muxer=stream_segment \
--enable-muxer=mov \
--enable-demuxer=mov \
--enable-muxer=mp4 \
--enable-muxer=mpegts \
--enable-demuxer=mpegts \
--enable-demuxer=mpegvideo \
--enable-muxer=matroska \
--enable-demuxer=matroska \
--enable-muxer=wav \
--enable-demuxer=wav \
--enable-muxer=pcm* \
--enable-demuxer=pcm* \
--enable-muxer=rawvideo \
--enable-demuxer=rawvideo \
--enable-muxer=rtsp \
--enable-demuxer=rtsp \
--enable-muxer=rtsp \
--enable-demuxer=sdp \
--enable-muxer=fifo \
--enable-muxer=tee \
\
--enable-parser=h264 \
--enable-parser=aac \
\
--enable-protocol=file \
--enable-protocol=tcp \
--enable-protocol=rtmp \
--enable-protocol=cache \
--enable-protocol=pipe \
\
--enable-filter=aresample \
--enable-filter=allyuv \
--enable-filter=scale \
--enable-libfreetype \
\
--enable-indev=v4l2 \
--enable-indev=alsa \
--enable-indev=alsa \
--enable-outdev=alsa \
\
--enable-omx \
--enable-omx-rpi \
--enable-encoder=h264_omx \
\
--enable-mmal \
--enable-hwaccel=h264_mmal \
--enable-decoder=h264_mmal \
\


7、然后增加执行权限

chmod +x config_ffmpeg.sh

8、依此进行以下每一行命令

./config_ffmpeg.sh
make -j4
sudo make install

执行make -j4时会花费大约1小时左右,需要耐心等待。

三、树莓派中搭建RTSP服务器
代码github地址

https://github.com/iizukanao/node-rtsp-rtmp-server

Node.js中的RTSP,RTMP和HTTP服务器

支持RTSP,RTMP / RTMPE / RTMPT / RTMPTE和HTTP。
仅支持H.264视频和AAC音频(AAC-LC,HE-AAC v1 / v2)。
1、安装

git clone https://github.com/iizukanao/node-rtsp-rtmp-server.git
cd node-rtsp-rtmp-server
npm install -d

2、另外,安装CoffeeScript 1.x或2.x

npm install --global coffeescript

3、启动服务器

cd node-rtsp-rtmp-server
sudo coffee server.coffee

注意!!!做到这里在打开一个新的终端!!!

4、发布实时流,从RTSP客户端您可以从RTSP客户端(例如FFmpeg)发布流,命令如下:

ffmpeg -re -i “/dev/video0” -c:v libx264 -preset fast -c:a libfdk_aac -ab 128k -ar 44100 -f rtsp rtsp://localhost:80/live/STREAMNAME

5、访问直播
通过RTSPRTSP流适用于VLC媒体播放器或Android的VideoView
RTSP网址:rtsp://localhost:80/live/STREAMNAME
请注意,默认情况下,RTSP服务器在端口80上运行。

  • 12
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在树莓派4B上驱动USB摄像头,你可以按照以下步骤进行操作: 1. 首先,使用命令`lsusb`查看已连接的USB设备,确保摄像头被正确识别。 2. 安装Motion软件,可以使用以下命令进行安装:`sudo apt-get install motion`。安装完成后,需要修改Motion的配置文件。 3. 修改Motion的配置文件motion.conf,可以使用以下命令进行编辑:`sudo nano /etc/motion/motion.conf`。在文件中找到并修改以下参数: - 修改分辨率:将capture_width和capture_height设置为所需的分辨率,例如640 x 480。 - 修改访问地址和端口号:将stream_localhost设置为off,将stream_port设置为8081。 - 可选:如果你遇到摄像头卡顿的问题,可以尝试调整framerate参数来提高帧率。 4. 保存并关闭文件,然后重新启动Motion服务:`sudo systemctl restart motion`。 5. 接下来,你可以通过访问`http://[树莓派地址]:8081`来查看实时监控视频。默认的用户名是admin,密码为空。 6. 如果你希望将摄像头接入到Home Assistant中,你需要修改Home Assistant的配置文件configuration.yaml,添加以下内容: ``` camera: - platform: generic name: 摄像头 still_image_url: http://{树莓派地址}:8081/picture/1/current/ username: admin framerate: 30 binary_sensor: - platform: ffmpeg_motion input: http://{树莓派地址}:8081/ name: 移动侦测 ``` 保存并关闭文件,然后重新启动Home Assistant。 这样,你就可以通过树莓派4B驱动USB摄像头并进行监控了。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值