FFmpeg使用v4l2时出错

FFmpeg使用v4l2时出错,ffmpeg,v4l2,Ffmpeg,V4l2,我尝试签出ffmpeg以按如下方式构建它: git克隆ffmpeg cd-ffmpeg /configure--disable-asm--disable-v4l2-m2m--disable indev=v4l2--disable outdev=v4l2 制造 但我得到以下错误: libavcodec/v4l2_m2m_enc.c: In function ‘v4l2_set_ext_ctrl’: libavcodec/v4l2_m2m_enc.c:51: warning: braces aro

我尝试签出ffmpeg以按如下方式构建它:

  • git克隆ffmpeg
  • cd-ffmpeg
  • /configure--disable-asm--disable-v4l2-m2m--disable indev=v4l2--disable outdev=v4l2
  • 制造
  • 但我得到以下错误:

    libavcodec/v4l2_m2m_enc.c: In function ‘v4l2_set_ext_ctrl’: 
    libavcodec/v4l2_m2m_enc.c:51: warning: braces around scalar initializer 
    libavcodec/v4l2_m2m_enc.c:51: warning: (near initialization for 
    ‘ctrls.count’) libavcodec/v4l2_m2m_enc.c:55: error: ‘struct v4l2_ext_controls’ has no member named ‘ctrl_class’ libavcodec/v4l2_m2m_enc.c:60: 
    error: ‘struct v4l2_ext_control’ has no member named ‘value’ 
    libavcodec/v4l2_m2m_enc.c: In function ‘v4l2_get_ext_ctrl’: 
    libavcodec/v4l2_m2m_enc.c:71: warning: braces around scalar initializer 
    libavcodec/v4l2_m2m_enc.c:71: warning: (near initialization for 
    ‘ctrls.count’) libavcodec/v4l2_m2m_enc.c:76: error: ‘struct v4l2_ext_controls’ has no member named ‘ctrl_class’ libavcodec/v4l2_m2m_enc.c:89: 
    error: ‘struct v4l2_ext_control’ has no member named ‘value’ make: *** 
    [libavcodec/v4l2_m2m_enc.o] Error 1
    

    知道如何继续吗?

    我对--disable-x86asm(而不是--disable-asm)也有同样的问题。这可能是环境问题吗?配置步骤生成的输出仍然将v4l2_m2m列为提供硬件加速的外部库是否存在需要更新的linux驱动程序?我在路径中添加了/usr/include。这将确保找到/usr/include/linux/videodev2.h。但这仍然没有帮助我注意到,在我的/usr/include/linux/videodev2.h中,结构v4l2_ext_控件被定义为:结构v4l2_ext_控件{u32 id;uuuu32 size;uuu32 reserved2[1];union{uuuuus32值;uuus64值64;字符*字符串;uuu8*p_u8;uu16*p_16;uuu32*p_32;void*ptr;};}}uuuu属性((压缩));