最近發現從 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:
張貼留言