海口智能建站价格,1688外贸网站,网站服务器拒绝连接,制做网站首先应该怎么做[一]ffmpeg音视频解码 一.编译ffmpeg1.安装vmware虚拟机2.vmware虚拟机安装linux操作系统3.安装ftp和fshell软件4.在Ubuntu#xff08;Linux#xff09;中编译Android平台的FFmpeg#xff08; arm和x86 #xff09;5.解压FFmpeg6.Android编译脚本#xff08;1#xff09;… [一]ffmpeg音视频解码 一.编译ffmpeg1.安装vmware虚拟机2.vmware虚拟机安装linux操作系统3.安装ftp和fshell软件4.在UbuntuLinux中编译Android平台的FFmpeg arm和x86 5.解压FFmpeg6.Android编译脚本1修改FFmpeg的configure文件 7.开始编译1执行configure文件生成makefile文件2执行android编译脚本 8.编译结果 二.封装格式和编码格式三.ffmppegopensl es音频播放器1.ffmpeg解码流程2.生产者消费者3.使用ffmpeg进行重采样4.使用opensl-es播放音乐 四.ffmppegopengl es 视频播放器1.ffmpeg解码视频2.软解码opengl es 渲染YUV数据3.硬解码使用MediaCodec直接解码AVpacet 用OpenGl sl渲染4.难点黑色闪屏5.音视频不同步 一.编译ffmpeg
1.安装vmware虚拟机
2.vmware虚拟机安装linux操作系统
3.安装ftp和fshell软件
4.在UbuntuLinux中编译Android平台的FFmpeg arm和x86
1下载FFmpeg源码v3.3.6 下载地址 http://www.ffmpeg.org/download.html#releases 2下载NDKr14b 下载地址 https://developer.android.google.cn/ndk/downloads/index.html 3编写Android编译脚本
5.解压FFmpeg
1用ftp上传到Ubuntu中 2解压Ffmpegtar -zxvf ffmpeg-3.3.6.tar.gz 3解压NDKunzip android-ndk-r14b-linux-x86_64.zip
6.Android编译脚本
1修改FFmpeg的configure文件
因为android只能加载*.so结尾的动态库不能识别如*.so.57结尾的
#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)2编写Android编译脚本
#!/bin/bash
export NDK_HOME/usr/work/ndk/android-ndk-r14b
export PLATFORM_VERSIONandroid-9
function build
{echo start build ffmpeg for $ARCH./configure --target-oslinux \--prefix$PREFIX --arch$ARCH \--disable-doc \--enable-shared \--disable-static \--disable-yasm \--disable-asm \--disable-symver \--enable-gpl \--disable-ffmpeg \--disable-ffplay \--disable-ffprobe \--disable-ffserver \--cross-prefix$CROSS_COMPILE \--enable-cross-compile \--sysroot$SYSROOT \--enable-small \--extra-cflags-Os -fpic $ADDI_CFLAGS \--extra-ldflags$ADDI_LDFLAGS \$ADDITIONAL_CONFIGURE_FLAGmake cleanmakemake installecho build ffmpeg for $ARCH finished
}#arm
ARCHarm
CPUarm
PREFIX$(pwd)/android/$ARCH
TOOLCHAIN$NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
CROSS_COMPILE$TOOLCHAIN/bin/arm-linux-androideabi-
ADDI_CFLAGS-marm
SYSROOT$NDK_HOME/platforms/$PLATFORM_VERSION/arch-$ARCH/
build#x86
ARCHx86
CPUx86
PREFIX$(pwd)/android/$ARCH
TOOLCHAIN$NDK_HOME/toolchains/x86-4.9/prebuilt/linux-x86_64
CROSS_COMPILE$TOOLCHAIN/bin/i686-linux-android-
ADDI_CFLAGS-marchi686 -mtuneintel -mssse3 -mfpmathsse -m32
SYSROOT$NDK_HOME/platforms/$PLATFORM_VERSION/arch-$ARCH/
build
7.开始编译
1执行configure文件生成makefile文件
chmod 777 configure(修改权限) ./configure(执行脚本)
2执行android编译脚本
chmod 777 build_android.sh(修改权限) ./build_android.sh(执行脚本)
8.编译结果 二.封装格式和编码格式 三.ffmppegopensl es音频播放器
1.ffmpeg解码流程
2.生产者消费者 3.使用ffmpeg进行重采样 4.使用opensl-es播放音乐
opensl-es嵌入式、跨平台、免费、音频处理库
四.ffmppegopengl es 视频播放器
1.ffmpeg解码视频 2.软解码opengl es 渲染YUV数据 3.硬解码使用MediaCodec直接解码AVpacet 用OpenGl sl渲染 4.难点黑色闪屏 5.音视频不同步