2011-06-14 73 views
0

我正在構建一個使用Xuggler導出h264編碼錄製的導出應用程序,以便它可以在外部播放器(將視頻錄製到.avi或.mp4容器中)中播放。Xuggler-Java-如何從字節數組創建數據包?

我很想知道如何從代表視頻幀的字節數組創建IPacket。需要設置IPacket的哪些參數以及這些參數應包含哪些值? 再次設置什麼參數以及收集數據包的容器的值應該是多少?

+0

爲什麼不用IContainer讀取視頻,它會自動爲您設置數據包?請參閱http://build.xuggle.com/view/Stable/job/xuggler_jdk5_stable/javadoc/java/api/com/xuggle/xuggler/IContainer.html – jontro 2011-06-14 15:44:44

+0

我有義務使用由字節數組表示的框架。我不知道如何設置時間戳,點和dts以及這些如何影響視頻錄製的長度。 – player 2011-06-14 22:51:27

+0

packet = IPacket.make(IBuffer.make(null,data,0,data.length));併爲該數據包設置適當的時間戳:\t packet.setTimeStamp(time);和packet.setTimeBase(IRational.make(1,1000)); int pksz = packet.getSize(); packet.setComplete(true,pksz); – player 2011-07-25 16:28:36

回答

4
packet = IPacket.make(IBuffer.make(null, data, 0, data.length)); 
packet.setTimeStamp(time); 
packet.setTimeBase(IRational.make(1,1000)); 
int pksz = packet.getSize(); 
packet.setComplete(true, pksz);