直播移动端音视频开发FFmpeg精华技术干货

《FFmpeg精讲与实战》视频课常见问题与解答

2018-10-11  本文已影响440人  音视频直播技术专家

问:编译 ffmpeg 方法

答:在各个平台编译方法基本都是一样的。

问:make && make install失败

答:make && make install 之所以会失败,则由于该用户没有操作目录的权限引起的。所以只需要在make install 之前加 sudo即可。

另一种方法是将用户切换成 root用户,因 root用户的权力最大,所以这样做也是没问题的。但建议还是用 非 root用户操作,这样更安全。

问:库已经安装好了,但仍报找不到它的错误?

答:首先确认是否已经将 pkg-config工具安装好了。可以执行下面的命令:

pkg-config

如果提示没有安装,则先将该工具安装好,安装命令如下:

安装完该工具后仍然报错?那再按照具体的错误看下面的解决方案吧。

问:libx264库找不到([ERROR: libx264 not found])

该问题可能由下面三个方面的问题引起。

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/xxx/xxx/lib/pkgconfig 

其中 xxx 由你的实际路径代替。

注,有可能你的系统中并没有装 pkg-config工具,可以使用 brew/apt/yum install pkg-config进行安装。

export LD_LIBRARY_PATH=$LIB_LIBRARY_PATH:/xxx/xxx/lib

其中,xxx由你的实际路径代替。

当然,你也可以将环境变量设置在脚本里,这样就不用每次都写export命令了。只需要将上面的两条语句加入到 ~/.bashrc / 或~/.bash_profil 文件里,然后在控制台执行 source ~/.bashrcsource ~/.bash_profile即可。

问:fdk-aac库找不到([ERROR: libfdk_aac not found])

答:该问题与上面的 libx264 问题类似,所以只需要将上面的 libx264替换为libfdk-aac即可。这里不在赘述。

问:speex库找不到([ERROR: speex not found])

答:该问题与上面的 libx264 问题类似,所以只需要将上面的 libx264替换为speex即可。这里不在赘述。

问:编译不出ffplay

答:引起该问题有以下几方面的原因:

问:如何在Windows下编译ffmpeg问题

答:参见 Windows下编译ffmpeg问题

问:在Windows下编译安装ffmpeg是不是特别麻烦?

答:确实是这样。所以建议在Window开发者最好装一个 Ubuntu的虚拟机,这样就方便很多了。如果条件允许的话,最好能用Mac开发。可以说Mac Pro是关专为开发者制造的,一旦你用上它会让你爱不释手。

问:编译时,各种库找不到问题

答:该问题与上面的 libx264类似,我们可以通过 brew/apt/yum install xxx 命令进行安装,一般情况下这种方式都可以满足我们的需求。如果始终不行的话,就需要源码安装了。源码安装的方法可以参见 Windows下编译ffmpeg问题 里的说明。

问:ffmpeg如何使用 libx265

答:准确的讲ffmpeg应该是一个音视频框架,所有的音视频编解码器都是以插件的方式与ffmpeg联系起来的。换句话说,ffmpeg在上层提供了统一的 API,无法你使用的编解决是 x264, open264, x265, vp8/vp9/av1 上层用户都不管心,它仍然使用同样的 API, 只是在find_decoder 或 find_encoder时,指定具体的编解码器就可以了。也就是说在find_xxx时,你要设置了 x264 它最终就会调用 x264进行编解码,设置了 x265它就使用 x265进行编解码。如些而已。

问:这门课有群吗?

答:有的,群号:883069602,不过需要购买课程后输入验证码才可以进群。大家可以在群里讨论问题,也可以在课程的评论区里搜索答案。目前评论区里已经积累了大量问题的解决方案。

问:为什么我使用课程中的程序无法成功抽取AAC音频?

答:详细回答在这里

问:Android播放器例子为什么调API失败

答:你目前使用的 NDK 版本与我编译时使用的 NDK 版本不一致造成的,换成 NDK10e试试。

问:NDK10e 从哪里下载

答:可以到这里下载。

问:ffmpeg安装好后,编译视频中的ffmpeg_log不成功

答:执行下面的命令进行编译

gcc -g -o ffmpeg_log ffmpeg_log.c `pkg-config --libs --cflags libavutil`

注意:pkg-confg 前面的符号不是'哟!它是键盘左上角 ESC键下面的键。

小结

该文章会不定期更新,我们将一些大家使用ffmpeg常见的问题更新到这里来。

视频课地址

课程主页地址

上一篇下一篇

猜你喜欢

热点阅读