Linux ffmpeg的安裝編譯過程

Linux ffmpeg的安裝編譯過程



  1、下載ffmpeg。

 ?  ? 在網上搜索一下,或者到官方網站下載

?

  2、解壓

  ?? tar命令解壓


  3、配置

  ./configure --enable-shared --prefix=/usr/local/ffmpeg

  其中:--enable-shared 是允許其編譯產生動態庫,在以后的編程中要用到這個幾個動態庫。--prefix設置的安裝目錄。

  4、編譯并安裝

  make
  make install

  5、安裝之后在/usr/local/ffmpeg會看到有三個目錄

  lib 動態鏈接庫位置
  include 編程要用到頭文件
  bin 執行文件所在的目錄

  6、為了以后方便編程,我們把lib中的三個鏈接庫libavcodec.so libavformat.so libavutil.so復制到/usr/lib下。把include目錄下的ffmpeg目錄復制到/usr/include下。

  執行bin目錄下的ffplay,可以去播放音頻或者視頻文件。例如播放1.mp3

  ./ffplay 1.mp3

  另外,bin目錄下還有兩個文件:ffmpeg和ffserver

  ffmpeg是一個很好的視頻和音頻的格式轉化工具。網上有很多它的說明文檔。如果不想生成ffserver,只要在./configure的時候加--disable-ffserver即可。

  7、編程

  如果寫了一個test.c文件,要包含ffmpeg的頭文件,可以這樣寫:

  #include

  編譯:gcc -o test test.c -lavformat -lavcodec -lavtuil (前提是有第6步的操作)

  如果沒有第6部的操作,則編譯的時候如下:

  gcc -o test test.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil

  編譯成功之后,執行的時候還是需要動態庫的支持,還是要把那三個動態庫文件復制到/usr/lib或者/lib中,不然執行的時候會說找不到動態庫鏈接。還有一個方法可以解決這個問題,就是把/usr/local/ffmpeg/lib這個目錄加入到/etc/ld.so.config中,然后執行ldconfig,或者重啟電腦,這樣執行的時候系統就可以從/usr/local/ffmpeg/lib這個目錄下去找這三個動態庫文件了。

  以上的方式是采用動態庫編譯ffmpeg的,如果在configure的時候不加上--enable-shared的,則采用靜態鏈接的方式,不會生成那三個動態庫。同時生成的ffplay、ffmpeg的執行文件也比較的大,因為他們不需要動態庫的支持,就可以執行。但是不利于再次開發,所以我采用動態鏈接的方式。configure中還有很多的選項,可以通過./configure --help查看,也可以直接查看configure文件。這在配置的時候很重要。


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

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

相關文章

opencv 模板匹配(cvMatchTemplate)

opencv 模板匹配(cvMatchTemplate) 模板匹配是通過在輸入圖像上滑動模板圖像塊對實際的圖像塊和輸入圖像進行匹配,并且可以利用函數cvMinMaxLoc()找到最佳匹配的位置。例如在工業應用中,可以鎖定圖像中零部件的位置,并根據具體的位置&…

爬蟲系統Lucene分詞

思路:查詢數據庫中信息,查詢出id和name把那么進行分詞存入文件 package com.open1111.index; import java.io.IOException;import java.nio.file.Paths;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet; impor…

[BZOJ1880] [Sdoi2009] Elaxia的路線 (SPFA 拓撲排序)

Description 最近,Elaxia和w**的關系特別好,他們很想整天在一起,但是大學的學習太緊張了,他們 必須合理地安排兩個人在一起的時間。Elaxia和w**每天都要奔波于宿舍和實驗室之間,他們 希望在節約時間的前提下&#xff0…

ffmpeg的編譯大全

ffmpeg的編譯大全 最近互聯網視頻共享的網站很火,公司也想搞類似的網站,初步是用fmsffmpeg形式 fms負責在線錄制,播放,ffmpeg則在后臺處理上傳的資源轉換成一定的格式。 為了讓ffmpeg支持的格式盡量多,所以特把我的編譯…

用OPENCV視覺解數獨

用OPENCV視覺解數獨 2010-06-29 看到增強視覺網站上介紹老外用視覺解SUDOKU(http://www.cvchina.info/2011/05/29/video-sudoku-solver/),覺得應該不難,于是用OPENCV和訓練好的數字分類器,也試著做一個,純屬娛樂 基本思路如下&…

集成ffmpeg/x264:ERROR: libx264 not found的問題

集成ffmpeg/x264:ERROR: libx264 not found的問題--拔劍集成ffmpeg/x264碰到如下問題: ERROR: libx264 not found察看config.log,詳細信息如下:check_lib x264.h x264_encoder_encode -lx264check_header x264.hcheck_cppBEGIN/tmp/ffconf.isuazGlg.c1 …

[ActionScript 3.0] AS3.0 下雨及漣漪效果

幀代碼: stage.frameRate 80;function init(x1:Number,y1:Number) {var mc:MovieClipnew MovieClip();addChild(mc);mc.x x1;mc.y y1;mc.graphics.lineStyle(0.5,0xbbffff,0.6);mc.graphics.drawEllipse(-1,-0.3,2,0.6);mc.addEventListener(Event.ENTER_FRAME,f…

JS Math.round()方法原理

請先測試代碼&#xff1a; 1 <!doctype html>2 <html lang"en">3 4 <head>5 <meta charset"UTF-8" />6 <title>Math.round方法</title>7 <style type"text/css">8 …

一個通用Makefile的編寫

我們在 LinuxLinux Linux是一套免費使用和自由傳播的操作系統&#xff0c;它主要用于基于Intel系列CPU的計算機上。這個系統是由全世界各地的成千上萬的程序員設計和實現的&#xff0c;其目的是建立不受任何商品化軟件的版權制約的、全世界都能自由使用的Unix兼容產品。 環境下…

Cache替換算法:LRU與LFU的區別

LFU&#xff08;Least Frequently Used&#xff09;最近最少使用算法。它是基于“如果一個數據在最近一段時間內使用次數很少&#xff0c;那么在將來一段時間內被使用的可能性也很小”的思路。LRU&#xff08;Least Recently Used&#xff09;. 注意LFU和LRU算法的不同之處&…

001-Ansible-參考http://www.ansible.com.cn/docs/playbooks_intro.html#about-playbooks

1. Patterns 在Ansible中,Patterns 是指我們怎樣確定由哪一臺主機來管理. 意思就是與哪臺主機進行交互. ansible <pattern_goes_here> -m <module_name> -a <arguments>ansible webservers -m service -a "namehttpd staterestarted"同時讓我們提前…

linux下通用Makefile寫法

linux編譯多個源文件的程序比較麻煩&#xff0c;這下就需要通用的Makefile了&#xff0c;編譯的時候執行一下make命令就OK&#xff0c;下面介紹通用makfile的寫法。 假設現在有以下源文件&#xff1a;file1.h file1.c file2.h file2.c mainproc.c&#xff0c;程序的主函數在mai…

客服彈出框

html代碼&#xff1a; <head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title>QQ在線客服jquery特效</title><link rel"stylesheet" type"text/css" href"common/css/lay…

第三次畢業設計任務書

一. 進度計劃 時間 計劃進度 3.24-3.30 嘗試將kdd數據預處理用代碼實現 3.31-4.6 將kdd數據預處理用代碼實現以及與aprior算法的結合 二. 課題需求 2.1 數據預處理的功能和主要方法 在現實中,由于數據的來源、組織、存儲等的多樣性,海量的原始數據中一般都很難避免“臟數據…

電商第一季函數筆記(1)

1、isset (PHP 4, PHP 5, PHP 7) isset — 檢測變量是否設置 說明 bool isset ( mixed $var [, mixed $... ] ) 檢測變量是否設置&#xff0c;并且不是 NULL。 如果已經使用 unset() 釋放了一個變量之后&#xff0c;它將不再是 isset()。若使用 isset() 測試一個被設置成 NULL …

壓縮xvid ffmpeg x264 對比

壓縮xvid ffmpeg x264 對比 Xvid是基于MPEG4協議的編解碼器&#xff0c;x264是基于H.264協議的編碼器&#xff0c;ffmpeg集合了各種音頻&#xff0c;視頻編解碼協議&#xff0c;通過設置參數可以完成基于MPEG4,H.264等協議的編解碼&#xff0c;現在將其對比結果羅列如下&#…

JMS-activMq與spring進行整合

對JMS做了一個簡要介紹之后&#xff0c;接下來就講一下Spring整合JMS的具體過程。JMS只是一個標準&#xff0c;真正在使用它的時候我們需要有它的具體實現&#xff0c;這里我們就使用Apache的activeMQ來作為它的實現。所使用的依賴利用Maven來進行管理&#xff0c;具體依賴如下…

微信消息

微信消息 轉載于:https://www.cnblogs.com/linewman/p/9918298.html

make: 警告:檢測到時鐘錯誤。您的創建可能是不完整的。

我在make的時候也出現了同樣的問題&#xff0c;不過不是什么大問題&#xff0c;這個不影響編譯結果分析原因可能是&#xff1a; 服務器上的文件最后修改時間比當前時鐘要晚解決辦法&#xff1a; 用touch 命令把源程序的時間戳改一下 find . -type f -exec touch {} \;或者touch…

FileReader/FileWriter復制文件

public class Test{ /*FileReader/FileWriter讀寫亂碼&#xff0c;待處理*/ public static void main(String[] args) throws IOException{ FileReader fileReader null; FileWriter fileWriter null; try{ fileReader new FileReader("c:/123/666.doc"); fileWri…