為這件事測試了兩三天
當預設的foreman系列已經可以正常的編碼解碼
要怎麼把自製的未壓縮yuv影片丟給h.264解碼呢?
錯誤分隔線
我最先使用VirtualDub-1.8.6將檔案轉成yuv形式
在完整壓縮模式中選擇Helix YV12 YUV的壓縮
理論上是要得到YUV420P的檔案(把壓縮出來的影片丟到VLC的確也是可以看)
然而丟去給JM編碼成h.264卻總是錯誤
而且解回來的東西也總是錯誤的
正確分隔線 首先推薦一款軟體YUVTools(我是用試用版3.0)
http://www.sunrayimage.com/
用YUVTools的avi轉成YUV
YUV檔案的設定(如下圖)
在這裡我要強調Image Resolution的設定
我影片是用640*480的
依照上圖我是設定成Customized WxH=640*480
但有沒有發現他還有個選項VGA640*480
但是兩個是不一樣的!!!!!
YUV格式的東西我不是很懂,也許是存檔後Header不相同
但以結果論要設成 Customized WxH=640*480 JM才可以正常編碼
轉出來的YUV檔你丟到VLC看會發現他只會出現綠頻
但用YUVTools裡面的YUVPlayer設定好則可以正常播放
「註」YUVPlayer播放VirtualDub轉出來的東西反而會顯示錯誤 怎麼調都調不好
大概就降
用這個軟體編出來的YUV丟給JM code編出來的test.264用VLC可以看
解回來的test_dec.yuv VLC不能看但是YUVPlayer可以看
有問題的話可以問我
怎麼問我我也不知道
我一定要碩二順利畢業 H.264可惡啦!
4 意見:
Hello 你好:
我想請問你,JM 的程式抓回來後要怎麼去執行 ?
我抓的是JM 17,用Visual Studio 2008.
我有找到一本書
但裡面只有H.264 code 的部份trace
沒有告知要怎麼執行,
如果以Foreman.yuv 檔案的編碼為例
要對哪一個程式或專案進行編譯,
才能看到結果 ?
請問你有相關的教學檔嗎
或可以請你說明嗎
謝謝你
:)
yslin
您好:
關於JM 的程式抓回來後要怎麼去執行?
請參照JM官網上的說明檔案
( http://iphome.hhi.de/suehring/tml/JM%20Reference%20Software%20Manual%20%28JVT-AE010%29.pdf )
1.首先開啟提供VC2008的專案檔"jm_vc9.sln"
參照PDF說明檔案2.1節(Windows using MS Visual Studio .NET)
2.在正確路徑command Line下編碼Foreman.yuv成H.264
看PDF說明檔案第3.1節(Encoder Syntax)
請多利用PDF說明檔,希望對你有幫助
真抱歉今天才又找到你的blog :
非常謝謝你提供的資訊
這對我有很大的幫助
:)
請問一下 :
當我要模擬時,packet loss rate 3%,5%... 要如何去設定,
我參考JM文件裡看不出它的設定,是要用到無線網路來模擬,還是只要從rtp_loss其中的程式去設定呢 ?
謝謝
張貼留言