该文章将介绍如何使用emscripten编译ffmpeg,生成.bc文件,用于开发基于webassembly技术的视音频编辑器。
ffmpeg版本:4.3 系统环境:Ubuntu 18
首先下载ffmpeg源码 点击其中一个download下载。 下载并解压。 如果你下的是4.3版,解压后出现ffmpeg-4.3 文件夹。
安装Emscripten 可参考以下资料。 安装Emscripten 并完成 你好,世界!中的实例。
安装后,打开终端,进入管理员模式。 sudo root 输入密码:
激活emcc命令 从终端进入emsdk文件夹(也就是之前安装Emscripten时下载的emsdk)。 实行如下命令:
./emsdk activate latest source ./emsdk_env.sh检查反馈是否正常。
之后使用 emcc -v 检查emcc命令是否成功激活。
开始编译。
从刚刚激活了emcc命令的终端窗口进入 ffmpeg-4.3文件夹。 执行以下命令对ffmpeg进行配置:
emconfigure ./configure --cc="emcc" --cxx="em++" --ar="emar" --ranlib=emranlib --prefix=$(pwd)/dist --enable-cross-compile --target-os=none --arch=x86_64 --cpu=generic --disable-ffplay --disable-ffprobe --disable-asm --disable-doc --disable-devices --disable-indevs --disable-outdevs --disable-network --disable-w32threads --disable-pthreads --enable-ffmpeg --enable-static --disable-shared --enable-decoder=pcm_mulaw --enable-decoder=pcm_alaw --enable-decoder=adpcm_ima_smjpeg --enable-decoder=aac --enable-decoder=hevc --enable-decoder=h264 --enable-protocol=file --disable-stripping(如果报错,可以参考这篇Emscripten编译ffmpeg问题汇总进行处理,里面包含了我编译ffmpeg时踩过的的坑)
如果你所使用的不是4.3版本, 可能会出现类似 Unknown option "–enable-version3 的反馈 只需要将命令中对应的词句删除即可。
只要没有报错,就可以执行下一步了。 下面这步耗时较大,可以玩玩手机看看视频等待。
make再接着
sudo make install成功后,你将在ffmpeg-4.3文件夹下找到一个 名为 dist 的文件夹。 在该文件夹中的lib找到7个后缀为 .a 的文件。
我一般将这些文件后缀修改为.bc。
这些文件将在webassembly开发视音频编辑器时,用到。
