前言:
如今咱们对“ubuntu安装mercurial”大概比较注意,大家都想要剖析一些“ubuntu安装mercurial”的相关内容。那么小编在网络上收集了一些对于“ubuntu安装mercurial””的相关文章,希望看官们能喜欢,看官们一起来学习一下吧!下面的一切都是在 root 模式下进行的,可以不再 root 模式下进行
1. 安装linux的基础环境
基础环境就是编译代码的基础库,Ubuntu联网安装软件很简单,一个语句即可搞定,这里列出语句如下:
# apt-get -y install autoconf automake build-essential libtool libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev2. 安装依赖库
依赖库分两方面,参考以下网站列出的依赖库信息,本文选择的版本均参考于此网页: FFmpeg依赖库信息
2.1 FFmpeg推荐的依赖开发库(不需要独立安装)
# apt-get -y install libass-dev libfreetype6-dev libmp3lame-dev libtheora-dev libvorbis-dev libopus-dev libx264-dev yasm2.2 FFmpeg 桌面应用推荐的依赖开发库(不需要独立安装)
# apt-get -y install libva-dev libvdpau-dev libsdl2-dev2.3 需要独立安装的依赖开发库
首先创建 FFmpeg 代码目录,所有的源代码放在这个目录下
# mkdir ~/ffmpeg_sources2.3.1 安装 fdk-aac-0.1.5:
# cd ~/ffmpeg_sources# wget 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 distclean2.3.2 安装 libvpx-1.6.1:
# cd ~/ffmpeg_sources# wget 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 distclean2.3.3 安装 x265-2.4:
# cd ~/ffmpeg_sources# sudo apt-get install cmake mercurial# wget 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 clean2.3.4 安装 x264:
# cd ~/ffmpeg_sources# wget 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 distclean3. 编译FFmpeg
# cd ~/ffmpeg_sources# wget 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 配置编译后并不能进行调试,需要如下配置.
4. FFmpeg 代码 Debug
刚才的工程可以运行,但不能debug。解决此问题,首先认定一点,生成的可执行程序中,ffmpeg 不包含调试信息,调试信息在 ffmpeg_g 中,debug 要选择 ffmpeg_g。
另外,./config选项也是确定包含调试信息的核心,需要在config中添加:
-–enable-debug=3:开启debug调试-–disable-asm:禁用 asm 优化--disable-optimizations:禁用优化,以便调试时按函数顺序执行。–-disable-stripping:禁用剥离可执行程序和共享库,即调试时可以进入到某个函数进行单独调试。
采用以下命令重新config:
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总结:详细教程资料+课件 关注+后台私信;资料;两个字可以免费视频领取+文档+各大厂面试题 资料内容包括:C/C++,Linux,golang,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,嵌入式 等。
一些注意事项;在使用 ffplay 播放生成 h264 格式的视频时,播放速度会加快,解决方式:不要使用 FFmpeg 转码生成纯 h264 格式的视频,要使用一种容器包含 h264 视频,即生成一种音视频流格式,也就是不要生成纯粹的 h264 码流,而是生成诸如 mkv 等格式的文件。
标签: #ubuntu安装mercurial #ubuntulibva