`
wang_let
  • 浏览: 31247 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Linux下编译FFMpeg

阅读更多
环境:RedHat AS4

1。首先获取ffmpeg

  通过svn下载:

  从 http://subversion.tigris.org下载SVN客户端程序。

  先装subversion,确保已经安装了apr和apr-util,在apache.org网站能下到

  wget http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz

  tar zvxf subversion-1.3.2.tar.gz
  cd subversion-1.3.2
  ./configure --with-apr=/usr/local/apr-httpd --with-apr- util=/usr/local/apr-util-httpd/
  make ; make install

  到此,我们就可以通过svn命令获取最新的ffmpeg了

  svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

  你会发现在你所在的目录,自动出现一个ffmpeg的目录,就是你下载的源代码。我们还 不能这么快编译ffmpeg,应该如果要让ffmpeg支持更多格式的转换,还需做一些前期工作

  2.支持mp3,linux当然是lame,下载解压

  cd lame-3.96.1
  ./configure --enable-shared --prefix=/usr
  make ; make install

  这里推荐尽量装在/usr下,默认是装在/usr/local下。这样ffmpeg编译都能顺利的找到库文件

  3.支持Ogg Vorbis:

  as4自带相应的rpm包,你可以安装一下如下rpm包

  libvorbis, libvorbis-devel,libogg, libogg-devel

  4.支持xvid x264,现在最流行的两种高质量的压缩格式

  xvid的编译安装

  wget http://downloads.xvid.org/downloads/xvidcore-1.1.0.tar.gz
  tar zvxf xvidcore-1.1.0.tar.gz
  ./configure --prefix=/usr
  make ; make install

  x264的获取同样是采用svn方式

  svn co svn://svn.videolan.org/x264/trunk x264
  cd x264
  ./configure --prefix=/usr --enable-shared
  make ; make install

  5.AC3和dts编码的支持

  as4系统似乎已经支持ac3编码,编译的时候只要加--enable-a52 --enable-gpl参数就行

  libdts编译参数

  ./configure --prefix=/usr
  make ; make install

  6.mpg4 aac格式支持,由于服务器还针对手机用户服务,所以,类似aac,mpg4铃声格式的支持,我们也得做。这里我们安装faad2和faac就行

  下载请到http://www.audiocoding.com/modules/mydownloads/

  FAAD2的编译

  cd faad2
  autoreconf -vif
  ./configure --prefix=/usr --with-mp4v2 --enable-shared
  make ; make install

  faac的编译

  cd faac
  chmod +x bootstrap
  ./bootstrap
  ./configure --prefix=/usr --with-mp4v2 --enable-shared
  make ; make install

  7.支持3gp格式,这也是现在好多手机支持的格式,因为手机用户是我们的主要用户,所以也得支持编译

  编译的时候加上--enable-amr_nb --enable-amr_wb参数就行,根据编译系统的提示,所以我们得下载一些编译3gp所需得文件。

  wget http://www.3gpp.org/ftp/Specs/ar ... 6.204/26204-510.zip

  解压以后把里面的文件都拷贝到libavcodec/amrwb_float

  wget http://www.3gpp.org/ftp/Specs/ar ... 6.104/26104-510.zip

  解压以后把里面的文件都拷贝到libavcodec/amr_float

  好了,基本ffmpeg支持的格式,我们基本都做好前期准备了,下面是ffmpeg的编译

  ./configure --prefix=/usr --enable-gpl --enable-shared --enable-mp3lame --enable-amr_nb --enable-amr_wb --enable-amr_if2 --enable-libogg --enable-vorbis --enable-xvid --enable-a52 --enable-a52bin --enable-faadbin --enable-dts --enable-pp --enable-faad --enable-faac --enable-x264 --enable-pthreads --disable-ffserver --disable-ffplay
make ; make install

  补充1:

  关于3gp的编译,如果大家要编译--enable-amr_nb-fixed,那就不能跟--enable-amr_nb同时编译,我不大清楚这两者到底有什么区别,似乎fixed是修正版,管他呢,编译的方法:

  wget http://www.3gpp.org/ftp/Specs/ar ... 6.073/26073-510.zip

  解压以后把里面的文件都拷贝到libavcodec/amr目录下

  修改libavcodec/amr/makefile 找到CFLAGS = -Wall -pedantic-errors -I. $(CFLAGS_$(MODE)) -D$(VAD) 换成CFLAGS = -Wall -I. $(CFLAGS_$(MODE)) -D$(VAD) -DMMS_IO

  整体编译参数就是
./configure --prefix=/usr --enable-gpl --enable-shared --enable-mp3lame --enable-amr_nb-fixed --enable-amr_wb --enable-amr_if2 --enable-libogg --enable-vorbis --enable-xvid --enable-a52 --enable-a52bin --enable-dts --enable-pp --enable-faad --enable-faadbin --enable-faac --enable-x264 --enable-pthreads --disable-ffserver --disable-ffplay
make
make install

  补充2:

  有朋友说在当在cpu是x86的情况下,不能编译过去,我这里没发生过这情况,如果你真编译不过去,可以试着加上cpu=cpu

  补充3:

  对于rm、wmv可以用wmplayer提供的Mencoder来处理.
分享到:
评论

相关推荐

    linux下编译ffmpeg

    FFMpeg 在 Linux 下的编译和使用 FFMpeg 是一个功能强大且广泛使用的开源多媒体处理框架,它可以对多种格式的音频和视频文件进行处理,包括编码、解码、转换、流媒体等。今天,我们将介绍如何在 Linux 操作系统下...

    Linux下编译ffmpeg的wasm库

    在Linux环境下编译FFmpeg的WebAssembly库是一个技术性较强的过程,主要涉及到FFmpeg的源码编译和WebAssembly的交叉编译。FFmpeg是一个强大的开源多媒体处理框架,广泛用于音视频的编码、解码、转码等任务。而...

    Winodws和linux下编译ffmpeg

    本文将详细介绍在Windows和Linux环境下如何编译FFmpeg,并加入x264解码库。 ## Windows下编译FFmpeg ### 前期准备 1. **安装MinGW**: FFmpeg需要一个C编译环境,Windows下可以选择MinGW,这是一个GNU Compiler ...

    在Linux下编译FFmpeg+android ndk成功的脚本及so库

    在Linux环境下编译FFmpeg并集成到Android项目中,通常会借助于Android NDK(Native Development Kit),这是一个让开发者用C/C++编写Android应用原生代码的工具集。 本文将详细介绍如何在Linux系统下使用NDK编译...

    ffmpeg-4.2.3编译后全量 for linux

    ffmpeg-4.2.3编译后全量产物 for linux for linux for linux for linux

    ffmpeg linux 编译资料

    LINUX下编译ffmpeg-x264 1.汇编编译器 tar xzvf yasm-1.2.0.tar.gz cd yasm-0.6.0 ./configure --prefix=/usr/local/yasm make make install 2.x264编译 tar jxfz last_x264.tar.bz2 ./configure --prefix=/usr/...

    linux下安装FFmpeg命令,亲测可用

    以下是对"linux下安装FFmpeg命令,亲测可用"这一主题的详细解释。 1. **FFmpeg简介** FFmpeg是跨平台的音频和视频处理工具,包含了一系列的命令行工具,如ffmpeg、ffplay、ffprobe等,用于编码、解码、转码、合并、...

    嵌入式海思板交叉编译ffmpeg libx264 和 libx265可以在板子上面跑起来详细步骤记录。

    在`build/arm-linux`目录下运行`./make-Makefiles.bash`,然后执行`make`和`make install`。注意,如果遇到类似`ratecontrol.cpp:56:28: error: unable to find string literal operator 'operator""opt' with '...

    arm-linux-gnueabihf交叉编译ffmpeg

    9. **部署与测试**:完成交叉编译后,将output目录下的内容复制到目标ARM设备,确保所有依赖库都已安装,然后可以运行bin目录中的可执行文件验证FFmpeg是否能正常工作。 通过以上步骤,你就能成功地在x86主机上交叉...

    windows下编译ffmpeg库

    在 Windows 下编译 FFmpeg 库是一项技术性较强的工作,通常需要安装 MinGW 或 MSYS2 环境来提供 GCC 编译器。本篇文章将详细介绍在 Windows 上编译 FFmpeg 库的过程。 1. **环境准备**: - 首先,你需要下载并安装...

    windows下编译ffmpeg

    2. **构建环境**:Windows下编译FFmpeg通常需要MinGW或MSYS2环境,它们提供了与Linux类似的命令行工具和GCC编译器。安装MinGW或MSYS2后,还需要通过包管理器(如pacman)安装mingw-w64-x86_64-toolchain等开发工具。...

    ffmpeg编译过程出错总结.zip_ffmpeg_ffmpeg 编译_ffmpeg编译总结

    在Linux环境下编译FFmpeg时,由于其复杂性和依赖众多,可能会遇到各种问题。这篇文档将详细介绍在Linux系统下编译FFmpeg时可能遇到的常见错误及其解决方案。 1. **依赖库缺失** 在编译FFmpeg前,必须确保系统已...

    linux ffmpeg 编译好的lib库和头文件,自己实用

    在Linux环境下,使用FFmpeg编译好的lib库和头文件,你可以实现以下功能: 1. **H264编码与解码**:H264是一种高效能的视频编码标准,广泛应用于高清视频传输和存储。通过FFmpeg的libavcodec库,你可以实现对H264...

    在ndk9环境下编译ffmpeg

    本教程将详细介绍如何在NDK9环境下编译FFmpeg,以生成适用于Android平台的动态库和静态库。 首先,你需要准备以下环境: 1. 安装Android NDK r9,这是Android原生开发工具包,提供了在本地编写C/C++代码并运行在...

    使用Cygwin编译ffmpeg.doc

    在Windows环境下编译FFmpeg,通常会选择使用Cygwin,因为Cygwin提供了一个类Linux的环境,使得可以在Windows上运行许多原本只适用于Linux的工具和软件,包括FFmpeg的编译工具链。以下是详细步骤: 1. **安装Cygwin*...

    成功交叉编译ffmpeg,sdl

    本话题主要探讨的是如何成功地交叉编译FFmpeg和SDL库,以便在S3c2440这样的ARM架构处理器上运行。FFmpeg是一个强大的开源多媒体处理工具集,包括音视频编码、解码、转换等功能,而SDL(Simple DirectMedia Layer)则...

    ubuntu 下 编译 ffmpeg for Android armv7-a armv8-a

    在编译FFmpeg时,NDK提供了必要的编译器、链接器和其他工具,以及Android系统的头文件和库,以便我们构建针对Android的二进制文件。 7. **构建步骤**: 编译FFmpeg通常涉及以下步骤: - 安装依赖项:包括NDK、Java ...

    编译ffmpeg(ffmpeg6.0+android-ndk-r25c)生成的动态链接库.so文件

    本文将详细讲解如何在Android平台上编译FFmpeg 6.0,并生成适用于不同架构的动态链接库.so文件,包括armeabi-v7a和arm64-v8a。 1. **FFmpeg 框架介绍** FFmpeg 包含了多种音视频编解码器、过滤器和协议,使得...

    (带一键安装脚本sh)Linux编译ffmpeg并转换MP3到AMR.zip

    在Linux环境中,FFmpeg的编译与安装通常是开发人员的常规工作之一,特别是对于需要自定义配置或者最新功能的应用场景。这个压缩包文件 "ffmpeg_by_lenovo_ccc" 提供了一个一键安装脚本 `sh` 文件,简化了在Linux系统...

Global site tag (gtag.js) - Google Analytics