Comments (5)
Interesting idea indeed! I tried Google some Javascript video decoding techniques to at least look into what possibilities may lay in there, but couldn't find anything reasonable. Maybe you know some links I should look at.
The main question here is whether it will be able to advance step by step both forwards and backwards. There also are sometimes rather drastic changes in playback speed when manipulated by the user. From my rather limited knowledge of video codecs, they utilize keyframes (which are saved as an entire image) and in between these keyframes, regular frames are calculated based on what has changed compared to the preceeding frame. And this doesn't quite allow playback in reverse direction. Please correct me, if I'm wrong (I'm not into video much).
I also kinda fear the added complexity for the user for the actual movie creation - even the compositing work on sprites baffle many users.
But again, a very nice idea!
from reel.
- "[...] even the compositing work on sprites baffle many users"
Yeah, that includes me, too. I mean it's not a complex thing to do, but it involves significant manual labor. - "[...] the added complexity for the user for the actual movie creation"
Not only do most video editors handle image sequences gracefully, there are plenty of command-line encoders that do the same. In fact, this truly is easier than sprite compositing. - "[...] advance step by step [...] changes in playback speed [...] video codecs utilize keyframes [...] reverse direction [...] correct me if I'm wrong."
Actually, you're 100% correct and your concerns are all valid. However, my original suggestion was not to handle a video object as a whole; instead, decode it into memory and then use the resulting image sequence exactly the same way as you're currently doing it. - some links I should look at."
When I said that "it's been done before", I didn't realize that what I found ("JSONVID") was essentially just a MJPEG implementation. It's still helpful as a video player whereby I can force a clip to autoplay on an iPhone Safari inline (not fullscreen), but as far as compression efficiency, MJPEG is inadequate by definition.
I think if you would ask someone working on https://github.com/libav or otherwise connected with the libavcodec, you would get some good answers. As creator of the now-famous Reel, I'm sure you'd have a better chance of finding people willing to help. Remember, "all you need" is a stripped-down, single-format, ultra-limited and totally non-flexible video decoding algorithm.
from reel.
Thanks for the suggestions. A really appreciate it! Although very appealing idea in terms of saving bandwidth, I kind of don't like it as a solution just to clear off the manual labour. There already is a way how to eliminate the task of compiling the sprite - using a sequence of individual images, which doesn't need any post-processing like this and is easy on memory.
I'd much rather see tools for mitigating this tedious labour, then introduction of another format, which doesn't have this labour associated. Something like already existing Josh's Python script. I long have a plan to port it into Ruby.
from reel.
Yeah, videos traditionally are not great at playing backwards. And I think you'll find that you'd get BANDWIDTH improvements from using encoded video, but not PERFORMANCE benefits. I think the CPU usage might actually be higher from trying to play frames in reverse (where the computer has to calculate multiple frames just to display 1, because of intra-frame encoding). Decoding H.264 video is already very CPU intensive.
from reel.
Exactly, using images is the lightest solution so far, so I took the liberty to close this issue (albait fairly interesting one). But the discussion can keep on in here.
from reel.
Related Issues (20)
- Dragging within a range of sequence
- Reel.js is not working in Chrome when add next and previous button.
- data-loops = 'false' does not work on rows
- possibility to ude it merging some images to compose the shown one
- touch support HOT 1
- Reach event rotates one frame backwards before rotating correctly
- python
- sensitivity on touch movement
- responsive and Ajax - In russian is love)))
- Jquery reel larger than container
- how to stop image cache
- Dimension(s) of the target image unknown Ab HOT 3
- ReferenceError: jQuery is not defined
- Image Request Loop Issue HOT 3
- Using reel js object animated by a slider (jquery ui) inside a book of moodle. It doesn't work
- Not working properly on mobile Safari? HOT 8
- 360 spinner doesn't work well on mobile HOT 6
- Chrome: Jerky or not smooth scrolling if it is placed at about 3000px or below in height
- Implement in Vuejs
- Uncaught TypeError: Cannot use 'in' operator to search for 'length' in 50, latest JQuery jquery.min-3.6.0.js not working
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from reel.