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

Video support #521

Closed
TimPietrusky opened this issue Dec 21, 2020 · 5 comments · Fixed by #761
Closed

Video support #521

TimPietrusky opened this issue Dec 21, 2020 · 5 comments · Fixed by #761
Assignees
Labels
enhancement Feature requests released

Comments

@TimPietrusky
Copy link
Member

Is your feature request related to a problem? Please describe.
People are using videos when they compose their visual sets and want to use them in modV.
People have a music video ready and want to apply some awesome effects in modV to use that for a live gig.

Describe the solution you'd like
Use a component to add a video (e.g. Texture 2D) that provides playback methods for the video:

  • Play / Pause video
  • Change the playback speed
  • Start time / end time of the snippet of the video
  • Restart video automatically vs play only once
  • Loop video

Describe alternatives you've considered
See #501 (comment)

@TimPietrusky TimPietrusky added the enhancement Feature requests label Dec 21, 2020
@2xAA
Copy link
Member

2xAA commented Feb 14, 2021

We may be able to support video without moving outside of the worker, but we may need extra node.js conversion steps.
For example, .basis Universal Texture Video can be used without <video> or DOM APIs: http://binomial.biz/TextureVideoTest/

@TimPietrusky
Copy link
Member Author

We are working on getting support for this via #569

@2xAA
Copy link
Member

2xAA commented Nov 17, 2021

Realistically, #569 is a long way off and should probably be part of "modV 4", whenever that happens.

But, as all things Chromium transpire, you wait long enough and there's a new API to use.
This explains how to decode an MP4 in a Worker and extract frames:

https://w3c.github.io/webcodecs/samples/mp4-decode/

Other resources:
https://gpac.github.io/mp4box.js/#seektime-userap
https://web.dev/webcodecs/
https://developer.mozilla.org/en-US/docs/Web/API/WebCodecs_API


Could be viable. Slow down only really occurs on multiple 1080 videos.
Stress test here: https://cn363.csb.app/

@2xAA
Copy link
Member

2xAA commented Feb 14, 2022

#695 is related as it will essentially use the same interface.

This is an updated stress test using the preferred method of sending the whole video stream to the worker, rather than frames. https://r3w32.csb.app/

@2xAA 2xAA self-assigned this Feb 14, 2022
@2xAA 2xAA closed this as completed in #761 Mar 15, 2023
@github-actions
Copy link

github-actions bot commented Apr 5, 2023

🎉 This issue has been resolved in version 3.27.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

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

Successfully merging a pull request may close this issue.

2 participants