2013年10月29日 星期二

不完美解決 ibt-1283/pvr/vod 的貼膏藥問題

.

什麼是「貼膏藥」問題

ibt 1283 系列機上盒在轉台時都會出現「電台基本資訊」的 OSD,由於時間長達五秒,因此顯得很礙眼。一整個「貼膏藥」的感覺。 ibt-1283/pvr 的「膏藥」完全不透明,1283vod 則
稍微透明。

也不是說不需要這項功能,但是應該由使用者自己決定要不要顯示才對。像 ALI 晶片的機上盒就可以由使用者設定一秒到十秒的顯示時間。


由比特公司來修改這個問題根本不必花十分鐘。 就是在轉台時不要顯示這個訊息,當使用者需要時,自己按「資訊」按鈕就好了。


























在官方修改韌體之前,有沒有什麼解決方案?

有!

「轉台後立刻再按一次其他適用的按鈕」
(第二個按鈕因為沒有作用,所以「膏藥」會提早消失)

「透過 irfake 自動轉成雙鍵」。

底下是利用 irfake 將單鍵自動轉成雙鍵的方法。



在 /usr/local/etc/rcS 中加入三行:

/sbin/insmod /usr/local/etc/irfake/venus_ir_new.ko
echo 1 > /sys/devices/platform/VenusIR/bypass
/usr/local/etc/irfake/irfake4 -b 100 -f /usr/local/etc/irfake/irfake.conf&


在 /usr/local/etc/irfake 中置入三個檔案:

irfake4
venus_ir_new.ko
irfake.conf

irfake4 有新舊版本的差異,我用的是 1.2.15 版。(linux 下輸入 irfake4 -v 可以顯示版本)

新舊版本的檔案大小也不同:











irfake.conf 的內容如下:


#
# ibt-1283pvr --> ibt-1283pvr (同 zp-600t,ibt-1283)
# 2013.10.27
#

"0","ef10ff00","ef10ff00",    MUTE
"0","f50aff00","f50aff00",    POWER
"0","bb44ff00","bb44ff00",    STOP
"0","ba45ff00","ba45ff00",    PLAY
"0","b946ff00","b946ff00",    PAUSE/STEP -> Pause
"0","bf40ff00","bf40ff00",    |<<
"0","be41ff00","be41ff00",    <<
"0","bd42ff00","bd42ff00",    >>
"0","bc43ff00","bc43ff00",    >>|
"0","b04fff00","b04fff00",    INFO -> DISPLAY
"0","b847ff00","b847ff00",    SLOW -> Slow forward
"0","b54aff00","b54aff00",    REC
"0","e916ff00","e916ff00",    RETURN
"0","f00fff00","f00fff00",    時光平移

"0","e718ff00","e718ff00",    UP
"0","e31cff00","e31cff00",    DOWN
"0","e619ff00","e619ff00",    LEFT
"0","e41bff00","e41bff00",    RIGHT
"0","e51aff00","e51aff00",    OK

"0","a857ff00","a857ff00",    RED
"0","a758ff00","a758ff00",    GREEN
"0","a659ff00","a659ff00",    YELLOW
"0","a55aff00","a55aff00",    BLUE

"0","ed12ff00","ed12ff00",    VOL+
"0","ea15ff00","ea15ff00",    VOL-

"0","ec13ff00","ec13ff00",    HOME
"0","f40bff00","f40bff00",    DTV/AV

#"0","eb14ff00","eb14ff00",    CH+
"1","eb14ff00","echo 'eb14ff00' > /sys/devices/platform/VenusIR/fakekey ; sleep 1 ; echo 'a659ff00' > /sys/devices/platform/VenusIR/fakekey",    CH+ delay YELLOW
#"0","e817ff00","e817ff00",    CH-
"1","e817ff00","echo 'e817ff00' > /sys/devices/platform/VenusIR/fakekey ; sleep 1 ; echo 'a659ff00' > /sys/devices/platform/VenusIR/fakekey",    CH- delay YELLOW

"0","fe01ff00","fe01ff00",    1
"0","fd02ff00","fd02ff00",    2
"0","fc03ff00","fc03ff00",    3
"0","fb04ff00","fb04ff00",    4
"0","fa05ff00","fa05ff00",    5
"0","f906ff00","f906ff00",    6
"0","f807ff00","f807ff00",    7
"0","f708ff00","f708ff00",    8
"0","f609ff00","f609ff00",    9
"0","ff00ff00","ff00ff00",    0

"0","f30cff00","f30cff00",    預錄設定
"0","f10eff00","f10eff00",    瀏覽

"0","a956ff00","a956ff00",    EPG
"0","b24dff00","b24dff00",    ZOOM-
"0","b14eff00","b14eff00",    ZOOM+

"0","ad52ff00","ad52ff00",    頻道表
"0","b44bff00","b44bff00",    1/ALL
"0","b34cff00","b34cff00",    A-B

"0","f20dff00","f20dff00",    錄影清單
"0","ac53ff00","ac53ff00",    解析度
"0","a45bff00","a45bff00",  左/右聲道

"0","aa55ff00","aa55ff00",    TTX
"0","ee11ff00","ee11ff00",    刪除
"0","ab54ff00","ab54ff00",  編輯



這是ibt-1283/ibt-1283pvr原本頻道切換的遙控碼:(與 ibt-1283vod 不一樣

"0","eb14ff00","eb14ff00",    CH+
"0","e817ff00","e817ff00",    CH


最早是將
CH+ 變成 CH+ 加 資訊鍵 雙組合鍵、
CH- 變成 CH- 加 資訊鍵 雙組合鍵,

這樣確實可以消除「大膏藥」,但是若機器接有 USB 硬碟或隨身碟,則在「大膏藥」消失之後還會出現「小膏藥」:






















為了消除「小膏藥」,我們可以將

CH+ 變成 CH+ 加 資訊鍵 加 資訊鍵  三組合鍵、
CH- 變成 CH- 加 資訊鍵 加 資訊鍵  三組合鍵

這樣確實可以在機器接有 USB 硬碟或隨身碟時,將「大膏藥」、「小膏藥」一起消除。


可是這樣會變成:
沒有接 USB 硬碟或隨身碟時,使用「雙組合鍵」;
有接 USB 硬碟或隨身碟時,使用「三組合鍵」。

這個明顯不實用。更何況有「來不及消除大膏藥」的現象,也就是「異台切換」時,因為時間較長,所以還是會看到「大膏藥」。但是同一家電視台內的「同台切換」則無此現象。

為了解決問題,就加入了「延遲一秒」的指令,再選用適當的鍵組成「雙組合鍵」就可以了,也就是將

CH+ 變成 CH+ 加 「延遲一秒」 加 黃色鍵 的組合鍵、
CH- 變成 CH- 加 「延遲一秒」 加 黃色鍵 的組合鍵

也就是

"1","eb14ff00","echo 'eb14ff00' > /sys/devices/platform/VenusIR/fakekey ; sleep 1 ; echo 'a659ff00' > /sys/devices/platform/VenusIR/fakekey",    CH+ delay YELLOW 

"1","e817ff00","echo 'e817ff00' > /sys/devices/platform/VenusIR/fakekey ; sleep 1 ; echo 'a659ff00' > /sys/devices/platform/VenusIR/fakekey",    CH- delay YELLOW




參考資料

IBT-1283vod 的 irfake.conf


 #
# ibt-1283vod --> ibt-1283vod
# 2013.10.27
#

"0","e31c7906","e31c7906",    MUTE
"0","e7187906","e7187906",    POWER
"0","fb047906","fb047906",    STOP
"0","be417906","be417906",    PLAY
"0","eb147906","eb147906",    PAUSE/STEP -> Pause
"0","fd027906","fd027906",    |<<
"0","b8477906","b8477906",    <<
"0","ba457906","ba457906",    >>
"0","fc037906","fc037906",    >>|
"0","a05f7906","a05f7906",    INFO -> DISPLAY
"0","e51a7906","e51a7906",    SLOW -> Slow forward
"0","f40b7906","f40b7906",    REC
"0","bc437906","bc437906",    RETURN
"0","cc337906","cc337906",    設定

"0","e9167906","e9167906",    UP
"0","af507906","af507906",    DOWN
"0","ab547906","ab547906",    LEFT
"0","ea157906","ea157906",    RIGHT
"0","ed127906","ed127906",    OK

"0","e41b7906","e41b7906",    RED
"0","c7387906","c7387906",    GREEN
"0","c6397906","c6397906",    YELLOW
"0","e21d7906","e21d7906",    BLUE

#"0","e8177906","e8177906",    VOL+
#"0","ec137906","ec137906",    VOL-

"1","fe017906","echo 'fe017906' > /sys/devices/platform/VenusIR/fakekey ; usleep 1250000 ; echo 'ee117906' > /sys/devices/platform/VenusIR/fakekey",    CH+ delay 字幕

"1","f00f7906","echo 'f00f7906' > /sys/devices/platform/VenusIR/fakekey ; usleep 1250000 ; echo 'ee117906' > /sys/devices/platform/VenusIR/fakekey",    CH- delay 字幕

"0","ff007906","ff007906",    HOME
"0","f30c7906","f30c7906",    DTV

"0","fe017906","fe017906",    CH+
"0","f00f7906","f00f7906",    CH-

"0","b34c7906","b34c7906",    1
"0","f10e7906","f10e7906",    2
"0","f20d7906","f20d7906",    3
"0","8c737906","8c737906",    4
"0","f50a7906","f50a7906",    5
"0","f6097906","f6097906",    6
"0","bb447906","bb447906",    7
"0","f9067906","f9067906",    8
"0","fa057906","fa057906",    9
"0","f8077906","f8077906",    0

"0","e01f7906","e01f7906",    GOTO
"0","e11e7906","e11e7906",    頻道往返

"0","aa557906","aa557906",    長寬比
"0","ef107906","ef107906",    ZOOM-
"0","e6197906","e6197906",    ZOOM+

"0","b14e7906","b14e7906",    喜愛頻道
"0","a55a7906","a55a7906",    EPG
"0","ee117906","ee117906",    字幕

"0","bd427906","bd427906",    聲音多重
"0","6f907906","6f907906",  L/R


感想:

為了不想看到「貼膏藥」,

請比特公司修改韌體是最好的完美解決方案。

「轉台後立刻再按黃色按鈕」以及「透過 irfake 自動轉成雙鍵」都是無奈的不完美解決方案。

這種無奈凸顯 Open Source 的重要性。

不管是機上盒、平板或手機,沒有完全 Open Source 的,我是不會再花錢買了。








.

2013年10月23日 星期三

ibt1283 / ibt1283pvr 韌體修改第二包

.


(未有韌體刷機經驗者不宜嘗試)

這個 ibt1283 / ibt1283pvr 韌體修改第二包提供可以自行增減 podcast 以及 USB IMS 的機制。

修改後,網路多媒體變成:

























「產品介紹」項目會變成讀取絕對路徑 sda1 上的 scriots/menu.rss IMS 項目。

 「韌體版本介紹」項目會變成讀取絕對路徑 sdb1 上的 scriots/menu.rss IMS 項目。

「USB 的 IMS 項目」這部分可以參考:

 http://electronmania.blogspot.tw/2013/10/ibt-1283vod-usb-ims.html


podcast 部分的修改可以參考「 ibt1283/ibt1283pvr 韌體修改第一包」:

http://electronmania.blogspot.tw/2013/10/ibt-1283-ibt-1283pvr-podcast.html







下載:
ibt1283/ibt1283pvr 韌體修改第二包 



實作概要:

1.
0000 目錄 co 到 C: 碟。

2.
install.img  co 入 C: 碟 0000 目錄。

3.
在 linux 環境下執行 go.sh。

4.
scripts 目錄 co 到 USB 隨身碟或硬碟。

(細節請參考上面提到的兩個連結)



可玩處:

1.
自行增減 podcast 連結。

2.
自行增減 USB上的 IMS 連結。




.

2013年10月15日 星期二

[單部曲] 輕鬆加減 ibt-1283 / ibt-1283pvr 的 podcast 連結

.

(本文不適合 ibt-1283vod 機型)

ibt-1283、ibt-1283pvr(雙選台) 本來就有 podcast video 播放功能,但是很多連結都已經
失效。

網路上可以找到各式各樣的 podcast video 播放站台,但是要將這些新連結放入韌體,
可不是一件輕鬆的事。

還好,現在它可以變得很簡單。概括來說,就是三個步驟:

1.找到新的 podcast video 站台網址。

2.將新的網址編入特定的文字檔 。

例如修改紅字部分:
 
 






3.生成新的 install.img。


現在就以 ibt-1283 / ibt-1283pvr 為例來說明。

目標:

要把美國新聞中的 Larry King 改成 CNN student news (CNN 為美國中學生製作的新聞節目):
























變成



















要把娛樂類別中的 Discovery channel 改成 Film Trailers (最新電影預告片):
























變成





















執行步驟:


1.
下載 1283_1283pvr_podcast  修改包
補正:修改包中的 go.sh 第五行 rm ./squashfs-root/usr/local/bin/scripts/widget_home.rss
是多餘的,但不影響結果)

把整個0000目錄放在 C: 碟中,再把 IBT-1283 或 IBT-1283PVR 韌體 install.img
copy 入 0000 目錄,變成:





















2.
下載 slacko 5.6 puppylinux iso 檔,燒成光碟。從光碟啟動 puppylinux。

為什麼要選用光碟啟動式 puppylinux ?

最主要的原因是「不用重灌硬碟」,其次是只靠光碟啟動式 puppylinux 就能達成實作任務。



啟動後,點選左下角的 sda1 (若有第二顆硬碟,還會顯示 sdb1),點選後出現紅色x號
,表示硬碟已被系統掛載:




















點選 console:























輸入 df ,會看到掛載硬碟的代號,例如 /mnt/sda1:




















切換入 0000 目錄,例如 cd /mnt/sda1/0000/ 。然後輸入 ./go.sh





















會在底下這個畫面停一段時間,看到 little endian 3.0 字串以及右下角跳動的百分比
就算是成功一半了:





















最後看到顯示 END 就是完全成功了:




















此時可以輸入 ls -l 驗證一下 install.img 的生成時間對不對(應該是剛剛),看看檔案大小
是否異常:




















點選 Menu -->Shutdown --> Reboot computer  離開 puppylinux。
(離開過程可選 DO NOT SAVE)























3.
取出 install.img 重刷 IBT-1283 或 IBT-1283PVR。




進一步修改

ibt-1283、ibt-1283pvr 的 podcast 分成世界新聞、美國新聞、科技、娛樂、體育五個類別,
其相對應的 rss 檔案分別是:


podcast_world.rss
podcast_usnews.rss
podcast_tech.rss
podcast_fun.rss
podcast_sports.rss

因此您找到新的 podcast video 網址時,只要將它編輯入相對應 rss 檔中的 item 即可。
再參考 go.sh 檔,視需要對  go.sh 進行修改。然後依上述步驟就可生成新的 install.img 。





.















2013年10月10日 星期四

VLC 2.1.0 終於能正常顯示 EPG

.

VLC 2.1.0 終於能正常顯示台灣數位電視的 EPG:






















因為 VLC 2.1.0 不能讀取舊的  channels.conf,所以必須下載新的
 tw_DVB-T_15SD+5HD.xspf 才能選台。

操作順序:

 VLC --> 媒體 --> 開啟檔案 --> 開啟  tw_DVB-T_15SD+5HD.xspf。


.






2013年10月8日 星期二

[單部曲] ibt-1283vod 增加 USB IMS

.



網路上的 IMS 站台不定時開台、也不定時關台,有時通有時又不通,要韌體內的連接能
精確對應,實在是一項不可能的任務。

雖然可以透過解開韌體來修改、來對應,但是當變動頻率變高之後,修改韌體的工作就會
變成一項人人避之唯恐不及的苦差事。

比較彈性的做法應該是把 IMS 連接的資料放到 USB 隨身碟上,需要增減 IMS 時,就只要
修改 USB 上的文字檔即可。

底下就以 ibt-1283vod 為例來實作。


實作目標:

把「 i-bt 產品介紹」改成讀取 USB sda1上的 IMS 檔案:





















也就是選取「 i-bt 產品介紹」後會變成:




















實作步驟:

1.
下載 ibt-1283vod  USB IMS 修改包

把整個0000目錄放在 C: 碟中,再把 IBT-1283VOD-TW0423_v123291 韌體 install.img
copy 入 0000 目錄,變成:




2.
下載 slacko 5.6 puppylinux iso 檔,燒成光碟。從光碟啟動 puppylinux。

為什麼要選用光碟啟動式 puppylinux ?

最主要的原因是「不用重灌硬碟」,其次是只靠光碟啟動式 puppylinux 就能達成實作任務。



啟動後,點選左下角的 sda1 (若有第二顆硬碟,還會顯示 sdb1),點選後出現紅色x號
,表示硬碟已被系統掛載:




















點選 console:




















輸入 df ,會看到掛載硬碟的代號,例如 /mnt/sda1:




















切換入 0000 目錄,例如 cd /mnt/sda1/0000/ 。然後輸入 ./go.sh




















會在這個畫面停一點時間,看到 little endian 3.0 字串以及右下角跳動的百分比
就算是成功一半了:




















最後看到 END 就是成功了:



















此時輸入 ls -l 就可看到新生成的 install.img。驗證一下
它的生成時間是不是剛剛,看看檔案大小有沒有異常:






















點選 Menu -->Shutdown --> Reboot computer  離開 puppylinux。
離開過程可選 DO NOT SAVE。























3.
取出 install.img 重刷 ibt-1283vod。




USB 上的 IMS 檔案

將 ibt-1283vod  USB IMS 修改包中的 scripts 整個目錄 copy 到 USB 隨身碟或
USB硬碟的根目錄


因為修改後的韌體會以絕對路徑 /tmp/usbmounts/sda1/scripts/menu.rss 讀取:

else if(aptitle == "USB sda1")
        {
            aplink = "rss_file:///tmp/usbmounts/sda1/scripts/menu.rss";
        }

因此,USB 隨身碟或USB硬碟都必須確認是 sda1 。(單獨接一個USB 隨身碟
或單獨接一個USB 硬碟時都是 sda1)



menu.rss 的內容簡單易懂,任何人都可以自行修改以增減項目。




套入 rss 網址就能順利工作嗎?

這裡有很多 RSS 網址:

http://www.videopodcasts.tv/

將它的 rss連結套入 menu.rss 中的


else if(aptitle == "USB sda1")
        {
            aplink = "rss_file:///tmp/usbmounts/sda1/scripts/menu.rss";
        }

並不能正常工作。

猜測可能是 1073/1283 這端無法完全解析對方的 rss格式。可能要在 1073/1283 這端

增加一些程式吧。

相對之下,要順利讀取 RSS 網址,透過 android 的 app 就容易多了。





.

2013年10月6日 星期日

平板訂閱 Podcast

.

到 Play 商店輸入  Podcast 可以找到一些 app:


















隨機找 BeyondPod for Tablets 來安裝。

安裝後:


















此時可以先按「 +填加訂閱源」 (訂閱項目來源的意思):


















共有三種方式可以訂閱項目來源,
1. 直接點選圖示
2. 輸入關鍵字搜尋 (點選右上角的放大鏡)
3. 直接輸入 RSS 網址  (點選右上角的「 導入訂閱源」)



直接點選圖示

例如點選 NASA圖示 ,出現許多項目可供訂閱:


















每個項目都有很多影音片段可以點選:



















關鍵字搜尋

例如搜尋 Linux 關鍵字:



















對影音最新發展有興趣的網友,可以搜尋 HD NATION,它到目前都還有周期性的更新。



導入訂閱源

例如直接輸入 RSS 網址 http://rss.cnn.com/services/podcasting/studentnews/rss.xml,
然後按「 保存」就可完成訂閱:




















這裡有很多 RSS 網址可以參考:

http://www.videopodcasts.tv/