We've got 6 cameras and recorded some tracks of my band from different corners of the studio. The main idea is to create an interactive video, where user could change the view with this recorded videos. So, u want to watch drummer playing turn his camera and start watch from his camera, want another? not a problem. But. If I will just change videos through the click() and play another video function it'll always show a hypnotic loading disc and make me wait some seconds. I can't even find which frame should i use too (popcorn.js?). Of course it will work on html5 video. But can i avoid this permanent waiting due to the change of cameras ? Certainly we can preload all the 6 videos, but this will take forever. Maybe someone face the same problem? I have just one example to show you http://sigur-ros.co.uk/kveikurlive360/ But this guys are totally insane P.S.: sorry for my English, it leaves much to be desired.
Multylayer or interactive video
522 Views Asked by Arty Shein At
1
There are 1 best solutions below
Related Questions in JAVASCRIPT
- Using Puppeteer to scrape a public API only when the data changes
- inline SVG text (js)
- An array of images and a for loop display the buttons. How to assign each button to open its own block by name?
- Storing the preferred font-size in localStorage
- Simple movie API request not showing up in the console log
- Authenticate Flask rest API
- Deploying sveltekit app with gunjs on vercel throws cannot find module './lib/text-encoding'
- How to request administrator rights?
- mp4 embedded videos within github pages website not loading
- Scrimba tutorial was working, suddenly stopped even trying the default
- In Datatables, start value resets to 0, when column sorting
- How do I link two models in mongoose?
- parameter values only being sent to certain columns in google sheet?
- Run main several times of wasm in browser
- Variable inside a Variable, not updating
Related Questions in HTML5-VIDEO
- <video> tag with downloaded path in ionic ios not loads the video
- Google Ads does not show on website when video is full screen
- sourceBuffer.appendBuffer successfully but the h5 video player stuck
- video.audioTracks is not working as expected for large video
- HTML5 and CSS - Responsive Video Pop Up Not working according to design
- Video lazy load - background
- Reimplement HTML Media Tag Fetching without a tag using Media Source API
- Flask Streaming mp4 video works perfectly on windows but not mobile phone
- Pause the animation of all html cards when the video popup is opened or when the play button on the video is clicked
- HTML5 sourcebuffer stalls in firefox
- Full screen in Electron js adds a blank space at the bottom
- What is the largest size limit (in Mb) for html video tag on iOS mobile devices
- Client side H.264 (MP4) video compression/encoding
- video Enters Fullscreen "Live Broadcast" Mode on iOS Despite playsinline Attribute in Standalone PWA
- How to process each frames exactly only once using MediaStreamTrackProcessor
Related Questions in INTERACTIVE
- Interactive bar chart with multiple conditioning variables and default shown distribution is unconditioned
- How can i make an interactive terminal with discord, more than just one command with an answer
- Interactive Checkbox in Latex with strike-through
- Using a Shiny app to set the value of a variable interactively for later use in R?
- C# output differs between PowerShell and Windows Terminal PS
- Interactive Docker exec with docker-py
- Jgit Fixup, Squash Interactive Rebase is not working properly
- BrushedPoints in plot cause error in coercion to logical(1)
- Interactive members map
- Is there an easy way to have synchronized Front/Left/Right/3D views of the same scene in matlab
- How can I change slide master templates using macros?
- How to use a slider in plotly to turn visibility of 3D data points on/off?
- Custom polygon by user in Map and Interactive marker in Flutter
- Matplotlib interactive plot with periodic update
- How to create a gitk view which always shows work done so far on an interactive rebase (with -i or --interactive option)
Related Questions in USER-INTERACTION
- Error in opening a application through command prompt when the application is deployed to remote site
- Pointerup event not triggered after scrolling
- Website interactive script to validate specific state after series of interactions
- Android compose listening for user interaction event globally
- Flutter app performs downloads and tasks on startup without user interaction
- "load", "beforeunload" event listeners not working in Salesforce Data Cloud Web SDK
- sikulix ask user to click on location and save it
- Parameters Collapsable fields on SSRS report work in browser but not in webforms report viewer
- In Matlab, how can I run 2 separate programs simultaneously, each turned on and off by separate buttons?
- Is there a way to return to the command prompt temporarily
- User Interaction is unavailable while mapkit.setRegion is set
- How to wait for the user to click to continue the remaining automation steps
- Block Mapview from Scrollview interaction Android
- How to enable selection of a procedural mesh in Unity with the mouse pointer
- Randomizing variable only after user interaction
Related Questions in POPCORNJS
- Vimeo video not playing in chrome browser. it works in Firefox and Edge. using popcornjs
- Issues when using Kirby with PopcornJS
- Getting [object HTMLSpanElement] instead of a string
- Periodic event in popcorn.js
- How to use popcorn to a certain video source?
- Can popcorn.js detect switching videos and continue without restarting?
- can't make popcorn.js work
- Popcorn.js not working in Angular.js
- how to remove event listener from this during callback
- How to set currentTime in popcorn.js when a link is clicked?
- How can I use dynamically the first frame as poster in mobile HTML5 video?
- Synchronizing multiple HTML5 videos
- html5 video currentTime does not work when builded by Cordova
- HTML5 popcornjs video have seconds offset/delay in android smartphones/tablets
- Youtube video in popcorn webmaker is not loading, Infinitely buffering a video
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
This is a really cool idea. If you use 6 different videos, I'm afraid there's no way to guarantee there won't be any delay when switching. Since you never know in advance when the user is going to click to switch, you need to have all 6 videos ready to go at any point, and they all have to be fully downloaded together. Even if you do, there may be a short but noticeable delay as the browser catches up on decoding the next video.
So what I suggest is combining all 6 points of view into a single video. You can crop the video by placing it inside a div with "overflow: hidden", and then shift the video around inside that box with CSS transforms. You may have to compromise on resolution, and there may still be some buffering up front, but no matter what, all 6 camera angles will stay perfectly in sync. And they'll all share a single audio track.
So, let's say you shoot all your videos at standard 720p. Scale each one down to 640x540 (yes, this will mess up your aspect ratio, but we'll fix that later). Combine all six videos into a 3x2 grid, which will get you a single 1920x1080 video. Then, throw it in some HTML that looks roughly like this:
That will scale your video back up and crop it to show your first camera back at original size and aspect ratio, with a little bit of resolution loss but not too bad. This is still a pretty huge file, and you may need to experiment with some smaller sizes to accommodate slower GPUs that might struggle to scale that big, especially on mobile.
Javascript might look something like this:
And, of course, you'll need to implement your own video controls for pause/play, seek and volume. Good luck, and please let us know how it works out.