【2024第一期CANN训练营】ffmpeg报错libavdevice.so.58-ffmpeg安装卸载升级

Altas200环境搭建踩坑记录-ffmpeg安装、卸载、升级


环境介绍

环境搭建过程中的踩坑记录

开发板:Huawei Atals 200I DK A2 内存:4G NPU:Ascend 310B4 CANN:7.0.RC1


提示:以下是本篇文章正文内容,下面案例可供参考

一、编译代码时报错信息

安装ffmpeg后,报错及解决方案libavdevice.so.58:,ffmpeg找不到avpriv_packet_list_free、avpriv_packet_list_get、avpriv_packet_list_put。

[17:40:17:294]/usr/bin/ld: /lib/aarch64-linux-gnu/libavformat.so.58: undefined reference to `avpriv_packet_list_free@LIBAVCODEC_58'
[17:40:17:306]/usr/bin/ld: /lib/aarch64-linux-gnu/libavformat.so.58: undefined reference to `avpriv_packet_list_get@LIBAVCODEC_58'
[17:40:17:314]/usr/bin/ld: /lib/aarch64-linux-gnu/libavformat.so.58: undefined reference to `avpriv_packet_list_put@LIBAVCODEC_58'
[17:40:17:318]/usr/bin/ld: /lib/aarch64-linux-gnu/libavformat.so.58: undefined reference to `avpriv_mpeg4audio_get_config2@LIBAVCODEC_58'
[17:40:17:326]collect2: error: ld returned 1 exit status
[17:40:17:338]make[2]: *** [CMakeFiles/main.dir/build.make:98: /root/EdgeAndRobotics/Samples/HandWritingTrainAndInfer/omInfer/out/main] Error 1
[17:40:17:338]make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/main.dir/all] Error 2
[17:40:17:342]make: *** [Makefile:136: all] Error 2
[17:40:17:342][ERROR] build failed, Please check your environment!

二、问题分析

1.查询版本:ffmpeg -version

发现ffmpeg version 4.2.9

[08:47:20:705](base) root@davinci-mini:~# ffmpeg -version
[08:47:20:830]ffmpeg version 4.2.9 Copyright (c) 2000-2023 the FFmpeg developers
[08:47:20:845]built with gcc 11 (Ubuntu 11.3.0-1ubuntu1~22.04.1)

2.确认ffmpeg4.2.9中是否有avpriv_packet_list_free

接下来需要确认ffmpeg version 4.2.9中是否有avpriv_packet_list_free这个函数。
在这里插入图片描述
点击进入:
https://ffmpeg.org/doxygen/4.2/files.html
查找avpriv_packet_list_free,没有找到。
在这里插入图片描述
查看4.3版本的依然没有

3.找个包含该函数的version

查看V4.4版本,已包含avpriv_packet_list_free、avpriv_packet_list_get、avpriv_packet_list_put。
在这里插入图片描述

4.解决方案

更新FFmpeg版本。卸载旧版本,安装新版本。

三、安装与卸载

1.安装ffmpeg

如果有旧版本,先按照下面内容卸载掉。
开始安装:(可以制定需要下载的版本号)

wget https://ffmpeg.org/releases/ffmpeg-4.4.4.tar.gz

详细信息:

[10:41:14:868](base) root@davinci-mini:/home/HwHiAiUser# wget https://ffmpeg.org/releases/ffmpeg-4.4.4.tar.gz
[10:41:14:868]--2024-04-11 10:40:13--  https://ffmpeg.org/releases/ffmpeg-4.4.4.tar.gz
[10:41:15:243]Resolving ffmpeg.org (ffmpeg.org)... 79.124.17.100
[10:41:15:477]Connecting to ffmpeg.org (ffmpeg.org)|79.124.17.100|:443... connected.
[10:41:16:243]HTTP request sent, awaiting response... 200 OK
[10:41:16:243]Length: 14369543 (14M) [application/x-gzip]
[10:41:16:243]Saving to: ‘ffmpeg-4.4.4.tar.gz’
[10:41:16:243]
[10:41:51:256]ffmpeg-4.4.4.tar.gz                                  100%[===================================================================================================================>]  13.70M  1.59MB/s    in 35s     
[10:41:51:256]
[10:41:51:256]2024-04-11 10:40:50 (401 KB/s) - ‘ffmpeg-4.4.4.tar.gz’ saved [14369543/14369543]
[10:41:51:256]
[10:41:54:224](base) root@davinci-mini:/home/HwHiAiUser# 
[10:42:20:645](base) root@davinci-mini:/home/HwHiAiUser# ls
[10:42:20:672]ACLLite  Desktop    Downloads   Music     Public     Videos         aicpu_package_install.info  hdc_ppc     mysample               samples
[10:42:20:694]Ascend   Documents  E2ESamples  Pictures  Templates  aicpu_kernels  ffmpeg-4.4.4.tar.gz         ide_daemon  new_sd_initialization  var

依次执行:

tar -zxvf ffmpeg-4.4.4.tar.gz
cd ffmpeg-4.4.4
 ./configure --disable-static --enable-shared --disable-doc --enable-ffplay --enable-ffprobe --enable-avdevice --disable-debug --enable-demuxers --enable-parsers --enable-protocols --enable-small --enable-avresample
make
make install
cd /etc/ld.so.conf.d

给ffmpeg.conf中添加/usr/local/lib

vim ffmpeg.conf
ldconfig
export FFMPEG_PATH=/usr/local/lib

查看版本:ffmpeg -version

[11:10:15:579](base) root@davinci-mini:/home/HwHiAiUser/ffmpeg-4.4.4# ffmpeg -version
[11:10:15:735]ffmpeg version 4.4.4 Copyright (c) 2000-2023 the FFmpeg developers
[11:10:15:735]built with gcc 11 (Ubuntu 11.3.0-1ubuntu1~22.04.1)
[11:10:15:751]configuration: --disable-static --enable-shared --disable-doc --enable-ffplay --enable-ffprobe --enable-avdevice --disable-debug --enable-demuxers --enable-parsers --enable-protocols --enable-small --enable-avresample
[11:10:15:751]libavutil      56. 70.100 / 56. 70.100
[11:10:15:751]libavcodec     58.134.100 / 58.134.100
[11:10:15:751]libavformat    58. 76.100 / 58. 76.100
[11:10:15:751]libavdevice    58. 13.100 / 58. 13.100
[11:10:15:751]libavfilter     7.110.100 /  7.110.100
[11:10:15:751]libavresample   4.  0.  0 /  4.  0.  0
[11:10:15:751]libswscale      5.  9.100 /  5.  9.100
[11:10:15:751]libswresample   3.  9.100 /  3.  9.100
[11:10:52:221](base) root@davinci-mini:

2.ubuntu彻底卸载ffmpeg

卸载前查看版本:ffmpeg -version

[10:29:01:451](base) root@davinci-mini:/home/HwHiAiUser/ffmpeg# ffmpeg -version
[10:29:01:592]ffmpeg version 4.2.9 Copyright (c) 2000-2023 the FFmpeg developers
[10:29:01:592]built with gcc 11 (Ubuntu 11.3.0-1ubuntu1~22.04.1)
[10:29:01:592]configuration: --disable-static --enable-shared --disable-doc --enable-ffplay --enable-ffprobe --enable-avdevice --disable-debug --enable-demuxers --enable-parsers --enable-protocols --enable-small --enable-avresample
[10:29:01:607]libavutil      56. 31.100 / 56. 70.100
[10:29:01:607]libavcodec     58. 54.100 / 58.134.100
[10:29:01:607]libavformat    58. 29.100 / 58. 76.100
[10:29:01:607]libavdevice    58.  8.100 / 58. 13.100
[10:29:01:607]libavfilter     7. 57.100 /  7.110.100
[10:29:01:607]libavresample   4.  0.  0 /  4.  0.  0
[10:29:01:607]libswscale      5.  5.100 /  5.  9.100
[10:29:01:607]libswresample   3.  5.100 /  3.  9.100

彻底卸载,查看ffmpeg:

sudo dpkg -l | grep ffmpeg

如下:

[10:31:40:809](base) root@davinci-mini:/home/HwHiAiUser/ffmpeg# dpkg -l | grep ffmpeg
[10:31:40:857]ii  ffmpeg                                 7:4.4.2-0ubuntu0.22.04.1                arm64        Tools for transcoding, streaming and playing of multimedia files
[10:31:40:872]ii  ffmpegthumbnailer                      2.2.2+dfsg-1                            arm64        fast and lightweight video thumbnailer
[10:31:40:894]ii  libffmpegthumbnailer4v5:arm64          2.2.2+dfsg-1                            arm64        shared library for ffmpegthumbnailer

卸载:

sudo find / | grep -w ffmpeg | sudo xargs rm -r -f
sudo apt-get --purge remove ffmpeg
sudo apt-get --purge autoremove

详细信息:

[10:32:00:909](base) root@davinci-mini:/home/HwHiAiUser/ffmpeg# find / | grep -w ffmpeg | sudo xargs rm -r -f
[10:32:18:685](base) root@davinci-mini:/home/HwHiAiUser/ffmpeg# apt-get --purge remove ffmpeg
[10:32:18:998]Reading package lists... Done
[10:32:19:545]Building dependency tree... Done
[10:32:19:560]Reading state information... Done
[10:32:20:398]sh: 0: getcwd() failed: No such file or directory
[10:32:20:486]The following packages will be REMOVED:
[10:32:20:501]  ffmpeg*
[10:32:20:517]sh: 0: getcwd() failed: No such file or directory
[10:32:20:580]0 upgraded, 0 newly installed, 1 to remove and 171 not upgraded.
[10:32:20:593]sh: 0: getcwd() failed: No such file or directory
[10:32:20:625]After this operation, 2251 kB disk space will be freed.
[10:32:25:189]Do you want to continue? [Y/n] y
[10:32:25:819]sh: 0: getcwd() failed: No such file or directory
[10:32:26:437]dpkg: warning: files list file for package 'ffmpeg' missing; assuming package has no files currently installed
[10:32:27:160](Reading database ... 230183 files and directories currently installed.)
[10:32:27:175]Removing ffmpeg (7:4.4.2-0ubuntu0.22.04.1) ...
[10:32:29:657]sh: 0: getcwd() failed: No such file or directory
[10:32:57:443](base) root@davinci-mini:/home/HwHiAiUser/ffmpeg# sudo apt-get --purge autoremove
[10:32:57:771]Reading package lists... Done
[10:32:58:311]Building dependency tree... Done
[10:32:58:311]Reading state information... Done
[10:32:59:155]sh: 0: getcwd() failed: No such file or directory
[10:32:59:280]sh: 0: getcwd() failed: No such file or directory
[10:32:59:342]0 upgraded, 0 newly installed, 0 to remove and 171 not upgraded.
[10:32:59:358]sh: 0: getcwd() failed: No such file or directory
[10:32:59:389]sh: 0: getcwd() failed: No such file or directory

查看是否卸载成功:

ffmpeg -version

如下,卸载成功。

[10:33:05:476](base) root@davinci-mini:/home/HwHiAiUser/ffmpeg# ffmpeg -version
[10:33:05:476]-bash: /usr/local/bin/ffmpeg: No such file or directory
  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一码当前

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值