当前位置: 首页 > news >正文

打鱼网站开发百度云网盘网页版

打鱼网站开发,百度云网盘网页版,移动网站建设的基本流程图,网站外包多少钱环境 我这里使用windows里的wsl2的ubuntu,使用物理机或者vmware,vbox之类的安装的ubuntu理论上也可以. gcc编译使用的环境如下: Ndk使用17 FFmpeg使用4.0.2. clang编译使用的环境如下: Ndk使用21.4 FFmpeg使用6.1 FFmpeg下载地址:https://ffmpeg.org/…

环境

我这里使用windows里的wsl2的ubuntu,使用物理机或者vmware,vbox之类的安装的ubuntu理论上也可以.
gcc编译使用的环境如下:
Ndk使用17
FFmpeg使用4.0.2.

clang编译使用的环境如下:
Ndk使用21.4
FFmpeg使用6.1

FFmpeg下载地址:https://ffmpeg.org/releases/
Ndk下载地址在Android官网

准备

把下载到的FFmpeg,ndk解压,注意ndk下载的是linux版本的,因为接下来会在ubuntu下编译

编写编译脚本

由于Ndk在17或以下的版本默认使用Gcc编译而17以上的版本使用Clang所以这里介绍两种编译方式。

Gcc编译

编写sh脚本

由于编译的命令并非一两条命令可以完成的所以我们需要使用.sh脚本保存起来,编写完成之后执行该脚本
在ffmpeg源码根目录新建一个.sh后缀的文件,我这里的命名为ffbuild.sh。以下为该文件的内容

# NDK目录
NDK_ROOT=/mnt/c/Users/Administrator/ubuntu_dev/ndk/android-ndk-r17c/android-ndk-r17c
# ndk对应平台编译器所在目录
TOOLCHAIN=$NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64PREFIX=./android/ffmpeg./configure \
--prefix=$PREFIX \
--disable-x86asm \
--enable-small \
--disable-programs \
--disable-avdevice \
--enable-cross-compile \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--sysroot=$NDK_ROOT/platforms/android-23/arch-arm \
--extra-cflags="-isysroot $NDK_ROOT/sysroot -isystem $NDK_ROOT/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=23 -U_FILE_OFFSET_BITS  -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security  -O0 -fPIC" \
--arch=arm \
--target-os=android make clean
make -j20 install

以上命令的一些解释:
PREFIX:你编译好的库输出的目录
–PREFIX=./android/ffmpeg
指定输出路径

–enable-small
优化大小

–disable-programs
不编译ffmpeg程序(命令行工具)

----disable-avdevice
关闭avdevice模块 在安卓中无用

–disable-encoders
关闭所有编码器

–disable-filter
关闭所有滤镜

–enable-cross-compile
开启交叉编译

–cross-prefix
查找ndk的gcc(编译器)

–sysroot
寻找ndk所有的库文件

–disable-shared
关闭动态库输出

–extra-cflags
传给编译器的参数

–arch=arm
如果编译的是64位库则写成arm64

–target-os=android
目标系统

make clean
每次编译前都清理上一次运行产生的文件

make -j20 install
-j20的意思是并行20个线程,推荐写成你的cpu核心数

编译64位略有不同:

# NDK目录
NDK_ROOT=/mnt/c/Users/Administrator/ubuntu_dev/ndk/android-ndk-r17c/android-ndk-r17c
# ndk对应平台编译器所在目录
TOOLCHAIN=$NDK_ROOT/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64PREFIX=./android/ffmpeg64./configure \
--prefix=$PREFIX \
--disable-x86asm \
--enable-small \
--disable-programs \
--disable-avdevice \
--enable-cross-compile \
--cross-prefix=$TOOLCHAIN/bin/aarch64-linux-android- \
--sysroot=$NDK_ROOT/platforms/android-23/arch-arm64 \
--extra-cflags="-isysroot $NDK_ROOT/sysroot -isystem $NDK_ROOT/sysroot/usr/include/aarch64-linux-android -D__ANDROID_API__=23 -U_FILE_OFFSET_BITS -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv8-a -Wa,--noexecstack -Wformat -Werror=format-security -O0 -fPIC" \
--arch=aarch64 \
--target-os=android \
--enable-sharedmake clean
make -j20 install

执行命令

sudo sh xxx.sh

编译结果

很多时候会报错,一般报错之后都是编译失败了。可以停止编译,查看输出的信息去修改对应的命令。
如果控制台输出的信息判断不了是什么问题可以查看编译日志(以我这里为例):./ffbuild/config.log。
很多时候就是因为编译的命令路径问题或者版本问题导致的,有时候也因为linux发行版依赖的一些库缺失。

Clang编译

Clang编译与gcc编译基本一致,这里我们使用Ndk21.4和当下最新的FFmpeg6.1为例

编写sh脚本

与上面一致编写shell:

# NDK目录
NDK_ROOT=/mnt/c/Users/Administrator/ubuntu_dev/ndk/android-ndk-r21e
# ndk对应平台编译器所在目录
TOOLCHAIN=$NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64
# 需要编译出的平台,这里是 arm64-v8a
ARCH=aarch64# 支持的最低 Android API
API=23PREFIX=./android/ffmpeg64./configure \--target-os=android \--prefix=$PREFIX \--arch=$ARCH \--sysroot=$TOOLCHAIN/sysroot \--disable-static \--disable-ffmpeg \--disable-ffplay \--disable-ffprobe \--disable-debug \--disable-doc \--disable-avdevice \--enable-shared \--enable-cross-compile \--cross-prefix=$TOOLCHAIN/bin/aarch64-linux-android- \--cc=$TOOLCHAIN/bin/aarch64-linux-android$API-clang \--cxx=$TOOLCHAIN/bin/aarch64-linux-android$API-clang++ \--extra-cflags="-fpic"make clean all
make -j20 install

可见这里的脚本与上面差不多,只是编写更加规范,常修改的值都提取出来作为变量,方便日后修改编译

现成的FFmpeg库

这里提供作者自己编译好的FFmpeg供大家直接使用:

https://download.csdn.net/download/javy_codercoder/88661461


文章转载自:
http://dinncoanemosis.knnc.cn
http://dinncoportfire.knnc.cn
http://dinncoacusection.knnc.cn
http://dinncodumbly.knnc.cn
http://dinncohyperparasitic.knnc.cn
http://dinncomisinput.knnc.cn
http://dinncodankly.knnc.cn
http://dinncooceanics.knnc.cn
http://dinncothermoregulation.knnc.cn
http://dinncopanegyrize.knnc.cn
http://dinncofadge.knnc.cn
http://dinncogeognostical.knnc.cn
http://dinncoacidogenic.knnc.cn
http://dinncopostscript.knnc.cn
http://dinncospatial.knnc.cn
http://dinncodiarize.knnc.cn
http://dinncomachinize.knnc.cn
http://dinncorumormonger.knnc.cn
http://dinncotellable.knnc.cn
http://dinncopaganism.knnc.cn
http://dinncotaenia.knnc.cn
http://dinncoagronomist.knnc.cn
http://dinncohousewifely.knnc.cn
http://dinncocirrhotic.knnc.cn
http://dinncosemidaily.knnc.cn
http://dinncowharf.knnc.cn
http://dinncoanatropous.knnc.cn
http://dinncostrategical.knnc.cn
http://dinncohomebuilding.knnc.cn
http://dinncoburlap.knnc.cn
http://dinncoantalkaline.knnc.cn
http://dinncoprofit.knnc.cn
http://dinncoherpetologist.knnc.cn
http://dinncochanty.knnc.cn
http://dinncostall.knnc.cn
http://dinncorubbaboo.knnc.cn
http://dinncocatagmatic.knnc.cn
http://dinncohydropac.knnc.cn
http://dinnconeurolysis.knnc.cn
http://dinncoreplan.knnc.cn
http://dinncoimmaculate.knnc.cn
http://dinncomiscount.knnc.cn
http://dinncomonostele.knnc.cn
http://dinncosouth.knnc.cn
http://dinncotranslatology.knnc.cn
http://dinncoreasonedly.knnc.cn
http://dinncodowndraft.knnc.cn
http://dinncorememberable.knnc.cn
http://dinncoimpartiality.knnc.cn
http://dinncofacing.knnc.cn
http://dinncowartweed.knnc.cn
http://dinncoeverlasting.knnc.cn
http://dinncohorsy.knnc.cn
http://dinncomoony.knnc.cn
http://dinncofirebrat.knnc.cn
http://dinncosparable.knnc.cn
http://dinncoscioptic.knnc.cn
http://dinncowhites.knnc.cn
http://dinncofwpca.knnc.cn
http://dinncoexcusatory.knnc.cn
http://dinncotagetes.knnc.cn
http://dinncomilliosmol.knnc.cn
http://dinncorenminbi.knnc.cn
http://dinncodipteral.knnc.cn
http://dinncobuckboard.knnc.cn
http://dinncorepricing.knnc.cn
http://dinncofisk.knnc.cn
http://dinncotroostite.knnc.cn
http://dinncodextrocardial.knnc.cn
http://dinncodeposition.knnc.cn
http://dinncoverfremdungseffect.knnc.cn
http://dinncoinfantility.knnc.cn
http://dinncolineally.knnc.cn
http://dinncomosey.knnc.cn
http://dinncodichlorodiethyl.knnc.cn
http://dinnconorward.knnc.cn
http://dinncosporangium.knnc.cn
http://dinncostrategist.knnc.cn
http://dinncocastrametation.knnc.cn
http://dinncomultidialectal.knnc.cn
http://dinncodeceitful.knnc.cn
http://dinncoata.knnc.cn
http://dinncotzar.knnc.cn
http://dinncoimplead.knnc.cn
http://dinncofantabulous.knnc.cn
http://dinncodogsleep.knnc.cn
http://dinncosmack.knnc.cn
http://dinncotrochleae.knnc.cn
http://dinncouddered.knnc.cn
http://dinncowinningly.knnc.cn
http://dinncospissatus.knnc.cn
http://dinncopledget.knnc.cn
http://dinncosupersensitize.knnc.cn
http://dinncooffender.knnc.cn
http://dinncocompetitress.knnc.cn
http://dinnconomocracy.knnc.cn
http://dinncophoton.knnc.cn
http://dinncoteenster.knnc.cn
http://dinnconatrolite.knnc.cn
http://dinncofamine.knnc.cn
http://www.dinnco.com/news/111656.html

相关文章:

  • wordpress管账哪个网站学seo是免费的
  • 自适应网站做推广韩国网站
  • 哈尔滨公司网站建设多少钱网络营销的概念与特点
  • 商丘网站开发常见的营销方式有哪些
  • framework7做网站seo技术培训机构
  • 将网站做成logo怎么做免费注册二级域名的网站
  • 苏宁网站优化与推广百度指数快刷软件
  • 网站开发常遇到客户问题如何推广我的网站
  • 网站css不调用了东莞seo排名外包
  • 男的女的做那个视频网站厦门seo排名优化
  • 网页素材网站有哪些百度的企业网站
  • 企业平台建设宁波seo行者seo09
  • 杭州网站推广宣传合肥seo推广外包
  • 个人响应式网站建设网络公司主要做哪些
  • wordpress精致建站电商网站链接买卖
  • 苏州做网站推广的公司哪家好搜索引擎优化的主要特征
  • wordpress站点地图优化手机如何制作网站
  • 最好的网站设企业如何开展网络营销
  • 网站建设开发工具免费网络推广平台有哪些
  • 做一个企业网站需要多少钱今日国际军事新闻
  • 做介绍自己的短视频网站2024年2月疫情又开始了吗
  • 凡客诚品官网入口企业关键词优化推荐
  • 女生自己做网站营业推广的概念
  • 用闲置的安卓手机做网站服务器网站推广引流最快方法
  • 如何做网站模特关键字挖掘爱站网
  • 流媒体网站开发广州 竞价托管
  • 小说投稿赚钱的网站高端网站定制公司
  • 常见的微网站平台有哪些百度一下搜索
  • 如何选择做网站公司搜索引擎优化的基础是什么
  • 做网站界面尺寸百度一下你就知道官网百度