Kind of slow motion player for Live input


  • Hello, did some one try to create a Live slow motion on a Live camera ? It's easy capture from syphon or video in watcher then stop capture and run the movie file with a movie player at 50 % .

    But how to play slower in the same time it's captured ?

    I tried to increase frames from a video delay actor but each time I change the value it goes to black for a second...

    Any idea ? Thanks

    Fred


  • Hi @fredvaillant 

    I've played around with this awhile back. I would try capturing the live feed in a buffer Actor and then use an envelope generator to playback the buffer 'select' at whatever speed you like. I've copied the link to an old forum post that I offered a similar suggestion for looping a live feed.

    https://community.troikatronix...

    Cheers,

    Cam.


  • @fredvaillant

    Hello Fred,
    The only way, in my opinion, would be to use buffer and play with recorded/played number of image but the storage will be very quickly huge, with your GPU memory going full and a crash coming soon. It' linked to how long you need.

    With recorded file, you cannot play it as you record it.

    See you in Paris,

    Jacques


  • Thanks, unfortunately it was what I thought. I already tried the buffer solution but 1000 frames is not enough. The request was for 2 minutes (with 2 Live cam running in Modulo through SDI...) I was thinking, if I found a solution, adding a patch with izz re-ingested in Modulo with NDI because I already use an NDI cam in the project. I'm open to other software or hardware solutions.

    Thanks and Jacques, I'll tell you when I'll work in Paris.


    Fred


  • @cambrucedavis

    Hi Cam, by playing a little more with your solution, I've been able to have my wish for a little time. Thanks, I'll dig this option.


  • outside of Isadora this process looks like it would enable you to record a file to disk, and stream from it at the same time https://stackoverflow.com/questions/39689245/keeping-video-file-playable-while-recording-to-it might provide a route to then play it back at slower speed with disk space to play with


  • @fredvaillant It is a tough call, but with a bit of work you could make something that saved every incoming frame as a still image and loaded those stills at a slower rate than they are being made. This will not give great smooth slowmo, no frame interpolation, but it should work ok and be not too hard to implement. It gets you out of a lot of issues like having a video file read while it is being written. This could be achieved pretty easily in processing or openframeworks (you could probably even run a generic video capture tool and be save the stream as an image sequence. I am not sure what state programmatic media loading is in Isadora - it used to work with some apple script on OSX, but I think it interrupted the software.

  • Tech Staff

    Not sure if it would work for your use-case, but you could split the live feed signal and send it to two capture devices each feeding to a different computer. One computer you use for the live "first pass" with whatever live slow-mo solution you deem to be best, while the second computer records the live feed to disk, which is then played back from the second pass onwards and streamed to the first computer over NDI.

    Just a thought.


  • @woland

    but this wouldn't allow the slowmo playback to start in realtime, which i think is the desired effect.

  • Tech Staff

    @woland said:

    One computer you use for the live "first pass" with whatever live slow-mo solution you deem to be best

     @dbini 

    The first pass is done live with the best possible live solution. I'm unclear on whether this is being looped, which is why I talked about using a second computer for playback of a recorded-to-disk file with actual speed control from the second pass onwards.


  • There are a number of apps aimed at NDI production that enable you to save video to a file, and start editing it with another app while that is happening.


    I have just tried the demo version of https://softron.tv/products/mo... on my Mac, and am able to start saving a file on my hard drive, then add that to a Isadora project, and select it in a movie player and alter the playback speed while it plays. I set the app to keep recording over the old file each time you recorded and as long as you changed the selected movie in Isadora and then reselected the file, it played the new file.

    Haven't tested it extensively but appears to work, and you are now limited to the size of the drive you are saving the movie too (it will create a switching issue with the maximum size of a file permitted in your system - at that point it starts recording into a new file). Not sure whether the app is automatable but it is aimed at production environments so would be surprised if there weren't some options. Bad news is its aimed at commercial video production so is 495 euros


  • @nick

    obs has a built in "instant replay" skript. it works absolutly rock solid by shortcut. we use it for years. at the moment we output the media source the skript is manipulating, via ndi to izzy for monitoring. and put the part of the obs replay buffer which is safed by obs automaticly, to a observed folder and let it convert to some storage and archiv files. some times we use a combination out of trails feedback and stopmotion effects to simulate something near like you want to do.

    thx.

    r.h.


  • ...and all absolutly open source....


  • Thanks to everyone for those several propositions. As it is often the case, because of lack of time, the Director didn't keep this path. the Premiere is tomorrow...

    I'll take time later to experiment for my own some solutions. Maybe this topic will be usefull for someone else.