gpt4 book ai didi

android - 无法打开 https 流 - 找不到协议(protocol)(带有 openssl 的 ffmpeg)

转载 作者:行者123 更新时间:2023-12-04 23:15:36 26 4
gpt4 key购买 nike

我从编译的 ffmpeg 中收到了带有 openssl 的下一条消息:Protocol not found .我正在通过 https 测试 hls。

ffmpeg 是 3.3和 openssl 是 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!"

在我配置它之前,我收到了像 openssl not found 这样的错误。 .我解决了这个问题,但我尝试加载通过 https 工作的流,我收到 Protocol not found .另外,我认为这很奇怪,在启用的协议(protocol)列表中缺少配置 https 之后。
Enabled protocols:
ffrtmphttp hls mmsh rtmp srtp
file http mmst rtmpt tcp
ftp httpproxy pipe rtp udp

2017 年 4 月 23 日更新

我的 openssl 构建脚本:
# environment variables
top_root=$PWD
src_root=${top_root}/src
patch_root=${top_root}/patches
dist_root=${top_root}/libs/openssl
dist_bin_root=${dist_root}/bin
dist_include_root=${dist_root}/include
dist_lib_root=${dist_root}/lib
build_log=${top_root}/openssl_build.log

# create our folder structure
cd ${top_root}
test -d ${src_root} || mkdir -p ${src_root}
test -d ${dist_root} || mkdir -p ${dist_root}
test -d ${dist_bin_root} || mkdir -p ${dist_bin_root}
test -d ${dist_include_root} || mkdir -p ${dist_include_root}
test -d ${dist_lib_root} || mkdir -p ${dist_lib_root}
touch ${build_log}

rm -f ${build_log}

echo "Building openssl-android ..."

test -d ${src_root}/openssl-android || \
git clone https://github.com/guardianproject/openssl-android.git ${src_root}/openssl-android >> ${build_log} 2>&1 || \
die "Couldn't clone openssl-android repository!"
cd ${src_root}/openssl-android

${NDK}/ndk-build >> ${build_log} 2>&1 || die "Couldn't build openssl-android!"

# copy the versioned libraries
#cp -r ${src_root}/openssl-android/libs/armeabi/lib*.so --parents ${dist_lib_root}/.
rsync -a --include '*/' --include '*.so' --exclude '*' ${src_root}/openssl-android/libs/ ${dist_lib_root}/
# copy the executables
#cp -r ${src_root}/openssl-android/libs/armeabi/openssl ${dist_bin_root}/. # work only for one abi folder
rsync -a --include '*/openssl' --exclude '*.so' ${src_root}/openssl-android/libs/ ${dist_bin_root}/
#cp -r ${src_root}/openssl-android/libs/armeabi/ssltest ${dist_bin_root}/. # work only for one abi folder
rsync -a --include '*/ssltest' --exclude '*.so' ${src_root}/openssl-android/libs/ ${dist_bin_root}/
# copy the headers
cp -r ${src_root}/openssl-android/include/* ${dist_include_root}/.

cd ${top_root}

将感谢任何帮助。

最佳答案

OpenSSL 需要 --enable-nonfree为了被编译。 GnuTLS报价 https支持 LGPL 许可证。

关于android - 无法打开 https 流 - 找不到协议(protocol)(带有 openssl 的 ffmpeg),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43565190/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com