阅读 106

音视频小白系统入门常见问题解决办法

同学们在学习视频课小白系统入门这门课的过程中,经常遇到一些问题,这里总结一些最常见的问题,供大家参考:

Q: 在 Mac 10.15.3 系统下编译 ffmpeg 成功后,在运行 ffmpeg 命令时出现crash.

A: 重新编译ffmpeg,在执行 ./configure 时增加 --extra-cflags="fno-static-check" 选项。

Q:添加 --extra-cflags="fno-static-check" 选项 仍然 crash

A: 编译时保持尽量少的参数,应该是与其它一些参数有突冲

Q:Xcode 编译成功,但执行失败

A:在执行课程的例子时,要将沙盒关闭掉,在info.list中增加访问mic phone 权限。

Q:关闭沙盒后,程序仍然无法执行

A:要有开发者证书才可以。

Q:引入ffmpeg库后,报code signature...not valid

A:

1. 打开 Mac 中的 keychain Access.app, 选择“我的证书”
2. 执行 codesign -f -s "证书名" xxx.dylib
3. 为了避免逐个签名,可以进行批量操作 codesign -f -s "证书名" /usr/local/ffmpeg/lib/*.dylib
复制代码

Q: ffmpeg 执行时提示没有权限

A: 切目录切换到你自己的用户目录下再执行ffmpeg。

虚似机中每次获取的数据很小,只有64个字节,如果进行重采样?

A: ffmpeg中最低采样个数为32个,所以只有 64 字节数据时,是无进行重采样的。解决办法是将数据放到一个缓冲区中,积攒到一定大小后,再进行重采样。

Q: 在从设备采体数据时,返回错误 -35

A: 说明你的设备现在暂时还没准备好,此时你应该等待它几秒,之后就可以正常读数据了。

Q:在编码时,编码器返回 -35 错误

A:此时说明编码器没有准备好,需要等待几秒钟。

Q: 编译ffmpeg时没有ffplay

A:

1.首先安装 SDL2 库
2. 在 ffmpeg源码中执行 ./configure 时并增加 --enable-sdl2
3. make && make install
复制代码

Q: 采集到的音频数据编码 AAC 时,报无法找到libfdk-aac库

A:

1. 安装好 fdk-aac库
2. 重新在ffmpeg源码目录下执行./configure 并增加--enable-fdk-aac 参数
3. make && make install
复制代码

Q: 在Linux中何采集音频数据

A: ffmpeg -f alsa -i hw:0,0 xxx.wav

Q: 在 Linux 中找不到 alsa 设备

A:可以通过 arecord -l 查看你linux系统下有哪些音频设备。如果没有alsa, 可以使用 oss.

Q: Windows下编译ffmpeg

A: trac.ffmpeg.org/wiki/Compil…

参考

音视频小白系统入门课