我寫過的軟件之TS Expert

(工作N多年了,一直想着花點時間把一些比較有價值或者印象比較深的東西記錄下來,一直沒有動手,現在終於真的動手了,準備先把以前自己寫過的軟件一個個回顧一下。大笑
 
本篇打算記錄一下TS Expert
 

因爲工作的關係,經常需要用到DVB TS流分析工具。在網上找了幾個,基本上不盡人意。有幾個比較好用的,也是商業的,使用的時候還得綁定到硬件上。2006年左右決定自己動手寫一個,花了大半年業餘時間寫完了一個,取名叫做TS Expert。丫的,SI/PSI中的descriptor太多了,雖然沒有太多的技術含量,一個個分析還挺耗時間。原來想靠這個軟件賺點錢,做了一個簡單的授權證書,大笑。後來也沒有花精力去做推廣,估計不會有多少實際的收入,就放了一個版本到CSDN上面,把一個license也放進去(那個license只是簡單的時間檢查)。有些網友表示願意支付一些費用來得到一個沒有時間限制的版本,不過想想估計也沒有多少錢,有給我發郵件的人我基本上給他們發過一個沒有時間限制的版本。

比較不爽的是收到iPanel公司一個工程師的郵件,索要代碼,我不給,丫的竟然給我發來一堆罵人的話。。。我都懶得回他郵件了。被狗咬了一口,我不能反咬狗一口啊。。。生氣

 
TS Expert主要是從工程師角度來考慮的(因爲我以前也是工程師。現在算是工程師嗎?是嗎?不是嗎?是嗎?不是嗎?算了。。。算0.5個工程師吧。。。)。原來分析碼流的時候對碼流工具有2個期望:
  1. 提取出有用信息,並把信息進行彙總。
  2. 能夠一個字段一個字段地分析,包括每個字段的名稱、長度、值以及在碼流中的位置。


在設計TS Expert的時候就把這2個基本目標列進去了,再給自己列了一些具體的需求:
  1. SI/PSI表顯示
  2. 支持所有的描述子
  3. 支持多個版本SI/PSI表
  4. 多個視圖顯示數據
  5. 數據量統計
  6. 重複次數顯示
  7. CRC校驗、錯誤檢測
  8. 支持TS包/PES包的分析
  9. 自定義提取TS包、Section和PES包
  10. CRC、CSA輔助工具


CSA算法是從VLC裏面扒下來的,自己整理了一下。其他的代碼都是自己慢慢碼上去的,一邊看規範一邊寫代碼,還一邊造數據來做測試,自己寫軟件還是比較專業的。

放了一個最新版本到下面位置,有需要的自己下載去吧:TS Expert

TS Expert的代碼量差不多2.5W行,用VC 寫的。寫完TS Expert之後,自己對TS流的邊邊角角都比較清楚了。把這個軟件共享給公司的同事用,無意中贏得了大牛的稱號,經常跟他們開玩笑說用我的軟件得給錢,到目前也沒有誰爲此請我吃頓飯,這些人。。。 


附帶一些界面截圖,有DVB知識的人應該看得懂。截圖不是最新的,後來又陸陸續續加了一些新功能,沒有重新截圖。

主界面

主界面


PID列表PES包分析

PID列表 && PES包分析


搜索數據

搜索數據


CSA

CSA


CRC

CRC

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章