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

三个字公司名字大全必过长春seo

三个字公司名字大全必过,长春seo,html网页制作个人简介,松江网站建设多少钱准备工作 环境准备 1.Windows安装Oracle VM VirtualBox 7.0.10,安装ubuntu-22.04.3。 坑一:无法往虚拟机里拖放复制文件,解决办法:登录Ubuntu虚拟机时切换到xorg方式登录,参考地址:Ubuntu Desktop 22.04…

准备工作

环境准备

1.Windows安装Oracle VM VirtualBox 7.0.10,安装ubuntu-22.04.3。

坑一:无法往虚拟机里拖放复制文件,解决办法:登录Ubuntu虚拟机时切换到xorg方式登录,参考地址:Ubuntu Desktop 22.04 无法实现拖放复制操作解决办法-CSDN博客

下载文件

下载ndk25

官网下载:ndk官网
网盘下载:android-ndk-r25c-linux.zip

注意,这是linux环境下的ndk。

下载FFmpeg 5.1.3

官网下载:FFmpeg官网
网盘下载:FFmpeg 5.1.3

解压文件

解压文件:


#解压ffmpeg-5.1.3.tar.xz 
tar -xf ffmpeg-5.1.3.tar.xz#解压android-ndk-r25c-linux.zip 
unzip android-ndk-r25c-linux.zip 

 ndk配置环境变量

配置环境变量命令:sudo gedit ~/.bashrc   注意:替换为你的ndk路径

export NDK_HOME=/你的ndk路径/android-ndk-r25c
export PATH=$NDK_HOME:$PATH  
输入命令 ndk-build查看配置环境变量成功没,只要没出command not found就证明环境变量配置成功,如果成功显示如下,

下载所需编译软件

首先更新包列表:

sudo apt update

然后下载需要的编译软件

sudo apt install autoconf \
automake \
build-essential \
cmake \
git-core \
libass-dev \
libfreetype6-dev \
libgnutls28-dev \
libmp3lame-dev \
libsdl2-dev \
libtool \
libva-dev \
libvdpau-dev \
libvorbis-dev \
libxcb1-dev \
libxcb-shm0-dev \
libxcb-xfixes0-dev \
meson \
ninja-build \
pkg-config \
texinfo \
wget \
yasm \
zlib1g-dev \
libunistring-dev \
libaom-dev \
libdav1d-dev \
pkg-config

配置root用户

注意:编译的时候用root用户,我用普通用户编译失败

普通用户登录成功后设置 root 用户的登录密码,然后 su 登录

$ sudo passwd root
[sudo] password for dummy:  			# 此处需输入普通用户的登录密码
New password:					# 此处输入 root 用户的登录密码(新设置密码)
Retype new password:				# 此处再次输入 root 用户的登录密码(确认与上面的密码输入一致)
passwd: password updated successfully
$ su
Password:					# 此处输入上面设置的 root 用户登录密码,回车即可登录至 root 用户
# exit						# 退出登录 root 用户,回到普通用户登录态

到这一步编译所需的准备工作就做完了,接下来终于可以开始编译了。

 编译FFmpeg

修改FFmpeg的configure文件,将文件中:

SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR)$(SLIBNAME)'

替换为:

SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'

 

在FFmpeg目录下新建build_android.sh,想了解详细配置参数请前往这里。

# touch 新建文件
[root@CentOS6 ffmpeg-5.1.3]# touch build_android.sh
# vim 编辑build_android.sh
[root@CentOS6 ffmpeg-5.1.3]# vim build_android.sh

写入脚本内容:

#!/bin/bash
#特别注意: 以下路径需要修改成自己Linux系统中的NDK目录!前面上传的ndk解压文件当中
TOOLCHAIN=/usr/local/src/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64
# 最低支持的android sdk版本
API=21
# --extra-cflags中添加'-DVK_ENABLE_BETA_EXTENSIONS=0', 防止引用vulkan_beta.h头文件
function build_android
{
echo "Compiling FFmpeg for $CPU"
./configure \--prefix=$PREFIX \--disable-neon \--disable-hwaccels \--disable-gpl \--disable-postproc \--enable-shared \--enable-jni \--disable-mediacodec \--enable-small \--enable-gpl \--disable-decoder=h264_mediacodec \--disable-static \--disable-doc \--disable-programs \--disable-ffmpeg \--disable-ffplay \--disable-ffprobe \--disable-avdevice \--disable-symver \--cross-prefix=$CROSS_PREFIX \--target-os=android \--arch=$ARCH \--cpu=$CPU \--cc=$CC \--cxx=$CXX \--enable-cross-compile \--sysroot=$SYSROOT \--extra-cflags="-DVK_ENABLE_BETA_EXTENSIONS=0 -mno-stackrealign -Os -fpic $OPTIMIZE_CFLAGS" \--extra-ldflags="$ADDI_LDFLAGS" \$ADDITIONAL_CONFIGURE_FLAG
make clean
make -j4
make install
echo "The Compilation of FFmpeg for $CPU is completed"
}#armv8-a
ARCH=arm64
CPU=armv8-a
# r21版本的ndk中所有的编译器都在/toolchains/llvm/prebuilt/darwin-x86_64/目录下(clang)
CC=$TOOLCHAIN/bin/aarch64-linux-android$API-clang
CXX=$TOOLCHAIN/bin/aarch64-linux-android$API-clang++
# NDK头文件环境
SYSROOT=$TOOLCHAIN/sysroot
CROSS_PREFIX=$TOOLCHAIN/bin/llvm-
# so输出路径
PREFIX=$(pwd)/android/$CPU
OPTIMIZE_CFLAGS="-march=$CPU"
build_android# 交叉编译工具目录,对应关系如下
# armv8a -> arm64 -> aarch64-linux-android-
# armv7a -> arm -> arm-linux-androideabi-
# x86 -> x86 -> i686-linux-android-
# x86_64 -> x86_64 -> x86_64-linux-android-# CPU架构
#armv7-a
ARCH=arm
CPU=armv7-a
CC=$TOOLCHAIN/bin/armv7a-linux-androideabi$API-clang
CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi$API-clang++
SYSROOT=$TOOLCHAIN/sysroot
CROSS_PREFIX=$TOOLCHAIN/bin/llvm-
PREFIX=$(pwd)/android/$CPU
OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU "
build_android# #x86
# ARCH=x86
# CPU=x86
# CC=$TOOLCHAIN/bin/i686-linux-android$API-clang
# CXX=$TOOLCHAIN/bin/i686-linux-android$API-clang++
# SYSROOT=$TOOLCHAIN/sysroot
# CROSS_PREFIX=$TOOLCHAIN/bin/i686-linux-android-
# PREFIX=$(pwd)/android/$CPU
# OPTIMIZE_CFLAGS="-march=i686 -mtune=intel -mssse3 -mfpmath=sse -m32"
# build_android# #x86_64
# ARCH=x86_64
# CPU=x86-64
# CC=$TOOLCHAIN/bin/x86_64-linux-android$API-clang
# CXX=$TOOLCHAIN/bin/x86_64-linux-android$API-clang++
# SYSROOT=$TOOLCHAIN/sysroot
# CROSS_PREFIX=$TOOLCHAIN/bin/x86_64-linux-android-
# PREFIX=$(pwd)/android/$CPU
# OPTIMIZE_CFLAGS="-march=$CPU -msse4.2 -mpopcnt -m64 -mtune=intel"
# 方法调用
# build_android

赋权限755

在FFmpeg目录下的ffbuild目录中,将图中sh文件权限改为755,否则编译过程中可能报错无权限执行该文件。build_android.sh文件也赋权一下。

chmod 755  build_android.sh
  • 执行脚本
./ build_android.sh

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 编译成功,可以看到已经生成了.so动态库文件。

坑二:最后强调:赋权限和执行build_android.sh  都使用root用户,我普通用户编了半天也不成功。

参考连接:

FFmpeg5.1.3编译动态库详细教程(基于Linux虚拟机)-CSDN博客

 【Android音视频开发】FFmpeg库编译详解(2022最新版)_android 编译ffmpeg_JesseAndroid的博客-CSDN博客

 【精选】ffmpeg编译参数详解_--disable-swscale-alpha-CSDN博客

http://www.hrbkazy.com/news/46171.html

相关文章:

  • 广州商城网站建设湖南网络推广排名
  • 做俄语网站建设重庆做seo外包的
  • wordpress成品网站yunbuluo百度关键词推广方案
  • 洛阳做网站公司电话今天最新的新闻头条新闻
  • 在线营销单页网站制作东莞产品网络推广
  • 什么网站可以做论坛app网站推广文章
  • 免费看电视的网站有哪些淘宝关键词排名优化
  • 建设网站英文在线服务器网站
  • .net购物网站开发网时代教育培训机构怎么样
  • 怎么做一元抽奖网站网站怎么做优化排名
  • 网站的设计方法有哪些内容网络营销的有哪些特点
  • 网站建设 python营销推广手段有什么
  • wordpress会员注册怎样更改宁波正规seo推广
  • 网站做中英文英文太长怎么办摘抄一篇新闻
  • 郑州富士康郑州众志seo
  • 建设网站的步骤seo网站seo内容优化
  • 做网站怎么找客户联系方式熊猫关键词工具官网
  • wap网站制作教程台湾搜索引擎
  • 建设部执业资格网站关键词怎么提取
  • 竞猜网站开发多少钱合肥网络seo
  • 提供网站建设方案服务宁波免费建站seo排名
  • 怎么做查询网站济南seo整站优化价格
  • 做搜狗手机网站优化快更先进的seo服务
  • wordpress一步步建企业网站域名注册平台
  • 建站模板网站设计网站如何提升seo排名
  • wordpress 微信支付插件下载seo优化思路
  • 网站建设需求书企业推广策略
  • 在越南做网站都是什么人老鬼seo
  • 智能网站建设制作流程优化
  • 互联网公司名称大全长春网站优化团队