Hi,
I am trying to find a solution for playing back 3 videoclips at the same time in processing. But it seems to be a VERY difficult thing to do. Nevertheless, I couldn't find too much about this in the forums what suprise me a bit or is it that everbody knows already that this is impossible?
If I use the quicktime library in processing, it runs fine for about two or three minutes, then I get this OutOfMemoryError:
I did found some forum posts related to this, but the only solution I found was to allocate less memory for processing within the preferences. But the only thing which changes is the content of the error message:
So I wonder, is there anybody out there who successfully played back more than one videoclip at a time with processing?
I also tried the GSvideo library, but when loading more than one clip, simply nothing showed up on the screen.
The code I'm trying to run at the moment, is as simple as this:
P.S.
Usually I try to avoid the video libraries, by creating JPG sequences of all videofiles and loading and displaying PImages instead (which works fine), but this time I also need the sound of the videoclips.
I am trying to find a solution for playing back 3 videoclips at the same time in processing. But it seems to be a VERY difficult thing to do. Nevertheless, I couldn't find too much about this in the forums what suprise me a bit or is it that everbody knows already that this is impossible?
If I use the quicktime library in processing, it runs fine for about two or three minutes, then I get this OutOfMemoryError:
# java.lang.OutOfMemoryError: requested 1658880 bytes for jint in C:\BUILD_AREA\jdk6_24\hotspot\src\share\vm\prims\jni.cpp. Out of swap space?
#
# Internal Error (allocation.inline.hpp:39), pid=860, tid=2620
# Error: jint in C:\BUILD_AREA\jdk6_24\hotspot\src\share\vm\prims\jni.cpp
#
# JRE version: 6.0_24-b07
# Java VM: Java HotSpot(TM) Client VM (19.1-b02 mixed mode windows-x86 )
# An error report file with more information is saved as:
# E:\processing15\hs_err_pid860.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
java.lang.OutOfMemoryError
I did found some forum posts related to this, but the only solution I found was to allocate less memory for processing within the preferences. But the only thing which changes is the content of the error message:
- # A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x66809196, pid=1696, tid=2332
#
# JRE version: 6.0_24-b07
# Java VM: Java HotSpot(TM) Client VM (19.1-b02 mixed mode windows-x86 )
# Problematic frame:
# C [QuickTime.qts+0x9196]
#
# An error report file with more information is saved as:
# E:\processing15\hs_err_pid1696.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
So I wonder, is there anybody out there who successfully played back more than one videoclip at a time with processing?
I also tried the GSvideo library, but when loading more than one clip, simply nothing showed up on the screen.
The code I'm trying to run at the moment, is as simple as this:
import processing.video.*;
Movie screenA, screenB, screenC; // the three movies
// SETUP :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
void setup(){
size(2160,480, P3D);
frameRate(20);
//xmlGetter = new XMLGetter( this );
screenA = new Movie(this, "clipsjpg//0002.mov");
screenB = new Movie(this, "clipsjpg//0003.mov");
screenC = new Movie(this, "clipsjpg//0004.mov");
screenA.loop();
screenB.loop();
screenC.loop();
cm = new ClipManager[3];
cm[0] = new ClipManager( this,524 );
cm[1] = new ClipManager( this,524 );
cm[2] = new ClipManager( this,524 );
xmlpro = new XMLProcessor(this, "cliplist_meta.xml");
}// -------------------------------------------------------------------------
void draw(){
background(0);
if(screenA.available()){
screenA.read();
image(screenA, 0, 0);
}
if(screenB.available()){
screenB.read();
image(screenB, 720, 0);
}
if(screenC.available()){
screenC.read();
image(screenC, 1440, 0);
}
}// -------------------------------------------
P.S.
Usually I try to avoid the video libraries, by creating JPG sequences of all videofiles and loading and displaying PImages instead (which works fine), but this time I also need the sound of the videoclips.
1