@Override public void run() { MP4VideoDemuxer demuxer; try { System.out.println("i = " + i); demuxer = new MP4VideoDemuxer(Paths.get("20150920_0009_Atlas_DRCPushRecoveryMultiStepTest.testMultiStepForwardAndContinueWalking.mp4").toFile()); for (int j = 0; j < 5; j++) { demuxer.getNextFrame(); } demuxer.delete(); demuxers.add(demuxer); } catch (IOException e) { e.printStackTrace(); } } }, 500, TimeUnit.MILLISECONDS);
private void streamBufferedImagesFromVideo() { YUVPicture frame; try { while ((frame = demuxer.getNextFrame()) != null) { videoListener.updateImage(converter.toBufferedImage(frame)); frame.delete(); } } catch (IOException e) { throw new RuntimeException(e); } }
private void streamBufferedImagesFromVideo() { // Now, we start walking through the container looking at each packet. YUVPicture leftEye; YUVPicture rightEye; try { while ((leftEye = leftEyeDemuxer.getNextFrame()) != null && (rightEye = rightEyeDemuxer.getNextFrame()) != null) { videoListener.updateImage(converter.toBufferedImage(leftEye), converter.toBufferedImage(rightEye)); leftEye.delete(); rightEye.delete(); //TODO: Insert eait loop } } catch (IOException e) { e.printStackTrace(); } }
while ((picture = demuxer.getNextFrame()) != null)
while ((picture = demuxer.getNextFrame()) != null)
public synchronized void showVideoFrame(long timestamp) { if (timestamp >= currentlyShowingRobottimestamp && timestamp < upcomingRobottimestamp) { return; } long videoTimestamp = getVideoTimestamp(timestamp); if (currentlyShowingIndex + 1 < robotTimestamps.length) { upcomingRobottimestamp = robotTimestamps[currentlyShowingIndex + 1]; } else { upcomingRobottimestamp = currentlyShowingRobottimestamp; } try { demuxer.seekToPTS(videoTimestamp); YUVPicture nextFrame = demuxer.getNextFrame(); viewer.update(nextFrame); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
public synchronized void showVideoFrame(long timestamp) { if (timestamp >= currentlyShowingRobottimestamp && timestamp < upcomingRobottimestamp) { return; } long videoTimestamp = getVideoTimestamp(timestamp); if (currentlyShowingIndex + 1 < robotTimestamps.length) { upcomingRobottimestamp = robotTimestamps[currentlyShowingIndex + 1]; } else { upcomingRobottimestamp = currentlyShowingRobottimestamp; } try { demuxer.seekToPTS(videoTimestamp); YUVPicture nextFrame = demuxer.getNextFrame(); viewer.update(nextFrame); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
YUVPicture nextFrame = demuxer.getNextFrame(); viewer.update(nextFrame);
while (true) picture = demuxer.getNextFrame();
while((frame = demuxer.getNextFrame()) != null && demuxer.getCurrentFrame() <= endFrame)
while((frame = demuxer.getNextFrame()) != null && demuxer.getCurrentFrame() <= endFrame)
while((frame = demuxer.getNextFrame()) != null && demuxer.getCurrentFrame() <= endFrame)