顯示具有 多媒體 標籤的文章。 顯示所有文章
顯示具有 多媒體 標籤的文章。 顯示所有文章

f-spot升級後無法開啟之前匯入的照片問題

在linux環境下的照片管理上,本身是f-spot的愛好者,前陣子把f-spot的最新版本編譯出來後(一口氣從0.4升到0.8),發現使用新版本的f-spot有一個很大的問題,就是開啟f-spot之後無法開啟之前舊版本匯入的照片。只要一點開舊版本匯入的照片時就會crash掉,f-spot自己就整個關掉了。


昨天抽時間看了錯誤訊息主要看到的錯誤訊息是

“Unhandled ExceptionGLib.GException: Value for PNG text chunk Thumb::URI cannot be converted to ISO-8859-1 encoding.”

到官網的論壇看了一些其他使用者的說明後發現,舊版本的f-spot在存照片路徑是用iso-9501編碼的,而新版本是用UTF8編碼的。舉個例子來說,如果你的照片存放路徑是 /home/mich/photo/假日出遊,舊版本在資料庫中存放的記錄就是 files:///home/mich/photo/假日出遊 ,而新版本存放的卻是 files:///home/mich/photo/%E5%81%87%E6%97%A5%E5%87%BA%E9%81%8A 


也就是這個差別導致了新版本開不了舊版本的照片,所以根本的解決方法就是把資料庫中的路徑資料轉換成UTF8編號。這個解決方法在官網上有人指出了要修正那一個Table的欄位,也因此省下了追查的時間。


在要開始修改之前請務將資料庫檔案備份一份,萬一改壞或玩掛了才能回復。

在gnome的環境下f-spot的資料庫檔案是在 "~/.config/f-spot"資料夾下的photos.db,因為f-spot是用sqlite來做資料庫,所以直接用sqlite3 photos.db開啟即可以開始對資料庫進行操作。

找出table photos和table photo_versions中的base_uri欄位中有中文的欄位做修正即可。sql的語法如下:


update photos set base_uri = replace(base_uri,'file:///home/kkion/photo/台北兒童樂園員山分園/','file:///home/kkion/photo/%E5%8F%B0%E5%8C%97%E5%85%92%E7%AB%A5%E6%A8%82%E5%9C%92/');


update photo_versions set base_uri = replace(base_uri,'file:///home/kkion/photo/台北兒童樂園員山分園/','file:///home/kkion/photo/%E5%8F%B0%E5%8C%97%E5%85%92%E7%AB%A5%E6%A8%82%E5%9C%92/');


不過以我的例子,照片上萬張,路徑幾千個,是無法一個個下指令的,所以是另外寫個小工具把資料全撈出來改好後再存回去的。在試改的過程中發現似乎符號是不變的,例如上述中的冒號和斜線都沒有變更為UTF8編碼,而 ` 符號也不需轉換,目錄名稱中的空白要改為%20而不是 +    ,都是要特別注意的規則。


其實若是在匯入照片時是按照f-spot本身的規則來存照片根本不會有這個問題,主要是我大都仍把資料夾名稱用中文命名才造成的。


所以自己造業還是得自己收尾,把經驗和各位分享,若有其他f-spot的愛好者也有同樣的問題,可以少走一些冤枉路。


因為工具在f-spot命名規則還不確定(其實是懶得去看source code)的情況下,做好的工具也就不便分享,若是有朋友需要可以來信,但使用上風險極高而且沒有任何保證的哦!呵。。。。




mplayer同時播放多個影片


圖一

上圖中可以看到mplayer其實是一次播放多個影片檔的,這個功能用起來似乎很炫而且蠻有趣的,不過實用性其實不高,除非是那種一次可以看很多片的影片
速讀者。有些在播影片時,如果再開啟另一個影片檔時,mplayer會發出錯誤的訊息。其實只是要改變設定中的video模式就可以順利使用了。如下圖,
將video模式改成x11就可以依序開啟多個影片檔達到多個視窗同時播放多個影片。
圖二


過在玩這個功能時要注意CPU的使用量,如果在全畫面播放影片時會發生影音有不同步的情況時,最好可以將video改成使用xv會比較好。全畫面播放影片
會發生影音不同步的情形,特別容易發生在需要耗用高CPU的檔案格式時,主要也是因為CPU的速度並不夠快,可以透過改成xv設定來得到一部份的改善,但
若設定成xv,就無法同時播放多個檔案了。

[FC6]mplayer無法播放flv檔案格式嗎?

如果你的mplayer無法播放flv檔案格式,或是播放時只有聲音而沒有影像,極有可能是因為缺少了一些東西,首先檢查一下你的mplayer版本,我
之前是用V1.0pre8-0.4.20051128這個版本,如果你也是的話就先更新吧!因為這個版本的確在播放flv時會有沒有影像的問題,我目前是
更新到1.0-0.73.20070612svn.lvn6。安裝方法如下,
如果你有舊版本的話,先將舊版的mplayer移除。然後到rpm.livna.org,根據使用的Fedora平台來下載所需要的rpm檔,在這裡我們要下載的是Fedora Core 6 repository RPM
2.將下載的livna-release-6.rpm安裝起來。
3.使用指令模式執行以下的指令,
# yum install mplayer*
接下來就交給yum來安裝就可以了。

另外還需要安裝ffmpeg
只要上面的設定有設好的話,一樣在指令模式執行以下的指令就可以了。
# yum install ffmpeg

以上兩組套件都裝上後,再試著去播看看flv檔案,應該就沒什麼問題了

[FC6]安裝mplayer

在linux下使用類似windows中的mediaplayer的撥放程式.
mplayer官網
1.先到rpm.livna.org,根據使用的Fedora平台來下載所需要的rpm檔,在這裡我們要下載的是Fedora Core 6 repository RPM
2.將下載的livna-release-6.rpm安裝起來。
3.使用指令模式執行以下的指令,


# yum install mplayer*

接下來就交給yum來安裝就可以了。


 


更新文章:

[FC 12]mplayer安裝及rmvb、rm檔播放


[FC4]用mplayer播放rm和rmvb檔


到以下的網址下載realplayer 9的codec
http://www.mplayerhq.hu/MPlayer/releases/codecs/
在這裡也就是指
http://www.mplayerhq.hu/MPlayer/releases/codecs/rp9codecs-win32-20050115.tar.bz2
解開後看看裡面的readme.txt,裡面有寫該把解出來的檔案放到那個目錄去.你可以看看readme.txt中列出來的目錄,有那幾個是現在系統中已存在且已經有放codecs檔案在裡面的,把解出來的那些也放進去就可以了.
如果你還是不確定,那麼在還沒放進正確的目錄之前,先在終端機模式下先試著用指令去播放rm,rmvb的檔案,那麼你將可以看到畫面出現很多訊息,你仔細找找看,裡面會寫著mplayer到那幾個目錄下去找codecs,但都找不到,所以放不出畫面來.
我在FC4目前的環境是放在
/usr/lib/win32
下的,接著再重開mplayer就可以放rm和rmvb的檔案囉,不過要注意.如果真的遇到太新的編碼方法,還是會放不出來哦,因為我們裝的只有到realplayer9的codec而已.

FC8的使用者請參考此篇




更新文章:
[FC 12]mplayer安裝及rmvb、rm檔播放


[FC4]linux下音效下多工的問題

習慣了在windows下多個程式一起使用,播放音樂,看網路電視,通常不會有什麼問題,可是在這陣子用fedora的經驗中,似乎這樣輕鬆寫意的程序並沒有想像中的簡單,因為在一些程式會佔用了音效卡,而使得其他程式放不出聲音來.而剛好我的音效卡又不是多工的(現在好像多工的音效卡不多見了).那問題就出來了,我的skype只要一開始說話,那麼所有的聲音都不見了,同樣的情形還發生在realplayer中,而realplayer發生的情形比我想像中的還更要命.居然在realplayer結束後,還是沒有聲音,獨獨realplayer自己能發出聲音.真是太霸道了.在這一,二天的google旅程中,總算找到一些還能令人滿意的解答.
原來同樣的音效卡在windows下能運作得很好,而在linux下卻會發生問題的原因是.windows會把所有的聲音先混和好後再輸出到音效卡,做這件事的就叫sound server,也就是說並沒有讓其他程式直接的使用音效卡.那難道在linux下就沒有這樣的運作方法嗎?答案是有的,但是仍然有些linux下的軟體會直接的佔用音效卡,例如:gaim,skype,realplayer...等.在linux下的sound server我知道的有二個,Esound和Arts,當你使用kde環境時,那麼預設的就是Arts,而使用Gnome時,就是使用Esound,在linux下透過sound server來運作聲音的話,就可以避免音效卡被獨佔所發生的問題.以skype來說,請在執行skype之前,將執行方法改成以下的指令.
kde:
artsdsp skype
Gnome:
esddsp skype
這樣就可以讓sound server接手skype的聲音運作,同樣的也應用在gaim和realplayer上.

但是在我做所有套件的update後,發現我的realplayer居然沒法用artsdsp來開啟了,artsdsp居然告訴我
artsdsp works only for binaries
而realplayer的執行檔 realplay居然是個script,現在還沒精神去研究這個script要怎麼呼叫realplayer真正的執行檔,因為我找到用mplayer播放rm和rmvb的方法了,而且realplayer在我現在的環境下居然lag的很厲害,我也還沒找出原因,所以現在很想把realplayer給踢出我的nb.

如果發生因為音效卡被佔用而造成聲音都沒了,試著把artsd這個程序給刪除,然後再到"控制中心"裡重新啟動聲音的部份,應該可以解決.或者使用以下指令看看是那個程式把音效卡給佔住,也把那個程序給刪除.
lsof /dev/dsp /dev/snd/*



網路廣播

在Fedora下要聽mms://的網路廣播可以使用mplayer的指令.
mplayer mms://xxx.xxx.xxx.xx/ 即可. 但我用的結果在前面做cache時,需要花很久的時間.

xmms無法播放mp3,wma

因為mp3和wma等格式有關係到專利和版權問題,所以在FC系列中所內建的xmms都不支援這類的格式。可以自己去xmms的網頁下載source來compile,或是在網路找已經做好的rpm來下載。
比較簡單的方法就是加個xmms-mp3就好了。這個可以說是xmms用來撥放mp3的外掛,也就是讓你的xmms支援mp3的編碼檔。
你可以在Guru Labs找到,或是直接點xmms-mp3-1.2.10-16.i386.rpm
將這隻檔案裝起來後,你的xmms就能支援mp3囉!準備享受吧!

linux下網頁無法撥放串流影音

一般在Windows下,網頁上的影音因為有mediaplayer,所以運作起來都很正常,但是在linux就不一定了,因為在linux下並沒有mediaplayer可用,但是可以試試以下這個plug-in.
http://mplayerplug-in.sourceforge.net/
他可以讓linux下的覽瀏器也能看到串流影音哦!


xmms無法播放mp3,wma


因為mp3和wma等格式有關係到專利和版權問題,所以在Fedora系列中所內建的xmms都不支援這類的格式。可以自己去xmms的網頁下載source來compile,或是在網路找已經做好的rpm來下載。
比較簡單的方法就是加個xmms-mp3就好了。這個可以說是xmms用來撥放mp3的外掛,也就是讓你的xmms支援mp3的編碼檔。
你可以在Guru Labs找到,或是直接點xmms-mp3-1.2.10-16.i386.rpm
將這隻檔案裝起來後,你的xmms就能支援mp3囉!準備享受吧!

Docker SIGILL: illegal instruction 問題除錯記錄

Docker SIGILL: illegal instruction 問題除錯記錄 最近在一台平常執行得好好的伺服器上,遇到一個讓人頭痛的 Docker 問題。 原本 Portainer 和其他容器都可以正常運行,但在系統突然當機後,所有容器在啟動時都出現以下錯誤訊息: d...