You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:使用树莓派(Raspberry Pi)搭配摄像头录制带时间戳的视频

嘿,这个需求我帮很多人解决过,给你分享两个在树莓派上实测有效的方法,一个是命令行快速搞定,一个是用Python自定义性更强:

方法一:用raspivid + FFmpeg(命令行快速实现)

如果不想写代码,这个方法最快,直接用树莓派自带的摄像头工具加FFmpeg滤镜实现时间戳。

  1. 先安装FFmpeg(如果没装的话):
sudo apt update && sudo apt install ffmpeg
  1. 执行录制命令(按Ctrl+C停止录制):
raspivid -t 0 -w 1280 -h 720 -fps 30 -o - | ffmpeg -i - -vf "drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf: text='%Y-%m-%d %H:%M:%S': x=10: y=10: fontsize=24: fontcolor=white: shadowcolor=black: shadowx=2: shadowy=2" -c:v libx264 -crf 23 -preset fast -c:a aac -b:a 128k output_with_timestamp.mp4

参数解释:

  • raspivid -t 0:无限录制(替换成具体毫秒数比如-t 30000就是录30秒),-w/-h是分辨率,-fps是帧率
  • FFmpeg的-vf drawtext:添加文字滤镜,fontfile指定字体路径(确保这个字体存在,找不到的话用fc-list命令查看系统字体),text里的%Y-%m-%d %H:%M:%S是时间格式,x/y是时间戳的位置(这里是左上角),fontsize/fontcolor设置样式,阴影让文字更清晰
方法二:用Python + picamera库(自定义性更强)

如果需要把录制功能整合到你的Python项目里,这个方法更灵活,能自定义时间戳的样式和位置。

  1. 安装picamera库:
sudo apt install python3-picamera
  1. 编写Python脚本(比如命名为record_with_timestamp.py):
from picamera import PiCamera
from datetime import datetime
import time

# 初始化摄像头
camera = PiCamera()
camera.resolution = (1280, 720)
camera.framerate = 30

# 预热摄像头(避免初始画面模糊)
camera.start_preview()
time.sleep(2)

# 开始录制
camera.start_recording('raw_recording.h264')
print("录制中,按Ctrl+C停止...")

try:
    while True:
        # 获取当前时间并格式化
        current_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        # 设置时间戳样式
        camera.annotate_text = current_time
        camera.annotate_text_size = 24  # 字体大小(范围6-160)
        camera.annotate_foreground = (255, 255, 255)  # 白色文字
        camera.annotate_background = (0, 0, 0)  # 黑色背景
        # 可选:设置时间戳位置,默认顶部居中,改成左上角的话用下面这句
        # camera.annotate_align = (0, 0)
        time.sleep(0.1)
except KeyboardInterrupt:
    # 停止录制并清理
    camera.stop_recording()
    camera.stop_preview()
    print("录制已停止")

# 可选:把H264格式转成通用的MP4(需要先安装gpac)
# sudo apt install gpac
# 执行命令:MP4Box -add raw_recording.h264 output_with_timestamp.mp4
  1. 运行脚本:
python3 record_with_timestamp.py
一些实用提示
  • 字体问题:如果方法一里的DejaVu字体找不到,替换成系统里有的,比如/usr/share/fonts/truetype/freefont/FreeSansBold.ttf,用fc-list命令可以列出所有可用字体
  • 性能优化:树莓派2或更早的型号,建议降低分辨率(比如800x600)和帧率(比如24fps),避免卡顿
  • 时间戳位置:方法一里要改到右上角的话,把x=10改成x=1280-200(根据文字长度调整数值);方法二里用camera.annotate_align可以调整对齐方式

内容的提问来源于stack exchange,提问作者Genesis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:17:05