Automatic video merger - javascript

Every week for my job, I am given a list of links of videos and have to download them, edit them, and then compile them into a single video. Compiling these videos is easy, but it is super tedious and takes around three hours to make them. I would like to know if there are any programs that could automate this. If not, I would like to write something that would.
I sort of know Java, but am no expert. I think that Javascript would be best for this (I KNOW THAT THEY ARE NOT THE SAME). BUT I have a ton of time and can learn whatever I need to, but I just need to know what I need to learn.
What I need it to be able to do is:
-Be given a list of links that go directly to a video in a webplayer
-download those links to a specific folder
-merge those videos together
-render and download the final video
Any help to make a single part of this or direction in general would be awesome!

Related

Modern Audio Player in React - Basic Implementation

I'm fairly new to react and my javascript knowledge is still at the beginner level. I'm building a website in react which will feature multiple audio playlists.
I'm a bit lost of where to start next. I've built the layout of the audio player which features a "content" area (which will list the trackname, artist, length in a column like a spotify playlist) and the "player controls" area (which will feature playback controls..play,pause,previous,next,volume etc.
What's the best method to link a folder of audio items (mp3,.wav) to populate the "content" area with the per item audio info (title, artist, length).
I know this would involve setting up an array or object, but I've also seen it done with json (not sure how this works)
Whatever the solution, I want this to be fairly simple to create new playlists with different content to display on different pages of the site.
I have some questions about the player controls logic as well, but I want to get the display working properly first.
I'd appreciate any info, guidance, or example code to lead me in the right direction as I'm still quite a beginner. Thank you in advance.
Cheers

Three.js animation with Mixamo

My goal is to make a ROBLOX like customization system for my game, where a user can choose between hundreds of pieces of clothing and accessories for their avatar. Now, I would like to use Mixamo to animate my character, but Mixamo needs a fully boned rig to download the animations. Now that's a problem: I need Blender to bone the rig, but each rig will be different since the user is creating his own character, and if I had all the rigs pre-made, there would be literally millions of combinations of characters!
The alternative, I'm thinking, is to use Tween.js, but that's a really bad way since it'll take a ton of work and time just to get a single animation, and it still won't be as good as Mixamo.
At this point, I'm sure you have no idea what I'm talking about, so here's an image to describe my issue:
I hope the diagram made my problem more clear. Below I've listed some of the possibilities that could potentially solve this problem, but then again, not sure.
Maybe you can download an animation from Mixamo without a specified rig to it, so you can apply it to any character?
Maybe I just animate the base rig and then apply the textures for all the body parts (so instead of downloading all the rig possibilities, I just download all of the clothing textures)?
Does anyone know how to do this?
For anyone else who was wondering the same thing:
You should first download the desired animation from Mixamo on the base model (without the customizations). Once you load the animation into three.js, you should be able to see a group, which includes the components from which the model was made. You can then manually apply as many textures as you want to the desired parts of the rig. So, your model will move normally (like the animation), while having your character exactly how you or the user wants it.

How to add a powerpoint presentation in web

I have this task to make an iframe of a presentation appear on an click. then you can control that presentation, like the page you want or go forward and backward.
The problem is I can't use the cloud solutions, because the data should be on premises.
I've thought about converting it to a video, it would be easier to control it and also to keep the animations.
I've also thought about converting it to a pdf file and then show the slides, like slideshare does in this Example.
Is there anyway I can use the ppt directly or even convert it to another format that would be optimal and user friendly, if so, how? is there any APIs or Javascript libraries? what would you recommend?
So i've found a solution of this, i want to share it with you.
If you need to present a ppt-like presentation on web without using the cloud solutions.
The first one is used to keep animation of the presentation:
I converted the ppt to a video , and then used Video.js library that enables you full control over the video.
I've desactivated the control of the video and made my own controls with Html and css. GoForward , Backwards or pause or play or restart the presentation.
i was able to pick and to know the slide i'm on and how much time in every slide by dividing the full time of the video by the number of slides i have in it. (if we suppose they have equal time).
The Second one is used for better quality but no animation: by converting the PPT to PDF.

Web Audio - How to change playbackRate of all sounds instantly?

When using Web Audio, you can connect all sounds you create to one globally created gainNode and use that node to have a "Master Volume" property. This is very handy when you want to be able to change the master volume on the fly and want it to affect all sounds immediately.
Now, I am trying to accomplish the same, but for playbackRate. For reference: this would be for a web game where you can use a power-up to slow down time, which should also slow down all music and sounds.
Each sound I create is a AudioBufferSourceNode linked to a chain of processing nodes. Now I know that the the AudioBufferSourceNode itself has a playbackRate property you can change. This is great, but it'd require me to cache all AudioBufferSourceNodes I create, loop over them and change their playbackRate if I wanted to change a "global playbackRate" on the fly. It'd be perfect if I could accomplish this in the same way as with the global gainNode, but couldn't find a way to do that.
What would be the proper way to implement such a feature? Would you recommend caching all AudioBufferSourceNodes created (can be thousands) and loop over them? That's the way I do this with HTML5 Audio, but it seems hacky for Web Audio, which is much more advanced.
If you want more information, please ask and I will update the question!
You can't directly do that. There are some source nodes that don't have playback rate controls - like live input. In this case, you're best off doing what you suggest - keeping a list of active sounds to loop through.
You could use a granular method to resample and pitch-bend it down - like the "pitch bend" code in my audio input effects demo (https://webaudiodemos.appspot.com/input/). That's a bit costly to keep around just in case you want to make the effect, though.

How to convert a javascript animation to video output on client side

Is there any simple way to create video output of js animation without editing the js at all.
If that is absolutely possible, how I can I edit the js to create images or videos of the animation. This has to be really really fast, since I want to do some real time processing on the animation.
I am using Ubuntu on the desktop.
Thanks in advance
You can use VLC (http://www.videolan.org/vlc/) to capture your desktop into a movie file.
VLC allows you to apply filters o you may stream the video to postprocessing software.
Really fast and Javascript .... don't really go well together. Depending on the quality of animation you want, it is anywhere from slow to "Egads, we need a thousand machines to render this 5 minute scene"
You'd have to render a imagine, save the image, then render the next.
You'd be far better off using a system, platform and software suited for the job.

Categories