xuggle学习-IContainer

IContainer可用于本地视频流或网络视频的读取。基本用法如官方:

IContainer container = IContainer.make();
if (container.open("myfile.flv", IContainer.Type.READ, null) <0)   throw new RuntimeException("failed to open"); 
int numStreams = container.getNumStreams(); 
for(i = 0; i < numStreams; i++) {   
IStream stream = container.getStream(i);   
...query IStream for stream information... 
} 
IPacket packet = IPacket.make(); 
while(container.readNextPacket(packet) >= 0) 
{   ... Do something with the packet... } 
container.close();


在xuggle中,make方法一般用于创建对象。

IContainer.make()-创建一个容器用于存储视频流

open("myfile.flv", IContainer.Type.READ, null):open打开myfile视频流(也可读取实时网络视频流),IContainer.Type.READ即从url读取流,若为write则写入指定文件。若能正确读取流则返回值大于0,若小于0,可将返回值定义为IError,可获取错误数及类型,常见有error_IO(暂时未读取),error_eof(读流中断,如网络中断).此方法需配合close使用。

getNumStreams:获取视频流数量。

getStream:获取指定流 。然后可进行相关处理,如分离视频与音频流( stream.getStreamCoder()=ICodec.Type.CODEC_TYPE_VIDEO)

readNextPacket:开始读流操作,若返回值>= 0,则已获取流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值