环境
启动本地摄像头并建立rtsp服务
Raspberry Pi OS Bookworm(2024+)已将libcamera-vid该为rpicam-vid。如果没有可以安装rpicam-apps包
rpicam-vid --inline --listen -t 0 -o - --nopreview | ffmpeg -f h264 -i - -vcodec copy -f rtsp rtsp://localhost:8554/stream
rpicam-vid --width 1280 --height 720 --framerate 15 --codec h264 --profile high --level 4.2 --inline --listen -t 0 -o - --nopreview | ffmpeg -f h264 -i - -vcodec copy -f rtsp rtsp://localhost:8554/stream
rpicam-vid -t 0 --inline -o - --nopreview | ffmpeg -i
- -c:v copy -f rtsp rtsp://localhost:8554/stream
附带音频
# 视频流(通过管道)
rpicam-vid --width 1280 --height 720 --framerate 15 --codec h264 --inline -t 0 -o - --nopreview | \
# FFmpeg 合并视频+音频,推流到 RTSP
ffmpeg \
-i - \ # 输入1:来自管道的视频(H264)
-f alsa -ac 1 -ar 44100 -i hw:1,0 \ # 输入2:ALSA 音频(USB麦克风/声卡)
-c:v copy \ # 视频直接复制,不重新编码
-c:a aac -b:a 128k \ # 音频转 AAC 编码
-f rtsp rtsp://localhost:8554/stream
录制
录制视频流到当前目录文件
ffmpeg -i rtsp://192.168.204.151:8554/stream -c copy output.mp4
树莓派安装rtsp服务器
1)下载解压mediamtx
# 进入家目录
cd ~
# 64位系统(Raspberry Pi OS 64-bit)
wget -c https://github.com/bluenviron/mediamtx/releases/download/v1.9.3/mediamtx_v1.9.3_linux_arm64v8.tar.gz -O - | sudo tar -xz
# 或 32位系统(Raspberry Pi OS 32-bit)
wget -c https://github.com/bluenviron/mediamtx/releases/download/v1.9.3/mediamtx_v1.9.3_linux_armv7.tar.gz -O - | sudo tar -x
2)移动到系统目录
sudo mkdir -p /usr/local/bin/
sudo mv mediamtx /usr/local/bin/
sudo chmod +x /usr/local/bin/mediamtx
3)启动RTSP服务器
# 基础启动
mediamtx
# 后台运行
mediamtx &
4)推流测试
# 使用 rpicam-vid(Bookworm/Bullseye 系统)
rpicam-vid -t 0 --inline -o - | ffmpeg -i - -c:v copy -f rtsp rtsp://localhost:8554/live
# 或使用 ffmpeg 直接推流
ffmpeg -f v4l2 -input_format h264 -video_size 1280x720 -framerate 25 -i /dev/video0 -c:v copy -an -f rtsp rtsp://localhost:8554/live
5)使用VLC等播放器
rtsp://<树莓派IP地址>:8554/live