2015年4月23日 星期四

FFmpeg (The easiest tutorial [limited arguments])

首先要上網抓別人Build好的Binary
首先要上網抓別人編譯好的執行檔

通常來說 Google 的第一個就是,不過我把我現在(Apr. 23th, 2015)找到的 Download FFmpeg 附一下好了。

Download FFmpeg -> Get the packages: Mac -> Static builds for OS X Intel 64-bit

NOTE: 不要抓錯抓到 “Builds 32-bit and 64-bit for OS X 10.5 and above” 的。同樣指令,我用這版會 build error,用上面那個不會。

http://evermeet.cx/ffmpeg/ 裡有 FFmpeg、 FFserver、 FFprobe、 FFplay 這幾個東西。只需要抓 FFmpeg 的即可。

”ffmpeg-71728-gba625dd.7z” 是 Trunk 版(最新版)。
”ffmpeg-2.6.2.7z” 是 Release/Tag 版(穩定版)。

我自己是抓 Release 版來用。把抓下來的 7z 檔解壓縮到 Downloads。

USER-MBP:~ user$ cd Downloads
USER-MBP:Downloads user$ ./ffmpeg -i Target\ File.flv Output.mp4


就這樣。程式就會開始轉檔,轉好的檔案就會叫做 Output.mp4。「-i」是要設定輸入(要轉檔)的檔案名。因為副檔名是 mp4,所以程式會自動地用 mp4 的相關設定來轉檔,並用預設的參數來執行。

還有一些高級參數像是 -2-pass 等等的參數我也還沒開始研究(之前查文章有瞄到但沒有記下來)。

Mac 的 Batch/Shell script 我還沒開始研究。等研究好了我就不用怕轉檔啦!!!

會想要學這個來轉,一是因為很早以前就聽過這東西名字很多次,每次聽到人們都說這是神器,二來我想用 iMessage 傳影片給壞蛋姆,但是 iMessage 不接受我從網路上抓下來的 FLV,我又不想用很爛的企鵝(PEnGUIn Encoder MP4)來轉成 MP4。所以就導致我開始來研究這東西了。

2015年1月10日 星期六

iOS JailBreak Clean Restore (Without JB data)

寫在第一行。

本文重點是在於系統重置(裝置會是全新狀態)後,回覆特定 App 的資料。
雖然 iTools 好像也可以辦到,可是本文要用的工具是 iBackupBot

注意:本文目的是要將 iOS Device 還原成全新的狀態。並非保留裝置內容,僅清除 JB 資料

是以本方法只會回覆 App 的資料,而通話記錄、相機膠卷、簡訊紀錄等等,全都不會還原!(新手機怎麼會有這種東西)

因為你如果覺得有問題想還原手機,再把設定那些東西倒回來是解決不了問題的。

Short Links:

本文緣由

當初會要這麼做,就只是覺得 JB 後的設定導致手機耗電量大增。不想用 iTools,所以來研究這個 iOS 老牌的備份檔案讀取工具要怎麼才能達成我要的目的。

目標族群

本文所述的目標對象,是沒有 JailBreak 使用者。

或是原本有 JB,但是不想要 JB,也不想要重刷後裝置裡殘有 JB 資料。

方法

iTunes 在備份裝置的時候,「App」與「App 的資料」是分成兩邊備份的。

備份 App 需要將 Apple ID 授權給電腦才能夠備份,不然 iTunes 只會備份「App 資料」。

裝置的備份路徑按照作業系統的差異會在不同地方。不過在哪裡都不重要, iBackupbot 會自己去把它挖出來的。
Mac 的在這:
~/Library/Application Support/MobileSync/Backup

備份完現有資料後,可以在 iTunes 裡面選擇將剛剛的備份封存。這樣之後的備份就是一個新的備份,不會覆蓋掉之前的備份。

Archive
Archive

將手機接上電腦用 iTunes 還原裝置,完成裝置上的基本設定後,連上 iTunes,將要回復資料的 App 安裝至裝置中。完成後以 iTunes 做一個新的備份。

這裡很重要的一點就是要在新的裝置中安裝要還原的 App,這樣所做的備份才會有該 App 的空間。所以才有辦法繼續下一步。

之後用 iBackupbot 把舊備份裡的「App 資料」塞進新備份裡相對應地方就完成本文要講的主題了。



詳細步驟與解說:

iOS App 的備份通常都是分成兩部分, Documents 與 Library。

通常來說,重要的都是 Documents。因為放至手機裡的資料都存在那邊,如影片、文件等。

但是有些 App 不按照標準來寫(如:Gplayer 的影片)。這種情況下,在 Documents 裡會找不到備份的資料,但是檔案仍是有備份到。
Gplayer 跟 AVplayer 在 App 本身的「設定」裡都可以設定要不要「被備份」。

而有些 App 本身的設計就是不備份一些資料(如:Garmin 的地圖圖資),所以備份檔裡面不會有該資料是正常的。
這該死的圖資每次重刷手機後都要重抓。


我重刷手機後, App 資料重要到會一定需要被移至新備份的 App 有 ,其他的資料對我來說都可以捨棄或是連上網路就能抓下來了。

以 Solomon's Boneyard 舉例,備份名稱與實際名稱的差異必需要自己去找出哪一個才是正確的。

iBackupbot Export
iBackupbot Export

輸出備份後可以看到有 Documents 與 Library 這兩個資料夾。

在把舊備份資料匯入到新備份的時候要記得進入備份 App 的資料夾。這樣 Import 的按鈕才可以選。

iBackupbot import
iBackupbot import

因一次只能匯入一個資料夾,所以 Documents 與 Library 要分成兩次匯入。通常 Documents 比較重要啦, Library 的資料可以在 App 裡選一選就弄出來了。

在 iBackupbot 跳出覆蓋檔案提示的時候要記得選覆蓋掉原有檔案。新備份產生出來的那些檔案大都是預設產生的基本檔案,本篇文的目的就是要把舊資料倒回去裝置,當然是覆蓋加取代。

要還原的全新備份檔案製作完成後,再用 iTunes 把備份檔倒回 iOS 裝置就完成了。

結論

好像 iTools 的資料夾式檔案丟來丟去法比較簡單耶。可是「阿陸啊」做的東西,總是令人特別不信任。

在重刷手機後,要檢查
  • Find My iPhone 是否有開啟
  • 鬧鐘重新設定
  • Garmin 圖資重抓
  • 鈴聲重新設定
,不然鬧鐘沒設這點,可能會導致第二天遲到的這種狀況。或是別人打給你,你卻不知道是自己的手機在響。

因為我本身是把「通訊錄」跟「備忘錄」存在 Google 帳號裡,所以這兩個在重刷前我也無須特別備份。只要重刷後在設定登入 Google 帳號,等一陣子後,資料就都乖乖出現了。

同場加映!檢查手機電池健康度

不 JB 也可以看手機電池健康度(裝置必須連到電腦)。

iBackupbot inquiry battery information
iBackupbot inquiry battery information

計算方法就是 FullChargeCapacity / DesignCapacity * 100% = BatteryHealth %。

以我的手機為例, 1100/1430*100% = 76.9%。

按照 Apple 很久以前的電池文件上指出, Apple 所用電池是可以在 1000 次循環後仍保有 80% 的電力。目前循環次數已到 1266 次,我也不知道這樣算是好還是壞 XDDD。

2014年9月2日 星期二

如何搞出隨機首頁圖片?

下面這段不能貼在 <b:skin></b:skin>(或是 </head> 前) 裡,要放在 <body> 後。這篇寫的資料待求證。(因為我的網誌套用不了 〒△〒)

現行程式碼:


我一開始想用 C 語言的 struct 那樣方式來自行定義,但是 Javascript 不支援那種寫法,所以我就用兩個陣列,後來又改成一個陣列。

但我幾個月前看到 json 這東西。又因為面試完回來查資料時發現有 Object literal 這東西,雖然我到現在還沒搞懂它到底是什麼意思,反正就是這麼用了。原本查資料的時候有看到「json 不支援註解」這件事,但我在改的時候想到乾脆把註解也寫到一個欄位就好了。另一點是「中文需要轉碼」這件事,不過我是直接寫在檔案裡而不是還要另外下載並解碼,我覺得編碼這件事可以先省略掉。

改成這種寫法後,優點還蠻明顯的,就是圖片跟網址在程式碼中變成 banner[random].urlbanner[random].height。這樣程式碼不僅好寫而且也好讀很多啊!



其實當年有人提出另一個寫法的時候,就有把 banner.length 減一了。如果我當年就看得懂他寫的東西,這樣我就不用等那麼久之後才發現這個 Bug 的原因了。

您好, 小弟不小心闖進了閣下的地盤...

OK, 閣下 BLOG 蠻有趣的, 小弟不才, 野人獻曝, 也許可以幫助解決 "有時會出現,而有些時候不會出現" 的問題

首先, 小弟玩 XOOPS 時, 也做了隨機的 LOGO, 一樣 "有時會出現,而有些時候不會出現"

研究結果, "可能"是出在 Math.floor or Math.random 與 Google 某些服務有關; 巧的是, 小弟的不出現情況只發生在有使用 Google Map 的模組下... 跟 Powered bt Google 的搜尋(我也有使用)無關, 所以您查查...

我的方式, 您參考看看...

<head>
<script>
var myimages = new Array("http://lh1.ggpht.com/main_img_01.jpg", "http://lh2.ggpht.com/main_img_02.jpg", "http://lh3.ggpht.com/main_img_03.jpg");
var i = Math.floor(Math.random()*(myimages.length-1));
if (i == 0) i = 1;

function swapImage() {
document.getElementById('header').style.background='url(' + myimages[i] + ') no-repeat';
}

function PreLoadBannerImage(){//預先載入, 您可以試試
for (i = 0; i < myimages.length; i++) {
MM_preloadImages(myimages[i]);
}
}

window.onload = function () {
swapImage();
}
</script>
</head>
<body">

這是正常情況下的作法, 我幫您改好了, id 也是 header

但我突然發現, 不知 blogspot 是否允許修改 <body"> 內的東西(不熟 blogspot), 因為我為了預防 "不會出現" 的情況, 在 <body"> 內也放了這一段 <script>document.write('<div id="header" style="background-image: url(' + myimages[i] + '); background-repeat: no-repeat;">');</script> 以取代 id="header" ...

您參考囉

最後提醒:
因為 Flickr 社群規定,所以不能放首頁圖等東西於 Flickr 裡。我的做法是將他放於 Picasa 裡,普通網誌圖才放到 Flickr。

2014年4月26日 星期六

Boot Camp: 因為官網也有空格

Boot Camp 這東西是在 Mac 下想要用全硬體的 Windows 必須要使用的輔助工具。

以上都不是這篇的重點。

我這台 13" MacBook Pro 2011 Late,當初似乎是給 Boot Camp X.0 的樣子。而那時候用 Boot Camp 下載下來的驅動程式可是有包含 Windwos 7 32bit 的驅動程式。但是我昨天同樣是用 Boot Camp 抓完最新版驅動程式後,在 Boot Camp 下的 Windows 7 要安裝驅動程式時,他跳出視窗說「此檔案的版本與您執行的 Windows 版本不相容。請檢查電腦的系統資訊,判斷您需要 x86(32 位元)或 x64(64 位元)版本的程式,然後連絡軟體發行者。」。

因為我以前裝成功的經驗確定 Apple 是有驅動程式的。所以我就找啊找的~最後找到這篇文章《Boot Camp:Microsoft Windows 作業系統的系統需求》。

從裡面的連結,在《Boot Camp 支援軟體 4.0.4033》抓到 for Windows 7 32 bit 的驅動程式。

打完收工~

這邊附註一下一個東西:
  • Windows XP
    Home Edition 或 Professional,含 Service Pack 2 或 Service Pack 3(DVD 中的 Boot Camp 3
  • Windows Vista
    Home Basic、Home Premium、Business 或 Ultimate、Service Pack 1 或以上版本(DVD 中的 Boot Camp 3
  • Windows 7
    Home Premium、Professional 或 Ultimate(Boot Camp 4 或 5
  • Windows 8
    Windows 8 或 8.1、Windows 8 或 8.1 Pro(僅限 Boot Camp 5

也就是由此推知我之前 Lion 內建的 Boot Camp 是第四版的。

2014年4月9日 星期三

中國信託寰遊美國運通卡 回饋實測

這篇最主要提的就是「IKEA」、「宜家家居」不被算在中國信託定義的超市量販裡。

目前實測紀錄,以帳單上所列名稱列舉如下。

1.27% 優惠 - 好市多
好市多股份有限公司台中
COSTCO 內湖店


1% 優惠 - 量販/超市
家樂福 台北重慶分公司
家樂福 崇德店
家福股份有限公司台北內
大潤發 忠明店
大潤發 中崙店
大潤發 內湖二
松青超市 錦州二店
頂好Wellcome

1% 優惠 - 餐廳
茹絲葵 台中門市


0.3% 基本優惠 - 其他
宜家家居股份有限公司
IKEA 台中店
康是美生活藥妝店 錦州
COSTCO WHSE #0184 0000000


總結來說,可以刷美國運通的餐廳還真的蠻少的。只有高級餐廳才可以。在 1.27% 好市多回饋對象只限台灣地區的。在國外刷卡無論何種類別一律算 0.3%。

不過要提的是這張卡在國外刷美金的話手續費不是美國運通所收的 2%,也不會是一般國際交易所收的 1.5%,而是 0.5%。再加上 0.3% 的回饋,幾乎就是收 0.2% 的手續費。結論就是如果在國外的好市多要買東西,可以刷這張。

官方網站:寰遊美國運通卡

產業類別適用範圍
量販/超市
家樂福、大潤發、愛買吉安。
頂好超市、松青超市、楓康超市、以及其他商店名稱含「超市」或「超級市場」字樣且行業代碼登記為「生鮮超市」商店。
不屬於上述說明之商店,不適用現金回饋。
註:全聯福利中心,目前並非美國運通組織收單商店,因此暫不提供AE卡刷卡服務。
保險行業代碼登記為「保險」的保險公司。(含壽險與產險)
餐廳王品台塑牛排、西堤牛排、陶板屋、上閤屋、Friday's、爭鮮迴轉壽司、以及其他行業代碼登記為「餐廳」商店,不含飯店、百貨、美食街賣場之餐廳