ffmpeg編譯(生成Windows或Win32平臺dll, lib)

ffmpeg編譯(生成Windows或Win32平臺dll, lib)


介紹:本文簡要介紹通過cygwin環境來編譯生成ffmpeg。
包括解碼組件libfaad與libopencore-amrnb的編譯。


1)安裝msys + mingw環境
具體安裝過程可以看網上教程
我用的是:http://code.google.com/p/msys-cn/
假設裝在d:/msys
如果需編譯libfaad,還需裝msysDTK-1.0.1.exe
需在msys.bat文件首行加入:call "D:/Program Files/Microsoft Visual Studio 8/VC/bin/vcvars32.bat"

2)下載最新ffmpeg源碼
我用的是:ffmpeg-export-2009-12-22版(即:SVN-r20910-snapshot)
解壓縮至e:/ffmpeg_r20910_win32

3)修改e:/ffmpeg_r20910_wm/common.h文件,如下:
#ifndef av_cold
//GCC on MinGW has bug on "cold" feature
//#if (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(4,3)
#if 0


3)按需下載各解碼組件,如
faad2-2.7.zip? (AAC解碼組件)
opencore-amr-0.1.2.tar.gz (amr解碼組件)
新建e:/ffmpeg_r20910_wm/codecs目錄,將組件放入其中

4)編譯各解碼組件
4.1)libfaad
解壓縮faad2-2.7.zip,依次執行
autoreconf -ivf
./configure --enable-static --disable-shared --prefix=/mobile
make (編譯時出錯two or more data types什么的,不用管,libfaad.a已經生成)
make install
4.2)libopencore-amr
解壓縮opencore-amr-0.1.2.tar.gz,依次執行
./configure --enable-static --disable-shared --prefix=/mobile
make
make install

5)編譯ffmpeg
#!/bin/sh
./configure --enable-memalign-hack --prefix=/mobile --enable-libfaad --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-static --enable-shared --enable-gpl --enable-version3 --disable-zlib --disable-ipv6 --disable-debug --disable-ffplay --disable-ffmpeg --disable-ffserver --disable-encoders --disable-network --disable-muxers --extra-ldflags="-L/mobile/lib" --extra-cflags="-I/mobile/include"
此命令太長,可以將命令寫入到sh文件(如doConfigureWin32.sh)來執行。(出現libvdpau>=0.2提示,不用管)
make
make install
保留類似于avcodec-52.dll avcodec-52.lib的文件,刪除其它。


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

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

相關文章

2019python課件_2019版經典Python學習路線分享

Python有三大神器,包括numpy,scipy,matplotlib,因此適合用于數據處理。spark,Hadoop都開了Python的接口,所以使用Python做Python的mapreduce也非常簡單。因此它也備受歡迎,python學習大綱分享給大家。一、Python基礎1.2數據的存儲…

UML之涉眾/參與者(角色/執行者)(Actor)/業務主角(BusinessActor)/業務工人(BusinessWorker)/用戶/角色辨析【圖解】...

參考文檔: 【業務建模】(http://www.baike.com/wiki/%E4%B8%9A%E5%8A%A1%E5%BB%BA%E6%A8%A1) 【UML 核心元素之參與者】(http://www.voidcn.com/article/p-obarwwaq-tp.html) 【UML核心元素之參與者】(http://www.voidcn.com/article/p-ntpnhoue-da.html)轉載于:htt…

git 報錯:Please make sure you have the correct access rights and the repository exists

提示:Warning: Permanently added gitee.com,120.55.226.24 (ECDSA) to the list of known hosts.是公鑰出問題了,要先設置用戶和郵箱再重新生成ssh公鑰即可。 1、首先我得重新在git設置一下身份的名字和郵箱 進入到需要提交的文件夾底下(…

java 實現excel 導出功能

實現功能&#xff1a;java導出excel表 1、jsp代碼 1 <form id"zhanwForm" action"<%path%>/conferences.do?" target"_self" method"get" > 2 <input type"hidden" name"method" value…

python 內置模塊 subprocess

1、介紹 subprocess模塊可以生成新的進程&#xff0c;連接到它們的input/output/error管道&#xff0c;同時獲取它們的返回碼。 2、基本操作方法 2.1、subprocess的run、call、check_call、check_output函數 subprocess.run(args[, stdout, stderr, shell ...]) 執行args命…

Windows下的FFmpeg 、MEncoder、MPlayer下載地址

視頻轉碼常用的是MEncoder&#xff0c;這個工具包含在MPlayer中&#xff0c;也可以使用FFmpeg&#xff0c;但據說有些格式轉換的時候效率不及MEcoder&#xff0c;所以能用MEncoder轉換的盡量用MEncoder轉換&#xff0c;由于MEncoder暫時還沒有研究&#xff0c;等研究過了再補充…

功率曲線k值_什么叫離心泵的流量——功率曲線?它們之間有什么關系?

流量和功率之間為正比例關系。流量增加時功率也增加&#xff0c;增加快、慢與比轉數有關。比轉數越小&#xff0c;流量增加后功率增加越快&#xff1b;比轉數越大&#xff0c;流量增加后功率增加越慢。 離心泵的性能參數與特性曲線泵的性能及相互之間的關系是選泵和進行流量調節…

什么是CI/CD

一、簡介 CI / CD的采用改變了開發人員和測試人員如何發布軟件。 最初是瀑布模型&#xff0c;后來是敏捷開發&#xff0c;現在是DevOps&#xff0c;這是現代開發人員構建出色的產品的技術路線。隨著DevOps的興起&#xff0c;出現了持續集成&#xff08;Continuous Integration…

FFmpeg在Windows系統下的編譯過程

由于FFMpeg是基于Linux開發的開源項目&#xff0c;源代碼和Windows下最常見的Visual Studio提供的C/C編譯器不兼容&#xff0c;因此它不能使用MSVC編譯。要想使用FFMpeg&#xff0c;最先要解決的問題就是在Windows下配置一個類似Linux的編譯環境&#xff0c;將FFMpeg編譯為二進…

centos 文件夾網絡連接_centos8 安裝后網絡不通及網絡配置

一 修改配置文件設置網絡時首先打開配置文件&#xff0c;配置文件默認如下所示&#xff0c;如果使用dhcp自動獲取ip&#xff0c;只需將ONBOOTno修改為ONBOOTno即可。#網卡配置文件按默認配置TYPEEthernetPROXY_METHODnoneBROWSER_ONLYnoBOOTPROTOdhcpDEFROUTEyesIPV4_FAILURE_F…

STM32 HAL庫詳解 及 手動移植

源&#xff1a; STM32 HAL庫詳解 及 手動移植轉載于:https://www.cnblogs.com/LittleTiger/p/8044047.html

Python 內置函數之 open (文件操作)

正常的文件操作都分三步走&#xff1a;打開文件&#xff0c;操作文件&#xff0c;關閉文件。 python open() 函數用于打開一個文件&#xff0c;創建一個 file 對象&#xff0c;相關的方法才可以調用它進行讀寫 語法 文件句柄 open(文件名,模式) 例如&#xff1a;f open(a…

windows系統下_ffmpeg編譯_2011年

ffmpeg開源庫在linux系統下弄的&#xff0c;是一個很全的音頻和視頻的編解碼庫要在windows下編譯出用于開發的lib庫確實比linux下要麻煩&#xff0c;百度了很久&#xff0c;參照別人的見解終于成功編譯出自己需要的可以用于開發的庫&#xff08;dll的形式&#xff0c;附帶dll的…

部署WEB項目到服務器(三)安裝mysql到linux服務器(Ubuntu)詳解

突發奇想&#xff0c;想在自己電腦上部署一個web網站。 1&#xff0c;首先是下載一個適合自己已安裝服務器版本的mysql數據庫。 這里使用網上的鏈接http://dev.mysql.com/downloads/mysql/5.6.html#downloads 或者使用代理網站上下載&#xff1a;https://mirrors.huaweicloud.c…

在Windows下編譯ffmpeg完全手冊

本文的內容幾乎全部來自于FFmpeg on Windows&#xff0c;但是由于國內的網絡封鎖&#xff0c;很難訪問這個域名下的內容&#xff0c;因此我一方面按照我自己的理解和實踐做了翻譯&#xff0c;另一方面也是為了能提供一個方便的參考方法。 注&#xff1a; 1. 對于compil…

padding和卷積的區別_TensorFlow筆記1——20.CNN卷積神經網絡padding兩種模式SAME和VALID...

第1種解說&#xff1a;(核心最后一張圖&#xff0c;兩種填充方式輸出的形狀尺寸計算公式)在用tensorflow寫CNN的時候&#xff0c;調用卷積核api的時候&#xff0c;會有填padding方式的參數&#xff0c;找到源碼中的函數定義如下&#xff08;max pooling也是一樣&#xff09;&am…

MORMOT數據庫連接池

MORMOT數據庫連接池 MORMOT封裝了一堆的PROPS控件&#xff0c;用于連接各種數據庫。 MORMOT的封裝是武裝到了牙齒的&#xff0c;這堆PROPS控件居然數據庫連接池也封裝好了。這就為我們省了不少事&#xff0c;筆者非常喜歡&#xff01; 下面拿TOleDBMSSQLConnectionProperties控…

循環神經網絡變形之 (Long Short Term Memory,LSTM)

1、長短期記憶網絡LSTM簡介 在RNN 計算中&#xff0c;講到對于傳統RNN水平方向進行長時刻序列依賴時可能會出現梯度消失或者梯度爆炸的問題。LSTM 特別適合解決這種需要長時間依賴的問題。 LSTM&#xff08;Long Short Term Memory&#xff0c;長短期記憶網絡&#xff09;是R…

Windows 系統下使用 MinGW + MSYS + GCC 編譯 FFMPEG

一定要按照順序操作&#xff0c;否則你很可能持續遇到很多奇怪的問題&#xff08;ffmpeg對編譯系統版本要求比較高&#xff09;。 1. www.mingw.org: 下載并安裝 MinGW 5.1.4 (http://jaist.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.4.exe)&#xff0c;安裝時選中 g, m…

eclipse怎樣改編碼格式_Eclipse中各種編碼格式及設置

操作系統&#xff1a;Windows 10(家庭中文版)Eclipse版本&#xff1a;Version: Oxygen.1a Release (4.7.1a)剛看到一篇文章&#xff0c;里面介紹說Ascii、Unicode是編碼&#xff0c;而GBK、UTD-8等是編碼格式。Java中的編碼問題(by 迷失之路)&#xff1a;https://www.cnblogs.c…