當前位置:首頁 » 編程軟體 » linuxx264編譯

linuxx264編譯

發布時間: 2023-08-10 04:44:37

1. FFmpeg-視頻編碼-YUV編碼出H264

編碼出來的h264數據可以直接使⽤ffplay播放

int av_image_get_buffer_size(enum AVPixelFormat pix_fmt, int width, int height, int align);

函數的作⽤是通過指定像素格式、圖像寬、圖像⾼來計算所需的內存⼤⼩

重點說明⼀個參數 align :此參數是設定內存對⻬的對⻬數,也就是按多⼤的位元組進⾏內存對⻬:

av_image_alloc()是這樣定義的。此函數的功能是按照指定的寬、⾼、像素格式來 分配圖像內存

int av_image_alloc(uint8_t *pointers[4], int linesizes[4], int w, int h, enum AVPixelFormat pix_fmt, int align);

int av_image_fill_arrays(uint8_t *dst_data[4], int dst_linesize[4], const uint8_t *src, enum AVPixelFormat pix_fmt, int width, int height, int align);

av_image_fill_arrays()函數 ⾃身不具備內存申請的功能 ,此函數類似於格式化已經申請的內存,即通過 av_malloc()函數申請的內存空間,或者av_frame_get_buffer()函數申請的內存空間。

av_image_fill_arrays()中 參數具體說明

視頻碼率是視頻數據(包含視頻⾊彩量、亮度量、像素量)每秒輸出的位數。⼀般⽤的單位是kbps。

在視頻會議應用中,視頻質量和網路帶寬佔用是矛盾的,通常情況下視頻流佔用的帶寬越高則視頻質量也越高;如要求高質量的視頻效果,那麼需要的網路帶寬也越大;解決這一矛盾的鑰匙當然是視頻編解碼技術。評判一種視頻編解碼技術的優劣,是比較在相同的帶寬條件下,哪個視頻質量更好;在相同的視頻質量條件下,哪個佔用的網路帶寬更少。
是不是視頻碼率越高,質量越好呢?理論上是這樣的,然而在我們肉眼分辨的范圍內,當碼率高到一定程度,感覺沒有什麼差別。所以碼率設置有它的最優值,H.264(也叫AVC或X.264)的文檔中,視頻的建議碼率如下:

鑒於x264的參數眾多,各種參數的配合復雜,為了使⽤者⽅便,x264建議如⽆特別需要可使 ⽤preset和tune設置。這套開發者推薦的參數較為合理,可在此基礎上在調整⼀些具體參數以符合⾃⼰需要,⼿動設定的參數會覆蓋preset和tune⾥的參數。

使⽤ ffmpeg -h encoder=libx264 命令查詢相關⽀持的參數

x264是⼀個 H.264/MPEG4 AVC 編碼器,本指南將指導新⼿如何創建⾼質量的H.264視頻。 對於普通⽤戶通常有兩種碼率控制模式:CRF(Constant Rate Factor)和Two pass ABR。碼率控制是⼀種決定為每⼀個視頻幀分配多少⽐特數的⽅法,它將決定⽂件的⼤⼩和質量的分配。

如果你在編譯和安裝libx264 ⽅⾯需要幫助,請查看ffmpeg和x264編譯指南: http://ffmpeg.org/trac/ffmpeg/wiki/CompilationGuide

量化⽐例的范圍為0~51,其中0為⽆損模式, 23 為預設值,51可能是最差的。該數字越⼩,圖像質量越 好。從主觀上講,18~28是⼀個合理的范圍。18往往被認為從視覺上看是⽆損的,它的輸出視頻質量和輸 ⼊視頻⼀模⼀樣或者說相差⽆⼏。但從技術的⻆度來講,它依然是有損壓縮

若CRF值加6,輸出碼率⼤概減少⼀半;若CRF值減6,輸出碼率翻倍。通常是在保證可接受視頻質量的前提下選擇⼀個最⼤的CRF值,如果輸出視頻質量很好,那就嘗試⼀個更⼤的值,如果看起來很糟,那就嘗 試⼀個⼩⼀點值。

預設是⼀系列參數的集合,這個集合能夠在編碼速度和壓縮率之間做出⼀個權衡。⼀個編碼速度稍慢的預 設會提供更⾼的壓縮效率(壓縮效率是以⽂件⼤⼩來衡量的)。這就是說,假如你想得到⼀個指定⼤⼩的⽂ 件或者采⽤恆定⽐特率編碼模式,你可以采⽤⼀個較慢的預設來獲得更好的質量。同樣的,對於恆定質量編碼模式,你可以通過選擇⼀個較慢的預設輕松地節省⽐特率。

如果你很有耐⼼,通常的建議是使⽤最慢的預設。⽬前所有的預設按照編碼速度降序排列為:

tune是x264中重要性僅次於preset的選項,它是視覺優化的參數,tune可以理解為視頻偏好(或者視頻類型),tune不是⼀個單⼀的參數,⽽是由⼀組參數構成 -tune 來改變參數設置。當前的 tune包括:

如果你不確定使⽤哪個選項或者說你的輸⼊與所有的tune皆不匹配,你可以忽略--tune 選項。 你可以使⽤-tune來查看tune列表,也可以通過x264 --fullhelp來查看tune所采⽤的參數配置。

另外⼀個可選的參數是-profile:v,它可以將你的輸出限制到⼀個特定的 H.264 profile。⼀些⾮常⽼的或者 要被淘汰的設備僅⽀持有限的選項,⽐如只⽀持baseline或者main。

所有的profile 包括:

查找指定的編碼器

初始化

設置編碼器參數

將codec_ctx和codec進行綁定

分配pkt和frame

計算出每一幀的數據 像素格式 * 寬 * 高

讀取YUV數據

格式化已經申請的內存,將YUV數據,格式化放入frame中

發送YUV數據進編碼器

從編碼器中獲取encode的packet數據

encode的packet數據寫入文件

2. ftp putfile出現12003錯誤 IIS的FTP應該怎麼設置

用ffmpeg錄像。
(1)編譯x264
官網上下了個最新的x264,我下載的文件是last_x264.tar.bz2。

解壓命令為#tar -jxv -f last_x264.tar.bz2,解壓後的目錄為x264-snapshot-20130313-2245。
進入解壓後的目錄,執行命令./configure --disable-asm,則會生成config.mak。之後就需要修改這個config.mak文件了,改寫ARCH=ARM SYS=linux CC=arm-linux-gcc,其中CC寫成你自己的交叉編譯環境位置,相應的AR、RANLIB也是,具體如下圖所示。

3. linux下編譯ffmpeg時關於configure的問題.

你准備工作沒做好吧!!

  1. 先編譯安裝Yasm。

  2. 然後編譯安裝H.264 (也就是x264)。

  3. 再編譯安裝AAC audio encoder (fdk-aac)。

  4. 編譯安裝libmp3lame (MP3 audio encoder)。

  5. 編譯安裝libopus (Opus audio decoder and encoder)。

  6. 編譯安裝libvpx (VP8/VP9 video encoder and decoder)。

  7. 做後編譯安裝ffmpeg。

    其中1-6你可以選擇編譯安裝,也可以使用源直接安裝。安裝後了再編譯安裝ffmpeg

    你使用 sudo ldconfig -p |grep libx264 看看你的libx264是否正確安裝.

    你編譯安裝x264的時候可以使用2中方式都安裝。

cd ../x264

./configure --enable-shared
make
make install

最後

cd ../x264
make distclean
./configure --enable-static
make
make install

4. 請教ffmpeg在centeOS 64位下的編譯問題

軟體安裝


(1). MinGW+Msys安裝


下載MSYS,解壓到E:/ffmpeg64/msys目錄。


下載MinGW-w64,解到E:/ffmpeg64/msys/mingw64目錄。


啟動msys.bat,打開類似於Linux的終端,並導入mingw64的環境變數。


echo 'export PATH=.:/local/bin:/mingw64/bin:/bin' > .profile

source .profile

(2). SDL安裝


下載SDL1.2.14,解壓到E:/ffmpeg64/SDL-1.2.14目錄。


進入SDL-1.2.14目錄,依次執行:


./configure --host=x86_64-w64-mingw32

make

make install

編譯過程中,出現如下錯誤:

5. linux下,編譯ffmpeg時如果不裝支持庫會出現什麼結果

分什麼支持庫。

如果你要h264編碼。那你必須下載x264.然後
configure時候 指定一下。

否則不會出錯。
直接configure
make
make install

good luck to you.

熱點內容
c語言中的temp 發布:2025-02-05 02:43:08 瀏覽:123
阿里雲伺服器共享電腦 發布:2025-02-05 02:42:18 瀏覽:417
伺服器有多少台電腦 發布:2025-02-05 02:40:41 瀏覽:447
安卓手機為什麼最新微信安裝不了 發布:2025-02-05 02:31:03 瀏覽:106
安卓手機什麼時候開售 發布:2025-02-05 02:14:15 瀏覽:660
編程車模型 發布:2025-02-05 02:09:55 瀏覽:680
雅馬哈天劍哪個配置好 發布:2025-02-05 02:00:35 瀏覽:170
我的世界國際服推薦118伺服器 發布:2025-02-05 01:50:48 瀏覽:46
普通電腦做伺服器怎麼操作 發布:2025-02-05 01:46:22 瀏覽:628
原神為什麼同伺服器加不起好友 發布:2025-02-05 01:41:03 瀏覽:337