throw new IllegalArgumentException("Cant find " + filenameaudio); int numStreamVideo = containerVideo.getNumStreams(); int numStreamAudio = containerAudio.getNumStreams();
int numStreams = container.getNumStreams();
double timeBase = 0; int videoStreamId = -1; private void seekToMs(IContainer container, long timeMs) { if(videoStreamId == -1) { for(int i = 0; i < container.getNumStreams(); i++) { IStream stream = container.getStream(i); IStreamCoder coder = stream.getStreamCoder(); if (coder.getCodecType() == ICodec.Type.CODEC_TYPE_VIDEO) { videoStreamId = i; timeBase = stream.getTimeBase().getDouble(); break; } } } long seekTo = (long) (timeMs/1000.0/timeBase); container.seekKeyFrame(videoStreamId, seekTo, IContainer.SEEK_FLAG_BACKWARDS); }
// create a Xuggler container object IContainer container = IContainer.make(); if(container.open(file.getPath(),IContainer.Type.READ,null) < 0) { return false; } // query how many streams the call to open found boolean isH264 = false; boolean isAAC = false; int numStreams = container.getNumStreams(); for(int i = 0; i < numStreams; i++) { // find the stream object IStream stream = container.getStream(i); // get the pre-configured decoder that can decode this stream; IStreamCoder coder = stream.getStreamCoder(); if (coder.getCodecID() == ID.CODEC_ID_H264) { isH264 = true; } if (coder.getCodecID() == ID.CODEC_ID_AAC) { isAAC = true; } } if (container !=null) { container.close(); container = null; } return isH264 && isAAC;
throw new IllegalArgumentException("could not open file: " + filename); int numStreams = container.getNumStreams();
throw new IllegalArgumentException("Cant find " + filenameaudio); int numStreamVideo = containerVideo.getNumStreams(); int numStreamAudio = containerAudio.getNumStreams();
int numStreams = container.getNumStreams();
throw new IllegalArgumentException("Cant find " + filenameaudio); int numStreamVideo = containerVideo.getNumStreams(); int numStreamAudio = containerAudio.getNumStreams();
int numStreams = container.getNumStreams();
IStreamCoder coderVideo = null; for (int i = 0; i < container.getNumStreams(); i++) { IStream stream = container.getStream(i); IStreamCoder coder = stream.getStreamCoder();
while (i < container.getNumStreams())
while (i < container.getNumStreams())
public VideoListener(IMediaReader reader, int width, int height) { this.reader = reader; IContainer container = reader.getContainer(); int numStreams = container.getNumStreams(); for (int i = 0; i < numStreams; i++) { IStream stream = container.getStream(i); IStreamCoder coder = stream.getStreamCoder(); if (coder.getCodecType() == ICodec.Type.CODEC_TYPE_VIDEO) { videoStream = i; videoCoder = coder; } } if (videoCoder != null) { videoConverter = ConverterFactory.createConverter(ConverterFactory.XUGGLER_BGR_24, videoCoder.getPixelType(), videoCoder.getWidth(), videoCoder.getHeight()); videoPicture = IVideoPicture.make(videoCoder.getPixelType(), width, height); videoResampler = IVideoResampler.make(width, height, videoCoder.getPixelType(), videoCoder.getWidth(), videoCoder.getHeight(), videoCoder.getPixelType()); } videoReaderThread = new VideoReaderThread(reader); videoReaderThread.setName("Video Reader Thread"); videoReaderThread.setDaemon(true); videoReaderThread.start(); }
while (i < container.getNumStreams()) { s = container.getStream(i); if (s != null && s.getStreamCoder().getCodecType() == ICodec.Type.CODEC_TYPE_VIDEO) {
while (i < container.getNumStreams()) { s = container.getStream(i); if (s != null && s.getStreamCoder().getCodecType() == ICodec.Type.CODEC_TYPE_VIDEO) {