Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Support "video" source type #601

Closed
incanus opened this issue Nov 13, 2014 · 14 comments
Closed

Support "video" source type #601

incanus opened this issue Nov 13, 2014 · 14 comments
Labels
archived Archived because of inactivity Core The cross-platform C++ core, aka mbgl GL JS parity For feature parity with Mapbox GL JS

Comments

@incanus
Copy link
Contributor

incanus commented Nov 13, 2014

https://github.com/mapbox/mapbox-gl-js/blob/mb-pages/js/source/video_source.js

I'm imagining this is going to work totally differently than JS. That AFAICT uses an out-of-view video <div> that plays back and whose content snapshot is grabbed periodically to use in GL frames.

On native we'd likely have to decode video directly and get frames that way.

@incanus incanus added the GL JS parity For feature parity with Mapbox GL JS label Nov 13, 2014
@ljbade
Copy link
Contributor

ljbade commented Nov 14, 2014

ah, this is going to be hard and need a lot of dependencies, guess we start with whatever lib VLC is using if we want a lot of format support

or do we just allow h.264 only so we only depend on one library

or on android we could perhaps leverage the platform support for video, need to look at how we can do this from native without being too slow

@artemp
Copy link
Contributor

artemp commented Nov 14, 2014

https://www.ffmpeg.org/

@ljbade
Copy link
Contributor

ljbade commented Nov 14, 2014

@artemp wasn't there a project split a while back from ffmpeg? what is the other one?

@artemp
Copy link
Contributor

artemp commented Nov 14, 2014

@ljbade - yes, there is http://libav.org/. Both libs seems to be active - I guess we need pick one.

@jfirebaugh
Copy link
Contributor

My first instinct is to use platform APIs here.

@ljbade
Copy link
Contributor

ljbade commented Nov 16, 2014

@ljbade
Copy link
Contributor

ljbade commented Nov 16, 2014

Also can we make a call on whether we should only support H.264? It will make things a lot easier.

@jfirebaugh
Copy link
Contributor

I think it would be fine for certain platforms to support H.264 only. The way a GL style video source works is modeled on the HTML5 <video> element -- the style author can provide several source URLs in different formats and the renderer will pick the one with best support.

@incanus
Copy link
Contributor Author

incanus commented Nov 17, 2014

My first instinct is to use platform APIs here.

I'm leaning this way as well.

@incanus what platform support does iOS have?

APIs are great, from what I hear, but I don't have a lot of direct experience. I've done a bit on iPad with assembling frames of video and syncing to audio, but not much. But in general, media support is pretty nice on iOS with good high-level APIs.

@kkaefer
Copy link
Member

kkaefer commented Nov 24, 2014

We definitely should use platform APIs here. I think it's fair to not support video on Android 2/3, and to require H.264.

@incanus incanus mentioned this issue Aug 20, 2015
@jfirebaugh jfirebaugh changed the title port video support Support "video" source type Sep 27, 2016
@jfirebaugh jfirebaugh added the Core The cross-platform C++ core, aka mbgl label Sep 27, 2016
@dylan-chong
Copy link

Is this issue dead? :|

@ChrisLoer
Copy link
Contributor

@asheemmamoowala Do I remember you had an example of how to include video support via custom layers?

@asheemmamoowala
Copy link
Contributor

There's a demo of how to do this using custom layers at: https://github.com/asheemmamoowala/MapboxMapVideoLayer

The video is jittery at high zooms when being interacted with, and it consumes a lot of energy.
ezgif com-resize

@stale stale bot added the archived Archived because of inactivity label Feb 12, 2019
@stale
Copy link

stale bot commented Feb 12, 2019

This issue has been automatically detected as stale because it has not had recent activity and will be archived. Thank you for your contributions.

@stale stale bot closed this as completed Feb 12, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
archived Archived because of inactivity Core The cross-platform C++ core, aka mbgl GL JS parity For feature parity with Mapbox GL JS
Projects
None yet
Development

No branches or pull requests

8 participants