奇葩问题,树莓派 4b ffmpeg 读取 罗技摄像头 视频流 然后写入文件帧率达不到

2023-08-21 17:07:38 +08:00
 ksc010

随机性的出现帧率降低,然后不知道什么时候自己又好了


硬件信息:

  1. 树莓派 4b 8g
  2. logic StreamCam type-C 接口;
  3. 通过过 3.0 的转接头插入树莓派 3.0 接口上
  4. 5V 2A 供电( 3A 也试了)

账号 pi 执行的命令:

 ffmpeg -hide_banner -f v4l2 -input_format mjpeg -video_size hd1080 -r 60 -i /dev/video0 -f openal -channels 1 -i 'Logitech StreamCam, USB Audio (CARD=StreamCam,DEV=0)'  -c:v copy -c:a copy 4Bd-1080p-60fps-a1.avi

这个命令很简单 读取摄像头的 mjpeg 编码流 和 音频流 写入到 avi 文件


问题就是 一开始运行着正常 可以输出 1080 60fps

v4l2-ctl --device=/dev/video0 --list-formats-ext 输出的结果 可以看到 是有 1080p 60fps 的

但是,不知道什么时候 ,就突然帧率很低了 降低到了 10fps 左右

这时候:

  1. 单独录制 mjpeg 流视频正常 (极少次数不行)
  2. 单独录制音频正常
  3. 两个一块录制不行
  4. 使用 root 用户可以;(应该换个新用户就行)
  5. ubuntu 22.04 系统上 貌似不容易出问题

这个问题在:

  1. 硬件 3B 4B
  2. 系统 rasberrypi os 11debian 12 ubuntu 22.04

上都出现过,更换摄像头也不行,

比如 2 个 4B 设备,B 有问题,A 正常;

  1. 把 A 和 B 的 TF 卡/摄像头 互换;
  2. 重启设备
  3. 给设备降温到 40 摄氏度
  4. 断电后静止一夜

各种尝试后,B 还是有问题,A 还是正常的。

这时候 在 B 设备上 用root运行 ffmpeg 命令 帧率是正常的,普通用户 pi不行;新增了一个用户 pi2 正常

设备 A 用户 pi 系统 rasberrypi os 11 上 掉帧 ; ubuntu 22.04 正常

448 次点击
所在节点    问与答
4 条回复
zbinlin
2023-08-22 15:18:18 +08:00
是不是有一些计划任务在运行导致的?
看下有没有 timers:
systemctl --user list-timers
ksc010
2023-08-23 21:04:46 +08:00
@zbinlin 但是 重启也不行 ,放置一天,然后开机也不行
计划任务,过了这个时间应该就不运行了吧
我目前换成 ubuntu 22.04 目前看是好些了,但是 有时候录制 1.2 个小时左右 会卡死
zbinlin
2023-08-23 23:02:59 +08:00
@ksc010 有些任务是间隔运行,有些是定时运行,这要看这些任务是怎么定义。
ksc010
2023-08-24 18:22:50 +08:00
@zbinlin 试了下 没有任务

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/967138

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX