如果我以这种方式配置ffmpeg:
./configure --disable-everything --enable-static --disable-shared \
--enable-gpl --enable-nonfree --enable-encoder=h264_videotoolbox,aac \
--enable-muxer=mp4 --enable-protocol=file --enable-libfdk-aac
--enable-videotoolbox --disable-autodetect它适用于我的目的(允许在Mac的视频工具箱上用aac音频对h264视频进行编码-- Apple工具包),但是如果我将它发送到任何其他计算机,除了它构建的计算机之外,它就会失败,如下所示:
dyld: Symbol not found: _kCVImageBufferTransferFunction_ITU_R_2100_HLG
Referenced from: /Users/admin/Downloads/./ffmpeg
Expected in: /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
in /Users/admin/Downloads/./ffmpeg
Abort trap: 6如果我用这种方式重建它:
./configure --disable-everything --enable-static --disable-shared
--enable-gpl --enable-nonfree --enable-encoder=aac
--enable-muxer=mp4 --enable-protocol=file --enable-libfdk-aac
--disable-autodetect因此,除了视频工具箱之外,其他所有东西都被移除,它在任何其他计算机上都能成功运行,因此显然ffmpeg需要携带一些它不需要的东西,才能使视频工具箱正常工作。
我实际上正在用ffmpeg的静态库构建一个C++应用程序,但是如果我在不同的机器上运行它,那么解释我所做的事情会有一个很长的故事,并且产生的错误信息是完全一样的,所以我最好在ffmpeg控制台实用程序本身的例子中说明它。
我需要做哪些配置开关才能使ffmpeg可移植?
发布于 2020-01-22 12:43:55
问题原来是我的macos版本(10.14),上面提到的API是从10.13开始的,所以在我尝试过的早期版本上它没有工作。通过在10.10重建ffmpeg来修正。
https://stackoverflow.com/questions/59844459
复制相似问题