win7下安装VM虚拟机,VM中安装Linux系统,Linux系统编译FFmpeg
2018-01-12 17:26
579 查看
Windows下安装VM和Linux,请见http://blog.csdn.net/shareus/article/details/78043212
Window下使用虚拟机Ubuntu编译Ffmpeg(编译的只有arm平台下的)- http://blog.csdn.net/u012808234/article/details/52066079
Linux 编译Android平台FFMPEG- http://blog.csdn.net/itheimach/article/details/53868575
使用NDK编译FFmpeg到Android下使用- https://www.jianshu.com/p/228f38e9aa9c
Linux执行.sh文件,提示No such file or directory的问题的解决方法- http://blog.csdn.net/huangjin0507/article/details/45044115
ffmpeg编译的android可用的so文件,多个版本- http://download.csdn.net/download/cdsun/9410696
ffmpeg编译android的so库- http://blog.csdn.net/u013654125/article/details/73527778
完成FFmepg的移植,编译ffmpeg4Android- http://blog.csdn.net/quan648997767/article/details/70172166
FFmpeg-3.3.1移植到Android平台- https://www.jianshu.com/p/b53369d6905f
------------
FFmpeg第一篇之Android平台上的so编译- http://blog.csdn.net/Yu_aishui/article/details/51121100
Window 平台 FFmpeg Android .so文件编译- http://blog.csdn.net/t1_one/article/details/51684343
FFmpeg4Android- https://github.com/mabeijianxi/FFmpeg4Android
Ubuntu14.04编译Android FFmpeg详细教程- http://blog.csdn.net/poison_h/article/details/51146754
> 源码FFmpeg 3.4.1 https://ffmpeg.org/download.html
libavutil 55. 78.100
libavcodec 57.107.100
libavformat 57. 83.100
libavdevice 57. 10.100
libavfilter 6.107.100
libavresample 3. 7. 0
libswscale 4. 8.100
libswresample 2. 9.100
libpostproc 54. 7.100
压缩tar zip文件:
tar czvf ffmpeg_3.4.1.tar ffmpeg
zip -r ffmpeg_3.4.1.zip ./ffmpeg
1.安装yasm
sudo apt-get install yasm
sudo apt-get install git
2.下载FFmpeg
git clone https://git.ffmpeg.org/ffmpeg.git
3.配置NDK环境
解压tar包:tar -xzvf **.tar.gz
解压zip包:unzip *.zip
/home/desaco/Desktop/source_compile/envir_jdk_ndk_sdk/android-ndk-r13
/home/desaco/Desktop/source_compile/envir_jdk_ndk_sdk/android-sdk-linux
/home/desaco/Desktop/source_compile/envir_jdk_ndk_sdk/jdk1.8.0_144
vim ~/.bashrc(sudo gedit /.bashrc)
export NDK="/home/desaco/Desktop/source_compile/envir_jdk_ndk_sdk/android-ndk-r13"
export PATH=$NDK:$PATH
source ~/.bashrc
4.新建build_shell.sh文件,并写入脚本内容
touch build_shell.sh
sudo gedit /build_shell.sh(将脚本写入build_shell.sh文件中,直接打开时没有内容的)
重新打开需要命令sudo gedit /build_shell.sh,才能看到文件里有内容
#!/bin/bash
make clean
export NDK=/home/desaco/Desktop/source_compile/envir_jdk_ndk_sdk/android-ndk-r13
export SYSROOT=$NDK/platforms/android-9/arch-arm/
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
export CPU=arm
export PREFIX=$(pwd)/android/$CPU
export ADDI_CFLAGS="-marm"
./configure --target-os=linux \
--prefix=$PREFIX --arch=arm \
--disable-doc \
--enable-shared \
--disable-static \
--disable-yasm \
--disable-symver \
--enable-gpl \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-doc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
5.修改FFmpeg执行权限和ndk执行权限
shell脚本执行,会关联许多文件,需要文件有可以执行的权限:
chmod 777 -R ffmpeg;
chmod 777 -R ndk
6.修改配置文件,FFmpeg根目录下的configure文件 sudo gedit /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)'
将以上几行注释,修改成下面几行->
#jmodified
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'
7.执行shell脚本
chmod 777 build_shell.sh
./build_shell.sh
----------------
Linux编译还是不行,改了格式还是不行?
ffmpeg build_ff_android.sh编译出现No such file or directory错误:原因:在windows中写好shell脚本测试正常,但是上传到 Linux 上以脚本方式运行命令时提示No such file or directory错误,那么一般是文件格式是dos格式的缘故,改成unix 格式即可。
【解决办法一】:
重新设置下文件格式(在命令模式下):sudo vim build_ff_android.sh
:set ff=unix
保存退出:
:wq
再执行,就可以了。
【解决方法二】
如果linux系统已安装了dos2unix服务,可以直接执行:
dos2unix {filename}
apt install dos2nuix
dos2unix build_ff_android.sh
这样就将dos格式的文件转换为linux平台下的文件。
sudo apt-get install tofrodos
实际上它安装了两个工具:todos(相当于unix2dos),和fromdos(相当于dos2unix)。
dos2unix build_ff_android.sh
sudo chmod +x build_ff_android.sh
./build_ff_android.sh
----------------
Window下使用虚拟机Ubuntu编译Ffmpeg(编译的只有arm平台下的)- http://blog.csdn.net/u012808234/article/details/52066079
Linux 编译Android平台FFMPEG- http://blog.csdn.net/itheimach/article/details/53868575
使用NDK编译FFmpeg到Android下使用- https://www.jianshu.com/p/228f38e9aa9c
Linux执行.sh文件,提示No such file or directory的问题的解决方法- http://blog.csdn.net/huangjin0507/article/details/45044115
ffmpeg编译的android可用的so文件,多个版本- http://download.csdn.net/download/cdsun/9410696
ffmpeg编译android的so库- http://blog.csdn.net/u013654125/article/details/73527778
完成FFmepg的移植,编译ffmpeg4Android- http://blog.csdn.net/quan648997767/article/details/70172166
FFmpeg-3.3.1移植到Android平台- https://www.jianshu.com/p/b53369d6905f
------------
FFmpeg第一篇之Android平台上的so编译- http://blog.csdn.net/Yu_aishui/article/details/51121100
Window 平台 FFmpeg Android .so文件编译- http://blog.csdn.net/t1_one/article/details/51684343
FFmpeg4Android- https://github.com/mabeijianxi/FFmpeg4Android
Ubuntu14.04编译Android FFmpeg详细教程- http://blog.csdn.net/poison_h/article/details/51146754
> 源码FFmpeg 3.4.1 https://ffmpeg.org/download.html
libavutil 55. 78.100
libavcodec 57.107.100
libavformat 57. 83.100
libavdevice 57. 10.100
libavfilter 6.107.100
libavresample 3. 7. 0
libswscale 4. 8.100
libswresample 2. 9.100
libpostproc 54. 7.100
压缩tar zip文件:
tar czvf ffmpeg_3.4.1.tar ffmpeg
zip -r ffmpeg_3.4.1.zip ./ffmpeg
1.安装yasm
sudo apt-get install yasm
sudo apt-get install git
2.下载FFmpeg
git clone https://git.ffmpeg.org/ffmpeg.git
3.配置NDK环境
解压tar包:tar -xzvf **.tar.gz
解压zip包:unzip *.zip
/home/desaco/Desktop/source_compile/envir_jdk_ndk_sdk/android-ndk-r13
/home/desaco/Desktop/source_compile/envir_jdk_ndk_sdk/android-sdk-linux
/home/desaco/Desktop/source_compile/envir_jdk_ndk_sdk/jdk1.8.0_144
vim ~/.bashrc(sudo gedit /.bashrc)
export NDK="/home/desaco/Desktop/source_compile/envir_jdk_ndk_sdk/android-ndk-r13"
export PATH=$NDK:$PATH
source ~/.bashrc
4.新建build_shell.sh文件,并写入脚本内容
touch build_shell.sh
sudo gedit /build_shell.sh(将脚本写入build_shell.sh文件中,直接打开时没有内容的)
重新打开需要命令sudo gedit /build_shell.sh,才能看到文件里有内容
#!/bin/bash
make clean
export NDK=/home/desaco/Desktop/source_compile/envir_jdk_ndk_sdk/android-ndk-r13
export SYSROOT=$NDK/platforms/android-9/arch-arm/
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
export CPU=arm
export PREFIX=$(pwd)/android/$CPU
export ADDI_CFLAGS="-marm"
./configure --target-os=linux \
--prefix=$PREFIX --arch=arm \
--disable-doc \
--enable-shared \
--disable-static \
--disable-yasm \
--disable-symver \
--enable-gpl \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-doc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
5.修改FFmpeg执行权限和ndk执行权限
shell脚本执行,会关联许多文件,需要文件有可以执行的权限:
chmod 777 -R ffmpeg;
chmod 777 -R ndk
6.修改配置文件,FFmpeg根目录下的configure文件 sudo gedit /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)'
将以上几行注释,修改成下面几行->
#jmodified
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'
7.执行shell脚本
chmod 777 build_shell.sh
./build_shell.sh
----------------
Linux编译还是不行,改了格式还是不行?
ffmpeg build_ff_android.sh编译出现No such file or directory错误:原因:在windows中写好shell脚本测试正常,但是上传到 Linux 上以脚本方式运行命令时提示No such file or directory错误,那么一般是文件格式是dos格式的缘故,改成unix 格式即可。
【解决办法一】:
重新设置下文件格式(在命令模式下):sudo vim build_ff_android.sh
:set ff=unix
保存退出:
:wq
再执行,就可以了。
【解决方法二】
如果linux系统已安装了dos2unix服务,可以直接执行:
dos2unix {filename}
apt install dos2nuix
dos2unix build_ff_android.sh
这样就将dos格式的文件转换为linux平台下的文件。
sudo apt-get install tofrodos
实际上它安装了两个工具:todos(相当于unix2dos),和fromdos(相当于dos2unix)。
dos2unix build_ff_android.sh
sudo chmod +x build_ff_android.sh
./build_ff_android.sh
----------------
相关文章推荐
- win7下安装VM虚拟机,VM中安装Linux系统,Linux系统编译Android ijkplayer so
- win7-X64下用VM安装linux系统CentOS
- 在Linux系统上安装Java反编译工具的方法
- vm虚拟机安装系统后出现operating system not found解决办法(VM装ghost 不能进系统的解决方法)
- 如何编译和安装Xenomai-forge到Linux系统(Fedora 14)
- WIN7操作系统安装linux形成双系统详解
- Linux ffmpeg的安装编译过程
- Linux ffmpeg的安装编译过程
- Linux系统服务器搭建之编译安装squid
- vm 安装 linux 出现错误- 未找到要在其中创建新文件系统的有效设备
- Linux 文件系统 用户安装程序 编译程序
- ffmpeg-0.6 linux下编译安装
- 在VM上学习嵌入式Linux系统的构建之一--编译内核
- Ubuntu 12.04系统天嵌Linux交叉编译开发工具的安装
- wdOS系统下源码编译安装LNAMP(linux+nginx+apache+mysql+php)
- 如何用新安装的JDK替换掉Linux系统自带的gij编译工具
- 图解:如何在VM中安装Linux系统。
- 拥抱linux--fedora在win7下的双系统安装
- 在WdOS系统下源代码编译安装LNMP环境(Linux+Ngnix+Mysql+Php)
- 先安装win7再安装linux相关系统如 fedora 14 ubuntu 等 如何修改开机系统启动顺序