pyav安装编译失败,找不到函数依赖

烈酒焚心 提交于 2020-11-14 08:23:57

安装pyav错误信息如下:

 src/av/sidedata/sidedata.c: In function '__pyx_pf_2av_8sidedata_8sidedata_8SideData_2__repr__':
  src/av/sidedata/sidedata.c:2717:46: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(((unsigned int)__pyx_v_self->ptr->data)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 61, __pyx_L1_error)
                                                ^
  src/av/sidedata/sidedata.c: In function 'initsidedata':
  src/av/sidedata/sidedata.c:5355:58: error: 'AV_FRAME_DATA_SPHERICAL' undeclared (first use in this function)
     __pyx_t_1 = __Pyx_PyInt_From_enum__AVFrameSideDataType(AV_FRAME_DATA_SPHERICAL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25, __pyx_L1_error)
                                                            ^~~~~~~~~~~~~~~~~~~~~~~
  src/av/sidedata/sidedata.c:5355:58: note: each undeclared identifier is reported only once for each function it appears in
  src/av/sidedata/sidedata.c:5373:58: error: 'AV_FRAME_DATA_CONTENT_LIGHT_LEVEL' undeclared (first use in this function)
     __pyx_t_1 = __Pyx_PyInt_From_enum__AVFrameSideDataType(AV_FRAME_DATA_CONTENT_LIGHT_LEVEL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 26, __pyx_L1_error)
                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/av/sidedata/sidedata.c:5391:58: error: 'AV_FRAME_DATA_ICC_PROFILE' undeclared (first use in this function)
     __pyx_t_1 = __Pyx_PyInt_From_enum__AVFrameSideDataType(AV_FRAME_DATA_ICC_PROFILE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27, __pyx_L1_error)
                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~
  src/av/sidedata/sidedata.c:5409:58: error: 'AV_FRAME_DATA_QP_TABLE_PROPERTIES' undeclared (first use in this function)
     __pyx_t_1 = __Pyx_PyInt_From_enum__AVFrameSideDataType(AV_FRAME_DATA_QP_TABLE_PROPERTIES); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error)
                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/av/sidedata/sidedata.c:5427:58: error: 'AV_FRAME_DATA_QP_TABLE_DATA' undeclared (first use in this function)
     __pyx_t_1 = __Pyx_PyInt_From_enum__AVFrameSideDataType(AV_FRAME_DATA_QP_TABLE_DATA); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error)
                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

分析:
由于ffmpeg lib版本与pyav的版本匹配导致;
apt-get install -y libavcodec-dev libavformat-dev libswscale-dev libavdevice-dev libavfilter-dev libavutil-dev libpostproc-dev
通过上面的命令直接安装的 ffmpeg lib版本比较低;
需要安装与系统默认的ffmpeg lib 版本支持的pyav, 如果pyav 版本过高,会有某些函数或者标签找不到的情况;
在Debian9中,安装 av==6.2.0 是可以支持的。




标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!