2010-04-30

【系統】jpegtran : ffmpeg 產生的縮圖在 facebook 上無法顯示!!

最近發現從 Vlog 分享到Facebook 上的影片,都看不到縮圖,真是見到鬼了… ( 見上圖 )

後來 Mr. Kusan 有Google 到一篇文章:
Videos shared to Facebook and images/thumbnails generated with ffmpeg

原來是 Facebook 的 safe_image.php 在產生縮圖時,沒辦法處理 ffmpeg 產生出來的縮圖。

詳細的原因,在上面那篇文章中都有寫。

解決的方式就是使用 jpegtran 來 fix 這個問題

原文:
To make this work with ffmpeg generated (thumbnail) images, you've to apply some sort of a fix. The jpegtran utility is perfect for the job, because it writes JPEG images only with a JFIF marker in the header and it does not recompress the image (thus image quality is preserved).

好,那我們就來裝裝 jpegtran 吧 ( 但記得系統要先有裝 libjpeg )

OS : SLES 10 & 11

至 http://www.ijg.org/ 下載 jpegsrc.v8a.tar.gz 

# wget http://www.ijg.org/files/jpegsrc.v8a.tar.gz

# tar -zxvf jpegsrc.v8a.tar.gz

# cd jpeg-8a

# ./configure

# make ; make install

目前為止,就正式裝完了。

執行 jpegtran 他居然出現:
jpegtran: error while loading shared libraries: libjpeg.so.8: cannot open shared object file: No such file or directory

查詢一下 libjpeg.so.8 在那

# whereis libjpeg.so.8
libjpeg.so: /usr/lib/libjpeg.so.62 /usr/lib/libjpeg.so.6 /usr/local/lib/libjpeg.so /usr/local/lib/libjpeg.so.8

明明就有呀!

所以照 Garlic 說的,這就是 Include PATH 的問題了。

# vi /etc/profile.local
# Add PATH
export LD_LIBRARY_PATH=/usr/local/lib

重新登入,執行 jpegtran 已經不會再出現錯誤訊息了。

然後將 ffmpeg 產生的圖片用 jpegtran 再跑一次。

# jpegtran -outfile fixed_image.jpg input.jpg

然後再次到 Facebook 看,縮圖總算出來了。

Facebook 的 safe_image.php 大概只會 Cache 一段時間,所以之前沒有縮圖的只要修正好後,過一段時間就會出現了。

結果如下圖 :

太好了~~解決了!!

 

PS. 

今天 Ubuntu 10.04 正式 Release 了

我要準備來灌 Ubuntu 10.04 了!! 耶!! 

 

 

 

 

0 comments:

張貼留言