Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chronological order #10

Open
sethcohn opened this issue May 12, 2017 · 1 comment
Open

Chronological order #10

sethcohn opened this issue May 12, 2017 · 1 comment

Comments

@sethcohn
Copy link

Testing the create code and it looks good so far.

One thing I noticed is that you are only passing a desired duration in getting a clip, and not 'start location' (ie where the new segment will go in the new video). The time the clip is going in is valuable for some potential filters/options.

One obvious example (and looking at the code I realized to implement it now would require cloning/extending a lot of code, which is why I'm posting now, when you could easily change this):
I have Music Video A (and matching audio for A as audio source), and a variety of Videos in directory B.... currently, I can weight A and B directory, so create a video that using as much of A as I like, and splices in clips from B... but the video clips of A will be random. I don't want random, I want sequential as in the original A. (so essentially, the new music video will be A+clips from B on the beat, weighted in as desired). There needs to be a way to say "for A, don't go random, get clip starting at time X (the current time in video generating), for duration, but for B/etc, random is fine."

Or perhaps, differently, I want to grab clips sequentially from all, so that early clips are early from the videos and later clips later... and not have a clip from an ending of one of these videos too early in my new generated video.

I see an argument along the lines of "chronological" or just "order", with options being similar to weighting, per source, where the choices are

  • "strict" (use exact new video time for a clip of duration),
  • "loose" (pick a time relatively close to [new video time/total new video time] relative to [selected video length] for video's duration.) (example for clarity: We're in minute 2 of a 5 minute new video... pick a clip from video X somewhere roughly about 2/5 of the way into that video X, for duration Y) [Hopefully that's clear, and you see why that's useful - think story unfolding images, where random loses that arrow of direction...
  • "random" the current default

so in my above example: with -video-sources A.mp4 OtherDirectory/B/ -vw 4 6 -order strict random, th resulting video would be like A 40% of the time, but 60% of the time, pull clips from some video from B

Or perhaps another good example, I have 2+ music videos for the same song, and I want to meld them together equally: -v A.mp4 B.mp4 -order strict strict

For the loose usage: imaginary B and C videos are all time lapse video (ala Timescape, your example), or other sequential events... We don't want to jump around randomly for those, we want to show clips in an orderly, but still randomish way.... telling a story visually, and showing items out of order (5,1,4,2 as random) isn't as good as some order (1,2,4,5) -v A.mp4 B.mp4 C.mp4 -order random loose loose.

@scherroman
Copy link
Owner

I'm liking this idea. I'll get back to you on this.

It really shouldn't be an issue to add in controls like this in though, sounds like it would come down to using an alternate sampling method which takes those extra parameters.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants