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

使用FFmpeg管道捕获摄像头画面始终获取空帧的问题求助

使用FFmpeg管道捕获摄像头画面始终获取空帧的问题求助

我现在在做一个项目,需要用Python脚本调用FFmpeg命令捕获摄像头画面,然后通过管道把帧数据传到自己的处理函数里,但不管怎么试,拿到的都是空帧!各种Stack Overflow的方案我都试过了,还是没解决,急死个人!

我的代码如下:

ffmpeg_command = 'ffmpeg -f v4l2 -framerate 25 -video_size 960x540 \
  -pix_fmt yuyv422 -i /dev/video0     \
  -f rawvideo \
  -pix_fmt yuyv422 \
   pipe:'

pro = subprocess.Popen(ffmpeg_command.split(), stdout=subprocess.PIPE, shell=True)
            
while True:
    raw_frame = pro.stdout.read(960*540*3)  # 我这里试过各种可能的数值,都没用
    frame = np.frombuffer(raw_frame, dtype=np.uint8)
    frame = frame.reshape((960,540, 3)) # 这里直接报错,因为raw_frame是空的

我实在搞不清自己到底哪里错了:

  • 读取字节数的时候,我试了好几种不同的数值,结果每次拿到的raw_frame都是空的
  • 转成numpy数组再reshape的时候,直接就因为数组为空抛出异常

有没有大佬能帮忙排查下问题?万分感谢!

备注:内容来源于stack exchange,提问作者sar5050

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 11:05:28