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來處理.

?

原文地址 http://www.5dlinux.com/article/4/2007/linux_1373.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455486.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455486.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455486.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

論文筆記 Aggregated Residual Transformations for Deep Neural Networks

這篇文章構建了一個基本“Block”,并在此“Block”基礎上引入了一個新的維度“cardinality”(字母“C”在圖、表中表示這一維度)。深度網絡的另外兩個維度分別為depth(層數)、width(width指一個層的channel的數目)。 首…

matlab 歸一化_機器學習中如何用Fscore進行特征選擇(附Matlab代碼)

作者:kervin編輯:阿吉 目前,機器學習在腦科學領域的應用可謂廣泛而深入,不論你是做EEG/ERP研究,還是做MRI研究,都會看到機器學習的身影。機器學習最簡單或者最常用的一個應用方向是分類,…

Java筆記05-Collection、泛型、迭代器

Java筆記05-Collection、泛型、迭代器 【Collection、泛型】 主要內容 Collection集合迭代器增強for泛型 第一章 Collection集合 1.1 集合概述 在前面基礎班我們已經學習過并使用過集合ArrayList ,那么集合到底是什么呢? 集合:集合是java中提供的一種容器&a…

IOS安裝CocoaPods完整流程

作為一個底層系統大菜鳥,又搞過幾年ios來說,安裝一個CocoaPods是一件蛋痛的事~ 說懂又懂,說不懂又不懂. 由于安裝過程比較復雜,步驟較多,而網上教程又比較零散,并且有一些是扯蛋的,所以本篇文章主要從頭到位依據自身安裝經歷記錄每一條終端指令,至于里面的原理和一些概念性的東…

重裝TCP/IP

在Windows XP的網絡組件列表里,Internet 協議 (TCP/IP)的"卸載"按鈕是灰色不可選狀態。這是因為傳輸控制協議/Internet 協議 (TCP/IP) 堆棧是 Microsoft XP/ 2003 的核心組件(TCP/IP協議是Windows XP的默認協議),不能刪除。所以Windows XP不允許卸載TCP/I…

linux 修改時區_教你在Centos8中更改時區

對于許多與系統相關的任務和進程,使用正確的時區是必不可少的。例如,cron守護進程使用系統的時區執行cron作業,日志文件中的時間戳基于同一系統的時區。環 境CentOS 8檢查現在的時區timedatectl是一個命令行實用程序,允許您查看和…

UVA12511 - Virus(DP+最長公共上升子序列)

題目鏈接: https://vjudge.net/problem/UVA-12511 題目大意: 給定兩個序列,求出兩個序列的最長公共上升子序列(嚴格上升)。 解題過程: 比賽的時候沒有做出來,非常咸魚的一場比賽,當時…

Java筆記06-Map集合

Map集合 學習目標 能夠說出Map集合特點使用Map集合添加方法保存數據使用”鍵找值”的方式遍歷Map集合使用”鍵值對”的方式遍歷Map集合能夠使用HashMap存儲自定義鍵值對的數據能夠使用HashMap編寫斗地主洗牌發牌案例 Map集合概述 啥也不用說,Map集合就相當于python中的字典…

理解什么是前后端分離

HTML、CSS、JS。 AJAX或Fetch。 學習一個前端的框架, React或者Vue或者Angularjs2都可以。 學會一個前端的路由框架, 如React-Router或者Vue-Router。 在學會3的基礎上你肯定已經搭建好前端的開發環境了,所有和后端的交互走AJAX或者Fetch…

幀間、幀內像素塊預測

一、像素塊預測 H.264/ AVC標準中的基本預測技術是基于塊,而不是基于對象的。它的編碼器是利用混合的編碼方案來提高編碼效率,這些方案包括高級的預測技術和有效熵編碼技術。在運動預測中它使用不同的塊的大小進行預測,以樹結構的方式來組織…

高性能mysql 第10章 復制

復制功能不僅能夠構建高可用的應用,同時也是高可用性,可擴展性,災難恢復,備份以及數據倉庫等工作的基礎。 mysql支持兩種復制方式:基于語句的復制和基于行的復制。基于語句的復制(也成為邏輯復制&#xff0…

vb6在后臺將窗體保存到圖片_如何將寺庫網多個商品圖片一鍵分類保存到一個目錄...

寺庫網是全球最大的奢侈品網上在線購物平臺,那么我們怎樣可以從寺庫網上一鍵批量采集到多個寶貝商品圖片,并分類保存到電腦呢?今天小編給大家帶來一款專業電商圖片鏈接采集軟件【載圖助手】,它支持平臺高達141個,均可支…

Java筆記07-List、Set、數據結構、Collections

Java筆記07-List、Set、數據結構、Collections 主要內容 數據結構List集合Set集合Collections 第一章 數據結構 2.1 數據結構有什么用? 當你用著java里面的容器類很爽的時候,你有沒有想過,怎么ArrayList就像一個無限擴充的數組&#xff…

Apache安裝問題:configure: error: APR not found . Please read the documentation

參考:http://cuisuqiang.iteye.com/blog/2068794 http://www.cnblogs.com/Anker/p/3355573.html pcre: https://ftp.pcre.org/pub/pcre/ http://www.linuxidc.com/Linux/2012-06/62289.htm 1. 不贊成去卸載httpd的東西。 2. server上可以存在多個apache。一個是rpm&…

浮動與定位

2019獨角獸企業重金招聘Python工程師標準>>> 一.浮動:float:一個元素浮動時,其他內容會"環繞"該元素. 浮動元素的外邊距不會合并浮動的元素不能超出其包含快的內邊界浮動元素彼此會避免重疊浮動元素的頂端不能比之前所有浮動元素或塊級元素的頂端更高如果…

驅動級的自動按鍵_Aqara全自動智能推拉鎖D100,體驗全自動開門的便捷

大家好,我是夢想是個豬,今天為大家帶來的是一篇智能門鎖的使用體驗。前言家里的這張門陸陸續續的換了好幾把智能門鎖了,也體驗了好幾種不同的開鎖方式。最開始開發商給安裝的是一把指紋和把手分離的那種款式,開鎖的時候需要先輸入…

碼率問題

幀率影響的是每幀的額定比特數 我說的幀率是編碼幀率,不是采集幀率。對于一個采集后的序列,MAD 只跟參考幀有關。而編碼幀率與參考幀無關,因此編碼幀率不影響 MAD。 ———————————————————————————————————…

Java筆記08-Map詳解

第一章 Map集合 1.1 概述 現實生活中,我們常會看到這樣的一種集合:IP地址與主機名,身份證號與個人,系統用戶名與系統用戶對象等,這種一一對應的關系,就叫做映射。Java提供了專門的集合類用來存放這種對象…

Node.js的helloworld 程序

用文本編輯器,如npp,鍵入例如以下代碼,存儲成hello.js console.log(hello) console.log(hello %s->%d,jeapedu, 1941847311) cmd進入dos。切入hello.js所在文件夾。運行node.js程序 node hello.js執行結果例如以下所看到的: C:\nodeS>n…

深度學習綜述

摘要: 深度學習可以完成需要高度抽象特征的人工智能任務,如語音識別、圖像識別和檢索、自然語言理解等。深層模型是包含多個隱藏層的人工神經網絡,多層非線性結構使其具備強大的特征表達能力和對復雜任務建模能力。訓練深層模型是長期以來的難…