作者: C_Law 時間: 2011-5-10 17:59 標題: 剪接/合拼/分割 Thomson F500(8仔/同洲 oem)機頂盒錄影節目
本帖最後由 C_Law 於 2011-5-21 22:45 編輯
2011-05-21,6# 新增合拼及分割教學。
初次在這裡發帖,請多多指教。
剪接教學
我部機頂盒是 Thomson F500,已用了一年多,硬碟也接近錄滿,唯有清洗一些不再看的舊錄影節目。除此之外,對於要保留的節目,雖然機頂盒本身有提供剪接功能,但所謂的剪接只是"假剪接",並非真正將被剪去的片段從硬碟刪除,只不過紀錄剪接位置,重播時跳過被剪去的位置,所以我想,如果能夠真正把要剪去的片段刪除,就可以再空出超過 25% 硬碟空間(通常每小時節目約有 15 分鐘廣告時間,加上預校錄影時會在頭尾多錄兩分鐘,所以浪費了超過 25% 空間)。
以下是我試出來的剪接方法,剪接後的節目仍然保留所有聲道及字幕,而且可以放回機頂盒播放。聽聞這部 Thomson F500 是 8 仔/同洲 oem 機,可能我這個剪接方法也適用於同類的 oem 機(不過我無其它機頂盒去試)。我的剪接方法分為 4 個步驟:
1.備份檔案
2.剪接
3.修改節目資訊
4.分割
1.備份檔案
這部機頂盒的硬碟[資料夾]及檔案結構如下:
[PVR]
├[PVRxxxxx]┬DATA.ifo、mystream.dat
│ └[~DATA]─DATA.idx、DATA00.trp……
│
其它[PVRxxxxx]
每個錄影節目都放在一個 PVRxxxxxx 資料夾裡(xxxxx 是 5 位 16 進制數字),當中的 mystream.dat 是這個節目的資訊檔,而子資夾 ~DATA 入面的 DATA00.trp 就是實際的影音檔,如果錄影時間長,會再有 DATA01.trp、DATA02.trp……。
如果要剪接的節目曾經在機頂盒做過"假剪接",先在機頂盒把剪接還原。將機頂盒硬碟接駁到電腦,我建議把需要剪接的節目所屬的整個 PVRxxxxx 資料夾複製到電腦內的 NTFS 格式硬碟,一來剪接時會快過將經 USB 讀取機項盒硬碟內的檔案,二來萬一出錯,都可以將未修改過的備份檔抄回去。
2.剪接
軟件:Smart Cutter for DV and DVB v.1.3.8f
http://www.fame-ring.com/smart_cutter.html
http://www.fame-ring.com/smart.cutter.rar
我是用 Portable 版本,下載後無需安裝,只要解壓到一個新資料夾就可以使用。
(這是收費軟件,如果未輸入注冊碼,每個剪接位都會被加插一格水印。不過 google 一下都應該可以找到注冊碼)
開啟 smart.portable.exe,按 OPEN 開啟電腦硬碟內的 DATA00.trp。
拉動時間軸找出一段節目的開始位置(要保留的片段),按中間的一格後按 NEW START POINT。以同一方法找出結束位置後按 NEW END POINT。然後按 add list。
以相同方法找出每一段要保留的片段的開始及結束位置。
如果是長時間錄影的節目,機頂盒錄影時已分開為多個 DATAxx.trp,按 Next 會順號碼開啟下一個 DATAxx.trp。也可以按 OPEN 手動選擇下一個檔案。
如果打算剪接後放回機頂盒播放,由於這部機頂盒有時會播不到最後的幾秒到十幾秒,所以我建議設定最後一個片段的時候,將結束位置再推遲多廿秒,確保放回機頂盒播放時不會看不到結尾。
記低右上角 Result Point 最後一個片段的結束時間(不要理最後的 3 位 ms),這是剪接後的節目片長時間,以備第 3 步修改節目資訊檔時使用。
最後按 link(方格變黃色)及 Record List!,輸入新檔名後便開始進行剪接。我建議將輸出檔以 edited 為名存放在電腦硬碟裡,剪接後的新檔就是 edited.trp.12.trp。
以一個片長 1h00m44s、1.69GiB 的明珠台節目為例,剪接所用的時間大約 3 分鐘。剪去廣告後的片長是 0h42m24s,新檔的體積只剩下 1.16GiB,只是原來的大約 70%!如果要剪接高清翡翠台的節目,由於檔案體積比較大,會用更長時間。
如果剪接後不打算放回機頂盒裡播放(例如目的是在電腦播放、轉換其它格式、轉做 DVD……等等),做到這裡已可完工。
3.修改節目資訊檔
軟件:HexEdit(freeware)
http://www.physics.ohio-state.edu/~prewett/hexedit/
http://www.physics.ohio-state.edu/~prewett/hexedit/hexedit.exe
同樣是免安裝,下載後即可直接執行 hexedit.exe。
先將第 2 步記低的剪接後片長時間轉為秒,再轉換為 16 進制(可以用 Windows 內置的小算盤)。例如以上我用來做示範的節目,剪接後片長是 0h42m24s = 2544s = 09f0(hex),如果不足 100(hex) 要在前面加 00,例如 ff(hex) 要改為 00ff(hex)。如果在第 2 步沒記低片長時間,可再用 Smart Cutter 打開已剪接的新檔案,左上角的 Len(sec)就是片長時間(只要整數,不用理小數點後的數字)。
用 HexEdit 開啟機頂盒硬碟內的 mystream.dat(小心看清楚資料夾名 PVRxxxxx 的 5 位 16 進數字,不要開錯其它節目的資訊檔),如圖所示,更改屬於時間長度的 2 byte(以 00 開始計,位置就是 12~13),即是將本來的 0e 3c 改為已剪接 09 f0。如有需要,也可更改其它資料,例如位置 90(hex) 開始是節目名,每字 2 byte,編碼是 hexadecimal code points 的 Unicode,節目名以連續兩個 00 00 完結(電視台名都一樣)。有時 EPG 的節目名太長,例如加入廣告讚助名,可以在這裡修改。以下網址可把文字/Unicode 互相轉換:
http://rishida.net/tools/conversion/
完成修改後,按 File→Save as 覆蓋原來的 mystream.dat。
4.分割
軟件:Free File Splitter v5.0.1189(freeware)
http://www.filesplitter.org/
http://www.filesplitter.org/Free-File-Splitter-v5.0.1189.exe
同樣是免安裝,下載後即可直接執行 Free-File-Splitter-v5.0.1189.exe。
Right click 剪接後的 edited.trp.12.trp→內容,查看它的檔案大小(Byte),如果大過 2146893824(很怪的數字,差少少不到 2GiB),就要把它分割。如果不足或等於這數字,就不用分割,直接將 edit.trp.12.trp 抄到硬碟的 ~DATA 資料夾(小心看清楚 PVRxxxxx 的 5 位 16 進數字,不要抄錯位置)。
執行 File Splitter,將 Source file 選擇為已剪接的 edited.trp.12.trp,Destination folder 選擇為機頂盒硬碟相關的 ~DATA 資料夾(小心看清楚 PVRxxxxx 的 5 位 16 進數字,不要選錯位置),然後在 Size of a chunk 中以人手輸入 2146893824,以及將單位改為 Bytes,之後就可以按 Split 開始進行分割。以一個原本約 2.4GiB 的檔案為例,大約需要 3 分鐘。分割後的檔名會是 edited.trp.12.trp.chunkxxx,xxx 是由 001 開始的三位數字。
刪除機頂盒內硬碟內的 DATAxx.trp(xx 是雙位數字),然後將所有 edited.* 依次序改名為 DATAxx.trp(xx 由 00 開始)。
之後就可以將機頂盒硬碟接回機頂盒,嘗試開啟這節目,如果能正確播放就可以刪除電腦硬碟內的備份檔案。
總結
我試過以這方法剪接 11、16、81、84、85 台的錄影節目,當中以 TVB 台的效果最好,原來的廣告位置,經剪接後可說是看不出有被剪接過,有時翡翠台的電視劇在廣告前後會有幾句重複的對白,如果細心選擇剪接位置,甚至可以連重複的對白都剪接好。
但 ATV 台的節目就比較差,因為在廣告前後出現的那個節目名畫面,有時會同節目畫面有一兩格互相 fade in/out 重疊,而且這節目名畫面有背景音樂,連聲音都重疊,所以難以做出完美的剪接。
這方法還有一個缺點有待解決。如果錄影時間長,機頂盒原先已分開 DATA00.trp、DATA01.trp……多個檔案,經剪接後,播到原本每個 DATAxx.trp 之間的接駁位都會輕微窒一窒。
順帶一提,在電腦用 DVB Viewer 錄出來的 *.ts 檔,也可以用 Smart Cutter 做剪接,剪接後仍能保留所有字幕及聲道。
https://www.hkepc.com/forum/attachment.php?aid=1180417&k=5cc63d745f4c172bac3a33c18584d321&t=1781394997&sid=crJGBGn41D

https://www.hkepc.com/forum/attachment.php?aid=1180418&k=52a77b6e05f02cfb378ff70b1f4ca764&t=1781394997&sid=crJGBGn41D

https://www.hkepc.com/forum/attachment.php?aid=1180424&k=326f175d3b8673fcbee140606a6c7707&t=1781394997&sid=crJGBGn41D

作者: xyzxyz 時間: 2011-5-11 10:33
雖然自己不是用這幾款機頂盒,但在這篇教學中亦獲益良多。
作者: Alchemist_Gold 時間: 2011-5-16 02:37
好文已save~
作者: 小可樂 時間: 2011-5-17 18:55
好似幾正噉喎
作者: EOS 時間: 2011-5-18 21:09
提示: 作者被禁止或刪除 內容自動屏蔽
作者: C_Law 時間: 2011-5-21 22:41
本帖最後由 C_Law 於 2011-5-21 23:21 編輯
繼上次的剪接教學,今次再寫一篇合拼/分割教學,由於方法跟剪接大同小異,所以附加到剪接教學之下,不另外開新帖。
合拼教學
所謂合拼是要將多個從同一個電視台但本來是分開錄影的節目(例如電視連續劇)合拼成一個節目,合拼後可在機頂盒裡一氣呵成的播放,無需每看完一集後再到硬碟目錄找下一集,方便"煲劇"。我的合拼方法分為以下五個步驟:
一. 備份檔案
二. 剪接及合拼
三. 修改節目資訊
四. 分割
五. 複製時間搜索檔
一. 備份檔案
同 1# 的第 1 步備份檔案一樣,如果要合拼的節目曾經在機頂盒做過"假剪接",請先在機頂盒把剪接還原。
假設要合拼兩個節目,它們本來分別存放在 PVR 資料夾下的 PVRxxxxx 及 PVRyyyyy 資料夾裡,將機頂盒硬碟接駁到電腦後,首先在機頂盒硬碟的根目錄新增一個名為 PVRbackup 的資料夾,然後將 PVR 下的 PVRxxxxx 及 PVRyyyyy 整個資料夾移動到 PVRbackup(由於只是在同一個硬碟機 partition 內移動,所以應該差不多即時完成移動),再在 PVR 資料夾下新增一個 PVRzzzzz 資料夾(zzzzz 是 5 位 16 進制數字,只要不是跟機頂盒內已有的資料夾撞名就可以)以及在它之下新增一個 ~DATA 子資料夾,新增及移動資料夾後的架構如下:
機頂盒硬碟
│
├[PVR]
│ │
│ 其它[PVR*****]
│ │ └[~DATA]
│ │
│ └[PVRzzzzz] ←新增的資料夾─┬合拼後的新節目存放位置
│ └[~DATA] ←新增的資料夾─┘
│
└[PVRbackup] ←新增的備份資料夾
│
├[PVRxxxxx] ←┬從[PVR]移動過來(要合拼的第一個節目)
│ └[~DATA] ←┘
│
└[PVRyyyyy] ←┬從[PVR]移動過來(要合拼的第二個節目)
└[~DATA] ←┘
最後將 PVRxxxxx 及 PVRyyyyy 內的 mystream.dat 改名為 mystream.dat.old(雖然機頂盒錄影新節目時只會在 PVR 下開新的 PVR***** 資料夾,但原來當機頂盒開啟硬碟目錄時會搜尋整個硬碟內的所有 mystream.dat,即使已被搬遷到 PVR 資料夾以外的節目,仍然會出現在目錄中,所以要改名)。
二. 剪接及合拼
同 1# 的第 2 步剪接一樣,執行 smart.portable.exe,先設定好第一個節目 PVRxxxxx 的 ~DATA 資料夾內所有 DATAxx.trp 的剪接點。然後按 Open 開啟第二個節目 PVRyyyyy 的 ~DATA 資料夾內的 DATAxx.trp 繼續設定第二個節目的剪接點。如有更多節目要合拼,也是以相同方法繼續加上去。
我在 1# 有提過,設定最後一個節目的最後一個片段時,應將結束時間推遲 20 秒,以免放回機頂盒播放時看不到結尾。
設定完所有節目的剪接點後,記低右上角 Result Point 最後一個片段的結束時間(不要理最後的 3 位 ms),這是剪接及合拼後的節目片長時間,以備第 3 步修改節目資訊檔時使用。
最後按 link(方格變黃色)及 Record List!,輸入新檔名後便開始進行剪接及合拼。由於要將多個節目合拼,合拼後的檔案體積將會很大,所以必需儲存到電腦的 NTFS 格式硬碟,我建議以 edited 為名存檔,完成後的檔案名是 edited.trp.12.trp。
三. 修改節目資訊
同 #1 的第 3 步修改節目資訊一樣,先將上一步記低片長時間轉為秒,再轉為 16 進制。
用 HexEdit 開啟第一個節目 PVRxxxxx 的 mystream.dat.old 更改片長時間(以 00 開始計,位置是 12~13)。如有需要可更改節目名,詳情可參考 1# 的第 3 步,但注意不要用太長的節目名,以免錯誤覆蓋後面的其它資訊。
最後按 File→Save as 以 mystream.dat 為名存檔到 PVR\PVRzzzzz 資料夾裡(小心看清楚 5 位 16 進數字 zzzzz,不要錯誤覆蓋其它節目的資訊檔)。
四. 分割
同 #1 的第 4 步分割一樣,如果 edited.trp.12.trp 的體積不足或等於 2146893824 Byte,就直接把它複製到 PVR\PVRzzzzz\~DATA 資料夾裡(小心看清楚 5 位 16 進數字 zzzzz)。如果它的體積大過這數字,就要用 File Splitter 將它分割並存檔到 PVR\PVRzzzzz\~DATA 資料夾裡(小心看清楚 5 位 16 進數字 zzzzz)。
最後按次序將 PVR\PVRzzzzz\~DATA 資料夾內的所有 edited.* 改名為 DATAxx.trp(xx 由 00 開始)。
五. 複製時間搜索檔
這是專為合拼需要而新增的一個步驟。在 1# 的第 1 步備份檔案中提到每個錄影節目資料夾內的各個檔案和子資料夾,當中的 DATA.ifo 及 DATA.idx 是至今都沒有講過它們的用途。雖然我看不懂這兩個檔案的內容,但從網上爬文所知,這部機頂盒要靠這兩個檔案進行前後搜畫及跳躍,所以我把它們稱作時間搜索檔。由於要將多個節目合拼,合拼後的總片長會長過原來個別節目的片長,因此原來的 DATA.ifo 及 DATA.idx 已不足應用。例如兩個連廣告原本各自有 60 分鐘片長的節目,剪去廣告及合拼後的總片長是 90 分鐘,如果用舊的 DATA.ifo 及 DATA.idx,播放合拼後的新節目時,只有在最初的 60 分鐘範圍可以進行搜畫,播到 60 分鐘後就只能作普通播放,或是會突然停下來。
為解決這問題,可以從其它錄影節目借用這兩個檔案,只要是同一個電視台錄出來的節目,而且片長是長過合拼節目的總片長,就可以借過來用。如果從未試過長時間錄影,可以找個不用錄影其它節目的時間故意進行一次長時間錄影(例如晚上睡前開始錄影,早上起床後才停步,不過緊記要設定機頂盒錄影時不要按 EPG 自動分割節目),錄完後備份這兩個檔案並改名為 xx.DATA.ifo,及 xx.DATA.idx(xx 是這次錄影的台號),然後就可以刪除這個錄影節目,如果以後要合拼這個台的節目就可以用這兩個檔案。
將 DATA.ifo 複製到 PVRzzzzz 資料夾,以及將 DATA.idx 複製到 PVRzzzzz\~DATA 資料夾後,就可以將硬碟接回機頂盒,嘗用從機頂盒播放這個新的合拼節目,如果能正常播放,就可以刪除在 PVRbackup 資料夾下的 PVR***** 備份檔。
總結
我試過將合拼後的新節目放回機頂盒,結果能正常播放,所有聲道及字幕都保留。如果播放時用機頂盒落標記(按搖控器 Info 鍵後再按綠色鍵),之後也可以正常跳到標記位置(按 Info 鍵後再按黃色鍵)。前後搜畫或跳躍也大致上算是正常,唯有是當這個新節目差不多播到尾的時候,如果再要向前跳,而所跳去的位置是超出新節目的片長,就會在結尾位置停下來,不能再倒後搜畫,只能按 Play 再從頭播放,或按 Stop 反回即時電視廣播畫面。例如新節目總片長 2h17m,如果已播到 2h10m 時用搖控器跳前 1/8(即是約 17 分鐘)到 2h27m(按 Info 鍵後再按紅色鍵),超出了片長時間,畫面就會停在結尾位置,如果是機頂盒正常錄影出來的節目,在這情況下再按 Rewind 鍵是可以從結尾位置開始倒後搜畫,而合拼後的新節目一旦跳躍超出總片長的位置就不能再向後搜畫。
我目前只試過將上個月在明珠台(84)播放的三集"血洗白教堂(II)"合拼成一個節目(英國短篇連續劇,一季就只有三集),相信其它台的錄影節目也能用這方法合拼(暫時沒計畫去試),不過我估計兩個時間搜索檔是跟電視台有關,84 台的 DATA.ifo 及 DATA.idx 未必可以用於合拼 81 台的節目,所以可能需要每一個台都做一次長時間錄影,以得出各台的時間搜索檔。除此之外,我估計不同台的節目也未必可以合拼在一起,尤其是 81,85,根本是兩個不同的廣播格式,雖然我未試過,但幾乎可以肯定它們是不能合拼。
至於合拼長度方面,如果太貪心將整套 20 集的連續劇合拼在一起,雖然是可以一氣呵成的播放,但總片長時間太長會不利於搜畫(例如一套 20 集一小時的節目,除去廣告後約 900 分鐘,這機頂盒只可以以每分鐘或是 1/8 總片長的間隔前後跳,如果想跳去第 2 集,就要按 45 次前跳 1 分鐘,如果用 1/8 前跳,一跳就已經去到第 3 集中間)。所以我建議每 4~5 集合拼成一個節目,4 集的好處是因為機頂盒可以以 1/8 總片長間隔前後跳,每跳 1/8 就即是大約跳半集,這樣比較方便按集數搜畫。5 集就剛好是一個星期,比較方便管理。
另外還有一個小貼士,機頂盒開啟硬碟目錄時,是以各節目的錄影起始時間排序(即是 mystream.dat 入面的 14~1B 位置),假設一套 20 集的電視劇,每集的播放時間是晚上 8 點半,如果以每 4 集合拼為一個節目計我建議修改節目資訊檔時,第 1~4 集合拼後的節目資訊檔源用第 1 集的日期,但將時間的分改為 1(以 00 開始計,位置是 1A),之後每一個合拼節目都用第 1 集的日期時間,但將分再加 1。以後在機頂盒開啟硬碟目錄時,整套電視劇的幾個合拼節目就會在目錄中按次序排列在一起。
分割教學
當我寫這篇合拼教學時,中途忽然想到除了合拼之外,也可以做分割。例如機頂盒沒設定按 EPG 分割節目,連續錄影時將多個電視節目當作一個節目,就可以用這方法將每個節目分割成獨立的節目。每個節目都在 PVR 之下開一個 PVR***** 資料夾及 ~DATA 子資料夾,照樣跟第一至四步去做,至於第五步,由於分割出來的節目必然短過原來的節目,所以可以直接用原來的 DATA.ifo 及 DATA.idx。雖然我沒真正試過這樣做,但估計應該是可行。

