Previous topicNext topic

Video playback controls (transport controls) ... position

Suggestions for new features for Magic.
Post Reply
truthc
Posts: 16
Joined: Mon Jun 25, 2018 1:36 am

Video playback controls (transport controls) ... position

Post by truthc »

Hey,

I wish the video playback start and end time creation was easier to deal with. :) :roll: Neither can I advance or find my video positions without guessing. What is the mathematical formula for calculating the conversion in order to enter the minutes and seconds? I thought I had it correct for the end time by the video looped to soon during the show. :oops: :evil:

Are there any transport controls? How do you advise in regards to video playback? To switch tabs with the Playlist window to playback a video on cue?

Best regards
-Truth
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: Video playback controls (transport controls) ... positi

Post by Magic »

The Start Time and End Time parameters aren't meant to be used during a live show. Usually you would figure out the looping beforehand... unless I'm not understanding?

I'm not 100% sure what you mean by mathematical formula, but there are 60 seconds in a minute, so 1:30 (one minute and 30 seconds) = 90 seconds... does that help?

There are many, many ways to play a video on cue. But as one example of some simple start/stop functionality, you can toggle the Speed parameter between 1 and 0. And if you link this to MIDI you now have a physical play/pause button.
Sadler
Posts: 1139
Joined: Sat Aug 02, 2014 7:10 pm
Location: London, UK

Re: Video playback controls (transport controls) ... positi

Post by Sadler »

I have a program called Media Info that sits in my context menu. If I want to know the duration of a clip I must open a file selector from the video module, right click and choose Media Info to note the duration then cancel the file selector dialogue. Then I convert mentally from MM:SS to seconds to set the end-time of a video. It's a bit inconvenient. It would be nice to scrub to an end point then be able to set end-time with a click.

If I want to fine-tune the start-time of a video, that requires opening it in another program (ideally with frame accuracy) to find the desired start point. Also a bit inconvenient.

I don't have any issues randomising the start-time and jumping to it on the beat - in fact I use that technique a lot. However, even if ST and ET are not intended to be changed during a live performance, I think there is still some scope for video information and transport control for scene development purposes.
truthc
Posts: 16
Joined: Mon Jun 25, 2018 1:36 am

Re: Video playback controls (transport controls) ... positi

Post by truthc »

I was mistaken. I'm new and thought the HH:MM:SS had to be converted to seconds instead of minutes.seconds, so I messed up the video end time because I was setting it up during the show due to circumstances. Oddly, using 2.12, the over 1 hour video looped after about 15 minutes but I haven't been able to replicate the problem.

What time is it? It's not "minutes time.seconds" but HH:MM:SS. I'm not used to calculating the minutes in my head. A 1 hour 23 minute and 04 second video position mark is "83.04" but I'm not used to thinking in those terms. I'd rather have the HH:MM:SS format.

Yes, exactly, I mean for live use (for busking) because out of a library of folders of videos, or downloads, I can't predict what videos apply to each song for live bands. The beginning of a song may hint at the appropriate content from which to grab a sample.

I found myself having to navigate to the video folder from another software to open it and find the start and stop position times. Opening another window during a live show is not ideal.

I really wish there was a visual way to pick the start and end times instead of dealing with "raw" numbers. Numbers are low level. A higher level abstraction layer with GUI for scrub position ( I think it's called the scrub bar) and transport control (Play, Stop, Pause, etc.) would simplify and speed up the process. Moving a scrub bar, perhaps via a transport control node, if the start and end indicators of the scrub bar then automatically became the start and stop times that'd be more practical.

Yes, I've found 0 stops and 1 plays at normal speed. I don't have a MIDI controller at the club yet so entering the numbers with the keyboard - 0 enter to pause, is not ideal.
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: Video playback controls (transport controls) ... positi

Post by Magic »

I'm new and thought the HH:MM:SS had to be converted to seconds
Yes, that's correct.
What time is it? It's not "minutes time.seconds" but HH:MM:SS. I'm not used to calculating the minutes in my head. A 1 hour 23 minute and 04 second video position mark is "83.04" but I'm not used to thinking in those terms.
That's not correct. It's 4 + 23*60 + 1*60*60. ;)
I'd rather have the HH:MM:SS format.
The purpose of having the parameter be a single number is that you can link it, do some math on it, and control it in many different ways. You can't do math with HH:MM:SS or MM:SS.
I found myself having to navigate to the video folder from another software to open it and find the start and stop position times. Opening another window during a live show is not ideal.
I really wish there was a visual way to pick the start and end times instead of dealing with "raw" numbers. Numbers are low level. A higher level abstraction layer with GUI for scrub position ( I think it's called the scrub bar) and transport control (Play, Stop, Pause, etc.) would simplify and speed up the process. Moving a scrub bar, perhaps via a transport control node, if the start and end indicators of the scrub bar then automatically became the start and stop times that'd be more practical.
Ok, honestly I'm not sure if Magic is the right software for you? It sounds like you need more of a traditional video player, and there are lots of "high-level" ones available. Magic is intentionally a "low-level" program. There are much better things out there if your goal is to be able to load and loop video clips dynamically during a performance, especially if the clips are more than an hour long and you need to quickly find very short segments to use as your loop points.

Alternatively, you can use Spout/Syphon to connect Magic to most other VJ programs, and get the "best of both worlds". This is precisely why the Spout/Syphon ecosystem exists.

On a separate note, real-time scrubbing really only works when you have video formats/codecs that are optimized for bi-directional playback (such as M-Jpeg or Hap/DXV). Most common formats, such as .mp4, cannot be efficiently fast-forwarded, rewound, or played in reverse. Doing any of these things during a performance will severely impact your frame rate -- which is, at least for now, why Magic does not have transport controls. There is a tradeoff, and we opted to support as many formats as possible.
I think there is still some scope for video information and transport control for scene development purposes
I hear you on that. But from a functional perspective, it's difficult for us to create features only for development (things you can do at home) but not for live performance (things you can do at your show). How do we enforce the separation? It's not enough simply to say "don't use this during your show", because, to be honest, no one will pay attention :). The result would be a bunch of users wondering why their frame rate is stuttering when they use the transport controls.

Again, other VJ programs solve this by requiring certain codecs to be used. We opted not to go in that direction for the generic VideoFile module. But, I should mention that I have on my list to create a new separate video module specifically for the Hap codec (and perhaps some other bi-directional codecs), which will allow you to scrub in any direction and jump to a specific frame # on demand. This is the best solution I can offer. It will work similarly to the current JpegFolder module, except that it will be for one video file as opposed to many separate image files.
Post Reply