2011-06-14 34 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);