slipvideo 免费的傻瓜流媒体处理器

slipvideo 是我做的一个基于 ffmpeg 的傻瓜流媒体处理器,外壳使用了 electron 使用 node 的 exeFile 拼装命令。

搞起来很简单,但想把 ffmpeg 上传 mas (mac app store) 坑还是不少的。

你需要一个自定义的 ffmpeg

编译时添加参数 --disable-securetransport

ffmpeg 可以从官网上下载 prebuild package ,体积高达 50 mb ,且其中很多功能是我们不需要的,最重要的是,他没有关闭 --disable-securetransport ,所以这样的包提上去,十有八九会被苹果打回来。

那么我们就要亲自动手手动编译一个 ffmpeg 了。 这个过程还是很痛苦的。 整体编译参数如下:

./configuration: --pkg-config-flags=--static --disable-securetransport --disable-ffplay --disable-ffprobe --disable-shared --disable-yasm --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libxavs --enable-libmysofa --enable-libzvbi --enable-librubberband --enable-version3

装好 HomeBrew 秉着缺什么装什么的做法,最终编译的包发现仍然不能在 mas 的 sandbox(沙箱)中运行。 sadstory

要移除 dylib

仔细检查,发现我自制的 ffmpeg 才 12mb。这是因为 ffmpeg 在编译的时候高度有限使用动态库,所以这里 你需要将 /usr/local/lib 中所有 *.dylib 暂时移到别处,然后重新编译

编译后发现体积变成了 34mb ,soga,在 mas 沙箱中试一下果然通过了。

有些依赖需要 gcc ,clang 下会报错

clang 是 apple 的默认编译器,但有些依赖需要使用 GUN compiler 、所以以下参数也许用得上

cmake -DCMAKE_C_COMPILER=/usr/local/Cellar/gcc/8.1.0/bin/gcc-8 \
      -DCMAKE_CXX_COMPILER=/usr/local/Cellar/gcc/8.1.0/bin/g++-8 \
      -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON

一些其他资源

win 下屏幕录制,抓取声音要用到: setup Virtual Audio Capture GrabberSetup.Screen.Capturer.Recorder

留言:

称呼:*

邮件:

网站:

内容: