[FFMPEG]如何編譯出ffplay以及與ffplay_g的區別
如何編譯出ffplay
首先,在使用命令列編譯ffmpeg的過程中,如果直接編譯可能不會出現ffplay,可能只有ffmpeg和ffprobe。(mac下brew install ffmpeg 也是沒有ffplay的)為了編譯出ffplay,必須要安裝libsdl。
具體安裝過程
- 首先,我們先要去libsdl 的網址進行下載,不過我比較建議直接下載tar.gz,而不是下載dmg檔案。
- 緊接著需要進行解壓,然後按照資料夾中的指示,./configure make make install,等libsdl安裝好之後,進入下一步。
最後,在終端進入ffmpeg所在的資料夾,輸入以下內容即可。
./configure –enable-sdl
經過編譯後,我們就可以看到出現了ffplay。
ffplay與ffplay_g的區別
編譯之後我們可以發現,資料夾中同時出現了ffplay與ffplay_g(還有ffmpeg與ffmpeg_g)。這個多出來的g是做什麼的呢?實際上,ffplay_g是含有除錯資訊的可執行檔案,當我們想要除錯時(比如新建一個工程對原始碼進行除錯)會需要到它,而一般來說在實際使用的時候,我們會使用ffplay,它是ffplay_g經過strip之後得到的檔案,這就是他們的區別。
相關推薦
[FFMPEG]如何編譯出ffplay以及與ffplay_g的區別
如何編譯出ffplay 首先,在使用命令列編譯ffmpeg的過程中,如果直接編譯可能不會出現ffplay,可能只有ffmpeg和ffprobe。(mac下brew install ffmpeg 也是沒有ffplay的)為了編譯出ffplay,必須要安裝libsdl。 具體安裝過程
HashMap底層原理以及與ConCurrentHashMap區別
clas put level shm segment 區別 一個 bucket link HashMap基於hashing原理,我們通過put()和get()方法儲存和獲取對象。當我們將鍵值對傳遞給put()方法時,它調用鍵對象的hashCode()方法來計算hashc
Mybatis整理系列(01)————傳入參數方式以及#{}與${}的區別
Java實體類 erb code {} param mean ctu obj result 一、在MyBatis的select、insert、update、delete這些元素中都提到了parameterType這個屬性。MyBatis現在可以使用的parameterTyp
解決linux(ubuntu12.04) ffmpeg編譯後ffplay沒有生成的問題
從官網下載最新版SDL2-2.0.5.tar.gz的原始碼,解壓後cd進目錄,依次執行: ./autogen ./configure make sudu make install 一切順利的話SDL2.0就安裝編譯好了。 庫檔案在 /usr/local/lib
makefile中for的用法以及$與$$的區別
$$表示$,用來shell下引用變數,而$A或者$(A)則是Makefile的變數。 下面舉例說明: rule_1: for i in 1 2 3 4 5; do echo $(i); done 上面的程式碼不會連續列印 1 2 3 4 5 但下面的程式碼會:
Oracle的left join中on和where的區別以及與(+)的區別
資料庫在通過連線兩張或多張表來返回記錄時,都會生成一張中間的臨時表,然後再將這張臨時表返回給使用者。 在使用left jion時,on和where條件的區別如下: 1、 on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。 2、where條件是在臨時表生成好後
NSSet型別 以及與NSArray區別
NSSet到底什麼型別,其實它和NSArray功能性質一樣,用於儲存物件,屬於集合; NSSet , NSMutableSet類宣告程式設計介面物件,無序的集合,在記憶體中儲存方式是不連續的,不像NSArray(是有序的集合)類宣告程式設計介面物件是有序集合,在記憶體中儲
MyBatis面試題,'#{}與${}的區別'以及'sql預編譯'
這個問題不算複雜,網上答案也比較”豐富”, 之所以寫這篇博文主要是以後查閱方便,自己總結也能加深印象, 畢竟它是面試題中的老相識,以後還要麻煩它關照關照… MyBatis本身是基於JDBC封
動態規劃(dynamic programming)(二、最優子問題與重疊子問題,以及與貪心的區別)
貪心策略 找到 算法 找問題 貪心 模式 解決 策略 最優 一、動態規劃基礎 雖然我們在(一)中討論過動態規劃的裝配線問題,但是究竟什麽時候使用動態規劃?那麽我們就要清楚動態規劃方法的最優化問題中的兩個要素:最優子結構和重疊子問題。 1、最優子結構 1)如果
slf4j的簡單用法以及與log4j的區別
target 表示 import 再看 配置 slf4 需要 很大的 col 之前在項目中用的日誌記錄器都是log4j的日誌記錄器,可是到了新公司發現都是slf4j,於是想著研究一下slf4j的用法。 1 基本介紹 SLF4J不同於其他日誌類庫,與其它日誌類庫有很大
Java string.valueof的用法以及與parseint的區別
har () 區別 sta data 變量 包裝類 pan ole 一、由基本數據型態轉換成String String 類別中已經提供了將基本數據型態轉換成 String 的 static 方法 ,也就是 String.valueOf() 這個參數多載的方法 有以下幾
ObjectInputStream與ObjectOutputStream使用以及與DataInputStream,DataOutput區別
ObjectInputStream與ObjectOutputStream使用以及與DataInputStream,DataOutput區別 結論 1.Object相當於裝IO流的一個盒子,我們可以把物件比作一個個拼好的積木,IO流就是拼積木的積木塊,那麼如果要搬走積木(物件),肯定需
Java StringBuilder詳解以及與String、StringBuffer區別
StringBuilder 就像我們在Java入門教材中寫的,在介紹String的時候寫的是“字串常量”,String實際上就是一個不可變的物件。每次使用String實際上是建立了一個不可變的物件,而改變這個String的值實際上是對這
git 團隊合作的使用方法以及與傳統SVN的區別:
我們先來聊一聊git和svn的區別把: 首先git是一個分散式的(distribute)也就是團隊之間的成員不僅能夠共享程式碼 從管理git上pull或者是push程式碼,並且他對成員的程式碼提交過程記錄特別的好; 當然SVN也有這些功能,但是為什麼說git要更好一些呢:問題就出在分散式
【小家java】Java定時任務ScheduledThreadPoolExecutor詳解以及與Timer、TimerTask的區別
相關閱讀 【小家java】java5新特性(簡述十大新特性) 重要一躍 【小家java】java6新特性(簡述十大新特性) 雞肋升級 【小家java】java7新特性(簡述八大新特性) 不溫不火 【小家java】java8新特性(簡述十大新特性) 飽受讚譽 【小家java】java9
Android原始碼編譯jar包BUILD_JAVA_LIBRARY 與BUILD_STATIC_JAVA_LIBRARY的區別
Android原始碼編譯jar包BUILD_JAVA_LIBRARY 與BUILD_STATIC_JAVA_LIBRARY的區別(一) http://www.cnblogs.com/zhhd/p/5392913.html 上面是參考文章的連結,下面是我的編譯指令碼(An
typedef詳解以及與巨集定義#define的區別
typedef是在計算機程式語言中用來為複雜的宣告定義簡單的別名,它與巨集定義有些差異。它本身是一種儲存類的關鍵字,與auto、extern、mutable、static、register等關鍵字不能出現在同一個表示式中; typedef 中文解釋:宣告型別; typedef為C語言
JavaScript中=、==、===以及!=、!==的區別與聯絡
JavaScript中=、==、===以及!=、!==的區別與聯絡 在JavaScript中,“=”代表賦值操作;“==”先轉換型別再比較,“===”先判斷型別,如果不是同一型別直接為false。其中“==”和“===”都可以用在布林表示式中,但兩者有很大的區別,下面對三者進行具體介紹:
python 內建函式型別判斷isinstance的用法以及與type的區別
type() 方法的語法: type(object) type(name, bases, dict) 引數 返回值 name -- 類的名稱。 bases -- 基類的元組。 dict -- 字典,類內定義的名稱空間變數。 一個引數返回物件型別, 三個引數
UDP程式設計以及與TCP的區別
UDP程式設計函式原型: int socket(int domain, int type, int protocol); int bind(int sockfd, const struct sockaddr* my_addr, int addrlen); /*