我收到了来自编译的ffmpeg的openssl下一条消息:result['FirstName']
。我正在通过https进行测试。
ffmpeg为Protocol not found
,openssl为3.3
个版本。
我有下一个配置脚本:
1.0.0a
在配置之前,我收到了./configure \
--target-os=linux \
--incdir=$BUILD_DIR/include/$ABI \
--libdir=$BUILD_DIR/lib/$ABI \
--prefix=$BUILD_DIR/lib/$ABI \
--enable-cross-compile \
--extra-libs="-lgcc" \
--arch=$ARCH \
--cc=$PREBUILT/bin/$HOST-gcc \
--cross-prefix=$PREBUILT/bin/$HOST- \
--nm=$PREBUILT/bin/$HOST-nm \
--sysroot=$PLATFORM \
--extra-cflags="$OPTIMIZE_CFLAGS -I${OPENSSL_INCLUDE_DIR}" \
--extra-cxxflags="I${OPENSSL_INCLUDE_DIR}" \
--extra-ldflags="-Wl,-rpath-link=${PLATFORM}usr/lib -L${PLATFORM}usr/lib -nostdlib -lc -lm -ldl -llog -lz -L${OPENSSL_BUILD_DIR}/${ABI} $openssl_addi_ldflags -lssl -lcrypto" \
--disable-static \
--disable-ffplay \
--disable-ffmpeg \
--disable-ffprobe \
--disable-ffserver \
--disable-doc \
--disable-symver \
--disable-postproc \
--disable-gpl \
--disable-encoders \
--disable-muxers \
--disable-bsfs \
--disable-protocols \
--disable-indevs \
--disable-outdevs \
--disable-devices \
--enable-shared \
--enable-small \
--enable-encoder=png \
--enable-openssl \
--enable-runtime-cpudetect \
--enable-protocol=file,ftp,http,https,httpproxy,hls,mmsh,mmst,pipe,rtmp,rtmps,rtmpt,rtmpts,rtp,sctp,srtp,tcp,udp \
--pkg-config=$(which pkg-config) \
$ADDITIONAL_CONFIGURE_FLAG || die "Couldn't configure ffmpeg!"
之类的错误。我解决了这个问题,但我尝试加载通过https工作的流,我收到openssl not found
。此外,我认为这很奇怪,在启用的协议列表中错过了配置https。
Protocol not found
更新23.04.2017
我的openssl构建脚本:
Enabled protocols:
ffrtmphttp hls mmsh rtmp srtp
file http mmst rtmpt tcp
ftp httpproxy pipe rtp udp
感谢任何帮助。
答案 0 :(得分:1)
OpenSSL需要--enable-nonfree
才能进行编译。 GnuTLS为LGPL许可提供https
支持。
答案 1 :(得分:0)
当我删除下一行
时--disable-protocols \
它开始工作了。 这是奇怪的事情,因为在我的脚本中还有一行可以实现我的目的协议所需的所有内容:
--enable-protocol=file,ftp,http,https,httpproxy,hls,mmsh,mmst,pipe,rtmp,rtmps,rtmpt,rtmpts,rtp,sctp,srtp,tcp,udp \
另外,我已经将openssl lib版本更新为1.0.2j。 无论如何,对我来说这是解决方案。 感谢@Mulvya寻求帮助。