I’m making a piece that includes frames from a video - is there any way to display video (or single frames from video) in SC?
I’ve been using OSC to locate a REAPER timeline but…
I saw that there was a MovieView class as part of some or another GUI scheme but this seems to be no more… any thoughts appreciated!
Not to my knowledge.
I would do it in Pure Data + Gem (or Ofelia, but for simple display of video frames, Gem’s [pix_film] is much much simpler).
[gemhead] → [pix_film] → [pix_texture] → [rectangle 4 3] or other aspect ratio, play with the numbers for a reasonable display size
Then a [netreceive -u -b 7771] → [oscparse] to get OSC messages from SC.
If Reaper is working for you, then no need to switch away from that, though.
hjh
1 Like
Thanks James you’re a prince!
derick
December 31, 2019, 9:33am
4
Ardour comes to mind as alternative to Reaper. It has video functionality and OSC.
https://manual.ardour.org/video/
It does seem like it would be nice to have natively! I read a blog post about someone using Blender to send OSC to SC by way of scoring video so there are others with the use case…
Ardour offloads video display to a second program, xjadeo, so if you’re going that way, better to use xjadeo directly (less weight).
Stupidest software name I’ve ever seen but it promises OSC-synced video display. I’ve used it through Ardour and it works cleanly.
It’s a matter of development priorities. Currently there are 131 open enhancements (not counting bugs!) so, unfortunately, the driving factor is not that people want it – the driving factor is, who will do it.
It seems that there’s no open or closed issue for a movie view – you could open a feature request. That’s how to communicate that you would like it as a a feature.
hjh
1 Like
Done - I hate to ask, lacking the chops to help materially… Perhaps one day…
(Already 2020 in China! Americans have a few hours to go.)
Anyway, here’s a working example with xjadeo driven by OSC.
(
f = { |port(rrand(57131, 57151))|
var pid = ("xjadeo -O " ++ port).unixCmd;
[NetAddr("127.0.0.1", port), pid]
};
)
#n, p = f.(57135); // help: Assignment Statements -> Multiple Assignment
n.sendMsg("/jadeo/load", "path-to-your/video-file.mp4");
n.sendMsg("/jadeo/jack/disconnect"); // necessary for /seek to work
// random seek
(
r = fork {
loop {
n.sendMsg("/jadeo/seek", rrand(1000, 8000).asInteger);
exprand(0.05, 0.5).wait;
}
};
)
r.stop;
// play forward
(
r = fork {
var perFrame = 1/23.9;
(1000 .. 4000).do { |i|
n.sendMsg("/jadeo/seek", i);
perFrame.wait;
};
};
)
r.stop
n.sendMsg("/jadeo/quit");
Or, to sync with server latency, n.sendBundle(s.latency, ["/jadeo/seek", frameNumber]);
.
hjh
6 Likes
John_C
September 9, 2024, 1:04am
9
Sorry to reopen this topic 5 years later.
If you don’t do this:
n.sendMsg("/jadeo/jack/disconnect"); // necessary for /seek to work
Is it possible to run xjadeo and play sound out of it? Is this sound comming from SC or comming from XJadeo itself?
As I am running it on Win11 I am not sure if it is working properly.
AFAICS xjadeo doesn’t play audio at all. It displays video, synced to the audio that is playing in another app.
XJADEO - The X Jack Video Monitor documents the “disconnect” command as:
/jadeo/jack/disconnect
– Stop synchronization with JACK-transport (jack disconnect)
hjh