2008年5月22日 星期四

實驗八 9326259 葉友綸

1.使用ffmpge程式去對TUV檔案轉成m4v的檔案



2.轉成m4v檔案後,在使用MP4BOX檔案將影片轉成MP4



3.把影片轉成 mp4 之後,利用 mp4trace 程式將影片中的
每一個 frame 相關資訊擷取出來並放到副檔名為 st 的檔
案中



4.使用 ns 模擬網路效能



5.經由模擬產生的 sd rd 及影片記錄檔 foreman_qcif.st
和 mp4 檔案,經由etmp4程式產生一個有畫面遺失的
mp4影檔。並在使用ffmpeg將重建後的檔案mp4轉成
m4v影片檔



6.使用程式 avgpsnr 去針對 yuv 影片檔及原始 yuv 影片
檔,獲得重建後的 yuv 影片的 PSNR 值大小



7.產生 GOP length 9

實驗七 9326259 葉友綸

1.模擬Lab7並得到 sd及 rd 兩個檔案



2.獲得Verbose_StarWarsIV.st檔即是影片記錄檔



3.使用 et這個程式去進行評估的動作
並可瞭解平均的延遲時間及最大延遲



4.封包延遲








5.畫面延遲





6.封包抖動率





7.畫面抖動率

2008年5月15日 星期四

實驗六 9326259 葉友綸

1.將YUV檔轉成m4v
執行 ./ffmpeg.exe -s qcif -vcodec mpeg4 -r 30 -g 9 -bf 2 -i foreman_qcif.yuv foreman_qcif.m4v



2.轉成m4v之後,使用MP4Box檔案再轉成mp4檔案
./MP4BOX.exe -hint -mtu 1024 -fps 30 -add foreman_qcif.m4v foreman_qcif.mp4
發生問題找不到"msvcr70.dll"
http://www.dll-files.com/dllindex/dll-files.shtml?msvcr70下載
並將檔案放到lab6的資料夾內



執行成功!!!



3.影片轉mp4檔之後,利用mp4trace程式將影片中每一個frame相關資訊取出來,並放到副檔名為st的檔案中



4.使用EXCEL開啟附檔名為st的檔案
但是不懂他所要表達的意思



5.模擬封包的傳送,採用random uniform error model 和 multicast傳送
錯誤率設為0.01 seed為1 最大封包大小為1024bytes
可以觀察到video source 送出659個封包,接收到651個封包
因此可以計算出它的遺失率為:(659 - 651) / 659 = 0.012











6.經由etmp4產生一個有畫面遺失的mp4影片檔(檔名為 foreman_qcife)
並使用ffmpeg程式將mp4檔案重建為yuv影片檔



7.使用avgpsnr程式去針對重建後的yuv及原始yuv,獲得重建後yuv的PSNR值的大小



8.經過比較後左邊影片較清晰

2008年5月8日 星期四

實驗五 9326259 葉友綸

1.情境一
使用統一模型和multicast傳送
執行 ns lab5.tcl 0 0 0.1 0 0 0
模擬結束後產生 sd 傳送紀錄檔和 rd 接收記錄檔
並計算封包遺失率:(12351-11124)/12351 = 0.099
這跟設定的網路底層遺失率為0.1很接近









2.情境二
使用統一模型unticast傳送
執行 ns lab5.tcl 0 0 0.4 0 0 0
模擬結束後產生 sd 傳送紀錄檔和 rd 接收記錄檔
並計算封包遺失率:(12351-12061)/12351 = 0.0234
這跟設定的網路底層遺失率為0.4的四次方0.0256很接近





3.情境三
使用GE模型unticast傳送
執行 ns lab5.tcl 0.96 0.94 0.001 0.05 1 0
模擬結束後產生 sd 傳送紀錄檔和 rd 接收記錄檔
並計算封包遺失率:(12351-12118)/12351 = 0.0188
這跟理論值0.01 * (1 - 0.94) + 0.05 * (1 - 0.96) /((1-0.96) + (1 - 0.94 ))
= 0.0206 很接近






課本上的執行型指令有錯誤
情境一 更正後為 ns lab5.tcl 0 0 0.1 0 0 0
情境二 更正後為 ns lab5.tcl 0 0 0.4 0 0 1
情境三 更正後為 ns lab5.tcl 0.96 0.94 0.001 0.05 1 0

實驗四 9326259 葉友綸

1.執行 ns wired-measure.tcl
模擬結束後會產生tcp_sink、sd_udp、rd_udp三個記錄檔。
並開始計算CBR封包遺失率
從sd_udp檔案中,可以得到550筆記錄檔;
從rd_udp得到542筆紀錄檔
因此封包遺失率為:(550-542)/550 = 1.45%





























2.求得封包延遲時間
執行 awk '{print $1, $4}' rd_udp >cbr_delay
並使用gnuplot畫出cbr_delay































3.求抖動率
執行 awk -f measure-jitter.awk rd_udp > cbr_jitter
同樣也是使用gnuplot畫出cbr_jitter
















4.求吞吐量
執行 perl measure-throughput.pl rd_udp 0.5















6.無線網路的CBR封包遺失率計算
執行 ns wireless-measure.tcl
從sd_udp檔案中可以得到435筆資料;
從rd_udp檔案中可以得到205筆資料,
因此封包遺失率為(453-205)/453 = 54.74%




























7.求封包延遲時間
執行 awk '{print $1, $4)}' rd_udp > cbr_delay
並使用gnuplot畫出cbr_delay




8.計算抖動率
執行 awk -f measure-jitter.awk rd_udp >cbr_jitter
同樣使用gnuplot畫出cbr_jitter
















9.計算吞吐量
並得到Average rate : 517.429