欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
FFMPEG完美入門(mén)資料---004---FFmpeg 裁剪說(shuō)明

寫(xiě)在前面

如果對FFmpeg有需要更多了解的請訂閱我的專(zhuān)題:音視頻專(zhuān)輯

本文對 ffmpeg 進(jìn)行裁剪采用的是配置所需的接口,不需要的不配置,而不是采用修 改源代碼的方式。

4.1 configure 參數

4.1.1 通用選項

在 linux 下進(jìn)入終端, 找到 ffmpeg 解壓位置, 輸入如下命令:

root@web ffmpeg]# ./configure –help

得到 configure 的基本選項參數, 其并沒(méi)有中文解釋 。

選項解釋
--help顯示此幫助信息
--log[=FILE|yes|no]記錄測試并輸出到 config.err 文件
--prefix=PREFIX安裝程序到指定目錄(默認/usr/local)
--libdir=DIR安裝庫到指定目錄(默認 prefix/lib)
--shlibdir=DIR指定共享庫路徑(默認 prefix/lib)
--incdir=DIR指定 includes 路徑(默認 prefix/include/ffmpeg)
--mandir=DIR指定 man page 路徑(默認 prefix/man)
--enable-mp3lame啟用 mp3 編碼 libmp3lame(默認關(guān)閉)
--enable-libogg啟用 ogg 支持 libogg(默認關(guān)閉)
--enable-vorbis啟用 Vorbis 支持 libvorbis(默認關(guān)閉)
--enable-faad啟用 faad 支持 libfaad(默認關(guān)閉)
--enable-faadbin啟用 faad 運行時(shí)鏈接支持(默認關(guān)閉)
--enable-faac啟用 faac 支持 libfaac(默認關(guān)閉)
--enable-libgsm啟用 GSM 支持 libgsm(默認關(guān)閉)
--enable-xvid啟用 xvid 支持 xvidcore(默認關(guān)閉)
--enable-x264啟 用 H.264 編 碼 ( 默 認 關(guān) 閉 )
--enable-mingw32啟用 MinGW 本地/交叉 win 環(huán)境編譯
--enable-mingwce啟用 MinGW 本地/交叉 winCE 環(huán)境編譯
--enable-a52啟用 A52 支持(默認關(guān)閉)
--enable-a52bin啟用運行時(shí)打開(kāi) liba52.so.0(默認關(guān)閉)
--enable-dts啟用 DTS 支持(默認關(guān)閉)
--enable-pp啟用后加工支持(默認關(guān)閉)
--enable-static構建靜態(tài)庫(默認啟用)
--disable-static禁止構建靜態(tài)庫(默認關(guān)閉)
--enable-share構建共享庫(默認關(guān)閉)
--disable-shared禁止構建共享庫(默認啟用)
--enable-amr_nb啟用 amr_nb float 音頻編解碼器
--enable-amr_nb-fixed啟用 fixed amr_nb codec
--enable-amr_wb啟用 amr_wb float 音頻編解碼器
--enable-amr_if2啟用 amr_wb IF2 音頻編解碼器
--enable-sunmlib啟用 Sun medialib(默認關(guān)閉)
--enable-pthreads啟用 pthreads(多線(xiàn)程)(默認關(guān)閉)
--enable-dc1394啟用 libdc1394、libraw1394 抓取 IIDC-1394(默認關(guān)閉)
--enable-swscaler啟用計數器支持?(默認關(guān)閉)
--enable-avisynth允許讀取 AVISynth 腳本本件(默認關(guān)閉)
--enable-gpl允許使用 GPL(默認關(guān)閉)
**********************************************************************
Advanced options (experts only)高級選項參數(供專(zhuān)業(yè)人員使用)
--source-path=PATH源碼的路徑(當前為/root/flv/ffmpeg)
--cross-prefix=PREFIX為編譯工具指定路徑
--cross-compile假定使用了交叉編譯
--cc=CC指定使用何種 C 編譯器(默認 gcc)
--make=MAKE使用特定的 make
--extra-cflags=ECFLAGS添加 ECFLAGS 到 CFLAGS
--extra-ldflags=ELDFLAGS添加 ELDFLAGS 到 LDFLAGS(默認-Wl,--as-needed)
--extra-libs=ELIBS添加 ELIBS
--build-suffix=SUFFIX為專(zhuān)用程序添加后綴
--arch=ARCH選擇機器架構(默認 x86)
--cpu=CPU選用最低的 cpu(影響指令的選擇, 可以在老 CPU 上出錯)
--powerpc-perf-enable啟用 PPC 上面的性能報告(需要啟用 PMC)
--disable-mmx禁用 MMX
--disable-armv5te禁用 armv5te
--disable-iwmmxt禁用 iwmmxt
--disable-altivec禁用 AltiVec
--disable-audio-oss禁用 OSS 音頻支持(默認啟用)
--disable-audio-beos禁用 BeOS 音頻支持(默認啟用)
--disable-v4l禁用 video4linux 提?。J啟用)
--disable-v4l2禁用 video4linux2 提?。J啟用)
--disable-bktr禁 用 bktr 視 頻 提 取 ( 默 認 啟 用 )
--disable-dv1394禁用 DV1394 提?。J啟用)
--disable-network禁用網(wǎng)絡(luò )支持(默認支持)
--disable-ipv6禁用 ipv6 支持(默認支持)
--disable-zlib禁用 zlib(默認支持)
--disable-simple_idct禁用 simple IDCT 例程(默認啟用)
--disable-vhook禁用 video hooking 支持
--enable-gprofenable profiling with gprof [no]
--disable-debug禁用調試符號
--disable-opts禁用編譯器最優(yōu)化
--disable-mpegaudio-hp啟用更快的解碼 MPEG 音頻(但精確度較低)( 默認禁用)
--disable-protocols禁用 I/O 協(xié)議支持(默認啟用)
--disable-ffserver禁用生成 ffserver
--disable-ffplay禁用生成 ffplay
--enable-small啟用優(yōu)化文件尺寸大?。奚俣龋?/td>
--enable-memalign-hack啟用模擬內存排列,由內存調試器干涉?
--disable-strip禁用剝離可執行程序和共享庫
--disable-encoder=NAME禁用 XX 編碼器
--enable-encoder=NAME啟用 XX 編碼器
--disable-decoder=NAME禁用 XX 解碼器
--enable-decoder=NAME啟用 XX 解碼器
--disable-encoders禁用所有編碼器
--disable-decoders禁用所有解碼器
--disable-muxer=NAME禁用 XX 混音器
--enable-muxer=NAME啟用 XX 混音器
--disable-muxers禁用所有混音器
--disable-demuxer=NAME禁用 XX 解軌器
--enable-demuxer=NAME啟用 XX 解軌器
--disable-demuxers禁用所有解軌器
--enable-parser=NAME啟用 XX 剖析器
--disable-parser=NAME禁用 XX 剖析器
--disable-parsers禁用所有剖析器

4.1.2 基本選項介紹

以下為配置 ffmpeg 的基本選項, 其含義如下:

--cache-file=FILE

configure 會(huì )在你的系統上測試存在的特性(或者 bug!)。 為了加速隨后進(jìn)行的配置, 測試的結果會(huì )存儲在一個(gè) cache file 里。當 configure 到每個(gè)子樹(shù)里都有 configure 腳本的 復雜的源碼樹(shù)時(shí), 一個(gè)很好的 cache file 的存在會(huì )有很大幫助。

--help

輸出幫助信息。 即使是有經(jīng)驗的用戶(hù)也偶爾需要使用使用--help 選項, 因為一個(gè)復 雜的項目會(huì )包含附加的選項。 例如, GCC 包里的 configure 腳本就包含了允許你控制是 否生成和在 GCC 中使用 GNU 匯編器的選項。

--no-create

configure 中的一個(gè)主要函數會(huì )制作輸出文件。 此選項阻止 configure 生成這個(gè)文件。 你可以認為這是一種演習(dry run), 盡管緩存(cache)仍然被改寫(xiě)了。

--quiet--silent

當 configure 進(jìn)行他的測試時(shí),會(huì )輸出簡(jiǎn)要的信息來(lái)告訴用戶(hù)正在作什么。這樣做是 因為 configure 可能會(huì )比較慢, 沒(méi)有這種輸出的話(huà)用戶(hù)將會(huì )被扔在一旁疑惑正在發(fā)生什 么。使用這兩個(gè)選項中的任何一個(gè)都會(huì )把你扔到一旁。(譯注:這兩句話(huà)比較有意思,原 文是這樣的:If there was no such output, the user would be left wondering what is happening. By using this option, you too can be left wondering!)

--version

打印用來(lái)產(chǎn)生'configure'腳本的 Autoconf 的版本號。

--prefix=PEWFIX

--prefix 是最常用的選項。制作出的 Makefile 會(huì )查看隨此選項傳遞的參數,當一個(gè)包 在安裝時(shí)可以徹底的重新安置他的結構獨立部分。 舉一個(gè)例子, 當安裝一個(gè)包, 例如說(shuō) Emacs, 下面的命令將會(huì )使 Emacs Lisp file 被安裝到" /opt/gnu/share" :

$ ./configure --prefix=/opt/gnu--exec-prefix=EPREFIX

與--prefix 選項類(lèi)似,但是他是用來(lái)設置結構倚賴(lài)的文件的安裝位置。編譯好的 emacs 二進(jìn)制文件就是這樣一個(gè)問(wèn)件。 如果沒(méi)有設置這個(gè)選項的話(huà), 默認使用的選項值將被設 為和--prefix 選項值一樣。

--bindir=DIR

指定二進(jìn)制文件的安裝位置。這里的二進(jìn)制文件定義為可以被用戶(hù)直接執行的程序。

--sbindir=DIR

指定超級二進(jìn)制文件的安裝位置。 這是一些通常只能由超級用戶(hù)執行的程序。

--libexecdir=DIR

指定可執行支持文件的安裝位置。 與二進(jìn)制文件相反, 這些文件從來(lái)不直接由用戶(hù)執行, 但是可以被上面提到的二進(jìn)制文件所執行。

--datadir=DIR

指定通用數據文件的安裝位置。

--sysconfdir=DIR

指定在單個(gè)機器上使用的只讀數據的安裝位置。

--sharedstatedir=DIR

指定可以在多個(gè)機器上共享的可寫(xiě)數據的安裝位置。

--localstatedir=DIR

指定只能單機使用的可寫(xiě)數據的安裝位置。

--libdir=DIR

指定庫文件的安裝位置。

--includedir=DIR

指定 C 頭文件的安裝位置。 其他語(yǔ)言如 C++的頭文件也可以使用此選項。

 --oldincludedir=DIR

指定為除 GCC 外編譯器安裝的 C 頭文件的安裝位置。

--infodir=DIR

指定 Info 格式文檔的安裝位置。 Info 是被 GNU 工程所使用的文檔格式。

--mandir=DIR

指定手冊頁(yè)的安裝位置。

 --srcdir=DIR

這個(gè)選項對安裝沒(méi)有作用。他會(huì )告訴 configure 源碼的位置。一般來(lái)說(shuō)不用指定此選 項, 因為 configure 腳本一般和源碼文件在同一個(gè)目錄下。

--program-prefix=PREFIX

指定將被加到所安裝程序的名字上的前綴。例如,使用--program-prefix=g 來(lái) configure 一個(gè)名為 tar 的程序將會(huì )使安裝的程序被命名為 gtar。 當和其他的安裝選項一起使用時(shí), 這個(gè)選項只有當他被 Makefile.in 文件使用時(shí)才會(huì )工作。

 --program-suffix=SUFFIX

指定將被加到所安裝程序的名字上的后綴。

--program-transform-name=PROGRAM

這里的 PROGRAM 是一個(gè) sed 腳本。 當一個(gè)程序被安裝時(shí), 他的名字將經(jīng)過(guò) sed -e PROGRAM 來(lái)產(chǎn)生安裝的名字。

--build=BUILD

指定軟件包安裝的系統平臺。 如果沒(méi)有指定, 默認值將是--host 選項的值。

--host=HOST

指定軟件運行的系統平臺。 如果沒(méi)有指定, 將會(huì )運行 config.guess 來(lái)檢測。

--target=GARGET'

指定軟件面向(target to)的系統平臺。 這主要在程序語(yǔ)言工具如編譯器和匯編器上下 文中起作用。 如果沒(méi)有指定, 默認將使用--host 選項的值。

--disable-FEATURE

一些軟件包可以選擇這個(gè)選項來(lái)提供為大型選項的編譯時(shí)配置, 例如使用 Kerberos認證系統或者一個(gè)實(shí)驗性的編譯器最優(yōu)配置。 如果默認是提供這些特性, 可以使用 --disable-FEATURE 來(lái)禁用它, 這里 FEATURE 是特性的名字。 例如:

$ ./configure --disable-gui-enable-FEATURE[=ARG]

相反的,一些軟件包可能提供了一些默認被禁止的特性,可以使用--enable-FEATURE 來(lái)起用它。這里 FEATURE 是特性的名字。一個(gè)特性可能會(huì )接受一個(gè)可選的參數。例如:

$ ./configure --enable-buffers=128

--enable-FEATURE=no 與上面提到的--disable-FEATURE 是同義的。

--with-PACKAGE[=ARG]

在自由軟件社區里,有使用已有軟件包和庫的優(yōu)秀傳統。當用 configure 來(lái)配置一個(gè) 源碼樹(shù)時(shí), 可以提供其他已經(jīng)安裝的軟件包的信息。 例如, 倚賴(lài)于 Tcl 和 Tk 的 BLT 器 件工具包。 要配置 BLT, 可能需要給 configure 提供一些關(guān)于我們把 Tcl 和 Tk 裝的何處 的信息:

$ ./configure --with-tcl=/usr/local --with-tk=/usr/local

--with-PACKAGE=no 與下面將提到的--without-PACKAGE 是同義的。

--without-PACKAGE

有時(shí)候你可能不想讓你的軟件包與系統已有的軟件包交互。 例如, 你可能不想讓你 的新編譯器使用 GNU ld。 通過(guò)使用這個(gè)選項可以做到這一點(diǎn):

$ ./configure --without-gnu-ld--x-includes=DIR

這個(gè)選項是--with-PACKAGE 選項的一個(gè)特例。 在 Autoconf 最初被開(kāi)發(fā)出來(lái)時(shí), 流 行使用 configure 來(lái)作為 Imake 的一個(gè)變通方法來(lái)制作運行于 X 的軟件。 --x-includes 選 項提供了向 configure 腳本指明包含 X11 頭文件的目錄的方法。

--x-libraries=DIR

類(lèi)似的, --x-libraries 選項提供了向 configure 腳本指明包含 X11 庫的目錄的方法。

4.2 FFmpeg 裁剪優(yōu)化實(shí)例

對 ffmpeg 的裁剪優(yōu)化主要是對 ffplay 的裁剪優(yōu)化,我們制定的需求是能播放測試文 件(視頻為 mpeg4 編碼、音頻為 mp2 編碼, 且為 AVI 復用), 根據需求, 找到相應的選 項, 或禁用或啟用, 最后的命令如下:

./configure --disable-yasm --disable-parsers --disable-decoders --disable-encoders --enable-decoder=mpeg4 --disable-muxers --disable-demuxers --enable-demuxer=avi --enable-decoder=mp2 --disable-protocols --enable-protocol=file --disable-filters --disable-bsfs

其中針對需求, --disable-parsers 為禁用所有解析器, --disable-decoders 為禁用所有解碼 器,--disable-encoders 為禁用所有編碼器,--enable-decoder=mpeg4 為啟用 mpeg4 的編碼 器 , --disable-muxers 為 禁 用 所 有 復 用 , --disable-demuxers 為 禁 用 所 有 解 復 用 , --enable-demuxer=avi 為 啟 用 AVI 復 用 , --enable-decoder=mp2 為 啟 用 mp2 編 碼 , --disable-protocols 為 禁 用 所 有 協(xié) 議 , --enable-protocol=file 為 啟 用 文 件 協(xié) 議 , --disable-filters 為禁用所有過(guò)濾器,--disable-bsfs 為禁用所有碼流過(guò)濾器。通過(guò)以上配置 之后, 編譯, 安裝, 就生成了我們要求的 ffplay, 其大小為 1.8M(1864012 字節)。

此次是在 linux 環(huán)境下進(jìn)行的,在以后的配置中,如果需要其他的什么編碼器或什么 的, 按照選項要求進(jìn)行配置即可。

4.3 裁剪優(yōu)化前后文件比較

前面已經(jīng)提到本次裁剪優(yōu)化的內容。 經(jīng)過(guò)裁剪優(yōu)化之后, 對其文件夾進(jìn)行比較, 主 要有 3 個(gè)地方不同, 分別是 config.fate、config.h 和 config.mak。 在 config.fate 中, 其記 錄的是配置命令, 由于前后兩次配置命令不同, 故相應內容也不同, 如圖 4-1 所示。 在 config.h 中, 其主要是根據配置命令來(lái)改變相應預定義的值, 達到裁剪優(yōu)化之效果如圖 4-2 所示。 在 config.mak 中, 改變的也是配置命令中需要改變的選項, 如圖 4-3 所示。


圖 4-1 config.fate 前后比較

圖 4-2 config.h 前后比較
圖 4-3 config.mak 前后比較

寫(xiě)在后面

如果對FFmpeg有需要更多了解的請訂閱我的專(zhuān)題:音視頻專(zhuān)輯

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
交叉編譯ffmpeg并生成ffplay
在mini2440上移植使用FFmpeg錄像
ffmpeg build android
ffmpeg 的 configure 文件的編譯參數
Mingw msys編譯ffmpeg 0.6.1 win7下
編譯FFmpeg+x264移植到安卓(一)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久