标签:禁用 java版本 生成 .gz zlib google mp4 系统默认 环境变量
注:转自别人的,来源不知。
基础环境就是编译代码的基础库,Ubuntu联网安装软件很简单,一个语句即可搞定,这里列出语句如下:
# apt-get -y install autoconf automake build-essential libtool libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev
依赖库分两方面,参考以下网站列出的依赖库信息,本文选择的版本均参考于此网页: FFmpeg依赖库信息
# apt-get -y install libass-dev libfreetype6-dev libmp3lame-dev libtheora-dev libvorbis-dev libopus-dev libx264-dev yasm
# apt-get -y install libva-dev libvdpau-dev libsdl2-dev
首先创建 FFmpeg 代码目录,所有的源代码放在这个目录下
# mkdir ~/ffmpeg_sources
# cd ~/ffmpeg_sources
# wget http://downloads.sourceforge.net/opencore-amr/fdk-aac-0.1.5.tar.gz
# tar -zxvf fdk-aac-0.1.5.tar.gz && mv fdk-aac-0.1.5 fdk-aac
# cd fdk-aac
# ./configure --prefix="$HOME/ffmpeg_build" --disable-shared
# make
# make install
# make distclean
# cd ~/ffmpeg_sources
# wget http://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-1.6.1.tar.bz2
# tar -jxvf libvpx-1.6.1.tar.bz2 && mv libvpx-1.6.1 libvpx
# cd libvpx
# PATH="$HOME/bin:$PATH"
# ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests
# PATH="$HOME/bin:$PATH"
# make
# make install
# make distclean
# cd ~/ffmpeg_sources
# sudo apt-get install cmake mercurial
# wget https://bitbucket.org/multicoreware/x265/downloads/x265_2.4.tar.gz
# tar -zxvf x265_2.4.tar.gz && mv x265_2.4 x265
# cd x265/build/linux
# PATH="$HOME/bin:$PATH"
# cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
# make
# make install
# make clean
# cd ~/ffmpeg_sources
# wget https://download.videolan.org/x264/snapshots/x264-snapshot-20170822-2245-stable.tar.bz2
# tar -jxvf x264-snapshot-20170822-2245-stable.tar.bz2 && mv x264-snapshot-20170822-2245-stable x264
# ./configure --prefix="$HOME/ffmpeg_build" --enable-shared --enable-pic
# make
# make install
# make distclean
# cd ~/ffmpeg_sources
# wget http://ffmpeg.org/releases/ffmpeg-3.3.3.tar.xz
# tar -Jxvf ffmpeg-3.3.3.tar.xz && mv ffmpeg-3.3.3 ffmpeg
# cd ffmpeg
# PATH="$HOME/bin:$PATH"
# export PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
# ./configure --prefix="$HOME/ffmpeg_build" --pkg-config-flags="--static" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
# PATH="$HOME/bin:$PATH"
# make
# make install
# make distclean
# hash -r
FFmpeg 编译之后,即可使用。编译生成的可执行程序在 ~/bin 目录下
注:上面的 ./configure 配置编译后并不能进行调试,需要如下配置:
# PATH="$HOME/bin:$PATH"
# export PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
./configure --prefix="$HOME/ffmpeg_build" --pkg-config-flags="--static" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-debug --disable-asm --disable-stripping
虽然全程用 C++ 编译,但是安装 Eclipse 需要 JDK 环境,因此先安装 JDK。
getconf LONG_BIT
我的系统是32位系统,从jdk官网上下载32位的jdk包http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html),这里下载的是 jdk-8u144-linux-i586.tar.gz,解压:
# mkdir ~/Java
# tar -zxvf jdk-8u144-linux-i586.tar.gz -C ~/Java/
# sudo vim /etc/profile
在结尾写入代码(xxx为用户名,即为登录账户)
export JAVA_HOME=/home/rong/Java/jdk1.8.0_152
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
使环境变量生效
source /etc/profile
# sudo update-alternatives --config java
# sudo update-alternatives --config javac
# sudo update-alternatives --config javaws
# sudo update-alternatives --install /usr/bin/java java /home/rong/Java/jdk1.8.0_144/bin/java 2000
# sudo update-alternatives --install /usr/bin/javac javac /home/rong/Java/jdk1.8.0_144/bin/javac 2000
# sudo update-alternatives --install /usr/bin/javaws javaws /root/Java/jdk1.8.0_144/bin/javaws 2000
# java -version
从官网上下载 Exlipse,这里选择下载 linux 的 C/C++ 开发版:eclipse下载地址
# tar -zxvf eclipse-cpp-neon-3-linux-gtk-x86_64.tar.gz && mv eclipse ~/
Eclipse 解压之后可以直接使用
# cd ~/eclipse
# ./eclipse
另外需要注意的是我们在编译 C++ 的时候要注意配置编译器的路径和 C++ 运行库的路径,具体方法是打开 windows->preference->C/C++->Environment:
C_INCLUDE_PATH=/usr/include
C_PLUS_INCLUDE_PATH=/usr/include/c++/4.8.4
其中,/usr/include/c++/4.6.3为C++编译器的所在路径。
选择New-> Makefile project from existing code,在弹出对话框中,选择代码目录,设定工程名,选择Liuux GCC作为编译器,确定即可。
编译工程,在重新执行 config 命令后,即可右击工程名称,点击Build project,完成编译过程。
为程序添加参数:右击工程名称,Run As -> Debug Configerations 中选择 Arguments 选项卡,选择ffmpeg,在其中添加 -i 01.mp4 01.mkv,可以实现格式转换。
将01.MP4文件拷贝到到目前为止,程序可以通过Eclipse运行。
刚才的工程可以运行,但不能debug。解决此问题,首先认定一点,生成的可执行程序中,ffmpeg 不包含调试信息,调试信息在 ffmpeg_g 中,debug 要选择 ffmpeg_g。
另外,./config选项也是确定包含调试信息的核心,根据网上的信息,主要注意一下几点。需要在config中添加:
采用以下命令重新config
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --pkg-config-flags="--static" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-debug=3 --disable-asm --disable-stripping
--enable-version3 --disable-optimizations --disable-asm --enable-shared --enable-pic
PATH="/home/rong/bin:$PATH" PKG_CONFIG_PATH="/home/rong/ffmpeg_build/lib/pkgconfig" ./configure --prefix="/home/rong/ffmpeg_build" --pkg-config-flags="--static" --extra-cflags="-I/home/rong/ffmpeg_build/include" --extra-ldflags="-L/home/rong/ffmpeg_build/lib" --bindir="/home/rong/bin" --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-pthreads --enable-debug=3 --disable-optimizations --disable-asm --disable-stripping
右击工程名称,点击Build project,完成编译过程。为程序添加参数:右击工程名称,Debug As -> Debug Configerations中选择Arguments选项卡,选择ffmpeg_g,在其中添加-i 01.mp4 01.mkv,可以实现Debug。
我们想要的源代码呢?其实做一个简单的操作就可以:单击右上角Debug前面的按钮并选择C/C++,就能看到C代码了。调试过程中所用到的四个控制按键:
标签:禁用 java版本 生成 .gz zlib google mp4 系统默认 环境变量
原文地址:https://www.cnblogs.com/jimodetiantang/p/9160183.html