記錄一下折騰webp 的過程


最近有客戶想要處理webp 的動圖,情況當然是我們並不能處理webp 格式的圖片。這事就交給了我來折騰,一開始想着用瑞士軍刀ffmpeg。結果是折騰了差不多一天,前前后后編譯了幾十次ffmpeg 源碼后才發現,並不支持decode 帶動畫的webp....坑爹啊。 不過也算熟悉了一下源碼編譯的過程,大體上就是:

./configure
make
make install

在運行configure 的時候通常要根據需要帶上一些參數,比如在折騰ffmpeg 的時候,因為需要enable webp 的一些選項而這些選項又有依賴的庫文件

./configure --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib

這里的--extra-cflags 是告訴編譯器去哪里搜索頭文件,--extra-ldflags 是告訴編譯器去哪里找需要鏈接的庫文件,believe me 這兩參數很重要...

 

ffmpeg 沒戲以后我又找到了谷歌自家的libwebp, 下載源碼編譯過程大同小異,值得一提的是如果想要編譯出的工具支持多種輸入輸出格式和其他附加功能的話,必須要求系統上安裝相應的庫,比如如果想讓dwep 工具把webp 圖片轉成jpg 和png 格式的話就要求機器上裝了libpng。我剛好就有這種需求,於是再一次下載源碼編譯安裝,一切看似順利。但是在編譯libwebp 本身的時候卻發現dwep 的png 支持並沒有開啟,查看configure 打印的日志發現他在調用libpng-config 腳本的時候出錯:

/bin/sh^M: bad interpreter:

一臉瞢逼的我去網上搜了一下,發現原因是此文件是在dos 模式下編輯的,所以換行是\r\n,所以在linux 環境下導致無法解析,還好解決方法很簡單,只用vim 打開這個文件輸入命令:

:set ff=unix

保存后重新運行configure,發現png 支持已經打開了,終於可以愉快的make 了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM