# Help with text and video

**URL:** <https://discourse.processing.org/t/help-with-text-and-video/2104>\
**Category:** Coding Questions\
**Created:** [July 26, 2018, 5:58pm UTC](https://discourse.processing.org/t/help-with-text-and-video/2104 "2018-07-26T17:58:21Z")\
**Posts on this page:** 1\
**Showing post:** 16

<div class="post-metadata">

**Author:** ![neilcsmith](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/neilcsmith/32/144_2.png) [@neilcsmith](https://discourse.processing.org/u/neilcsmith)\
**Post date:** [July 30, 2018, 8:32am UTC](https://discourse.processing.org/t/help-with-text-and-video/2104/16 "2018-07-30T08:32:58Z")

</div>

> [@kfrajer](#):
>
> I hear that the lib is gonna be written again. Do you think you could comment about it? My understanding from prev posts, there is a new gstreamer? You just need to build the wrapper? Tagging also @neilcsmith

Depends what you mean by wrapper? The Java bindings for [GStreamer 1.x](https://github.com/gstreamer-java/gst1-java-core) exist, and have done since 2015 when I took them over as part of work on [PraxisLIVE](https://www.praxislive.org). They’re in use in a lot of other things too now, and are semi-official. I’m aiming to get a stable version 1 of them released before the GStreamer conference in October, although they’re in better condition than the old bindings for GStreamer 0.10 already.

The video library needs updating to use them - @gohai started that work and there’s a beta version in master. However, it might be better to rewrite from scratch.

I’m considering how easy it would be to convert the GStreamer components of PraxisLIVE v4 into a Processing library (eg. [this player](https://github.com/praxis-live/praxis/blob/master/praxis.video.gstreamer/src/org/praxislive/video/gstreamer/components/GStreamerVideoPlayer.java)) These are obviously rendering into Processing, but I’d need to remove the PraxisLIVE extensions. I’d consider it a good base, though, as it’s getting a fair bit of testing and doesn’t have some major issues that the video library has.

> [@kfrajer](#):
>
> Would the new library also support the old library? Or would that be part of the plan?

GStreamer 0.10 and GStreamer 1.x are parallel installable, and I specifically made the bindings parallel installable too. However, GStreamer 0.10 is dead! The better plan would be to rewrite the library and update the API. eg. I find it really odd conceptually that a Movie is a PImage, rather than _has_ a sequence of PImages (frames) - the whole `m.read()` thing forces a situation where the library is not as efficient as it could be, and likewise the movieEvent callback as currently used is problematic (the player linked above actually queues all control of GStreamer into the library so you don’t block the rendering thread, and also queues all callbacks back into the rendering thread so you don’t have race conditions).

That’s probably more info than belongs in this thread! 😄 Maybe we should discuss elsewhere?

---

_[View the full topic](https://discourse.processing.org/t/help-with-text-and-video/2104)._
