Skip to main content

Manim Livestream

This plugin is designed to enable livestreaming support for Manim.

Installation

Works like other packages, so pip will do fine

pip install manim-livestream

Usage

  • Run the following command:
python -m manim_livestream

This loads a python shell along with the usage information:

Manim is now running in streaming mode. Stream animations by passing
them to self.play(), e.g.

>>> c = Circle()
>>> self.play(ShowCreation(c))

The current streaming class under the name `manim` inherits from the
original Scene class. To create a streaming class which inherits from
another scene class, e.g. MovingCameraScene, create it with the syntax:

>>> self2 = get_streamer(MovingCameraScene)

To view an image of the current state of the scene or mobject, use:

>>> self.show_frame()        # view image of current scene
>>> c = Circle()
>>> c.show()                 # view image of Mobject

>>> 
  • Config parameters in the command line carry over to manim's internal framework. For example:
python -m manim_livestream -v WARNING

...INFO...

>>> config.verbosity
'WARNING'
>>>
  • IPython is an option:
python -m manim_livestream --use-ipython

...INFO...

Python 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.23.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]:
  • Simple ways exist for simpler actions:
Python 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

>>> from manim_livestream import stream
>>> from manim import Circle, ShowCreation
>>> self = stream()
>>> circ = Circle()
>>> self.play(ShowCreation(circ))
  • You want scenes present in files? Here you go:
python -m manim_livestream example_scenes/basic.py
Manim Community v0.6.0

1: OpeningManim
2: SquareToCircle
3: UpdatersExample
4: WarpSquare
5: WriteStuff

Choose number corresponding to desired scene/arguments.
(Use comma separated list for multiple entries)
Choice(s): 2

This particular one will render the scene and send the frames to the streaming protocol.

Potential problems

  • Last 2 or 3 frames don't get sent? Close the window and restart it with open_client()
  • The entire thing freezes? Close the window and restart it with open_client()
  • Using any other streaming protocol? As of yet, not a great plan. From experimentation rtp seems the most stable. However the streaming port shouldn't be too hard to modify.

License and contribution

The code is released as Free Software under the GNU/GPLv3 license. Copying, adapting and republishing it is not only consent but also encouraged, particularly surrounding the subject of tests for the framework.

Addendum

As long as the way Manim interprets scene compilation remains static, this library can easily be used with any manim>=0.6.0(as far as I know).

Release files for manim-livestream 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for manim-livestream 0.0.3
File Size Uploaded
manim-livestream-0.0.3.tar.gz 10.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for manim-livestream 0.0.3
File Interpreter ABI Platform
manim_livestream-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 21.7 kB

Release files / manim-livestream-0.0.3.tar.gz

Download URL manim-livestream-0.0.3.tar.gz
Size 10.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b34c89a7fd50647b8fd5ef87cf15b936dc1c3be361b19eeba1cd9fd60f13137f
BLAKE2b-256 checksum
How to use checksums
1f5aad611c8208a9e06488890df29be12d7dcc8d9a45252f1e5bb7f37e57156f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.7 CPython/3.9.6 Windows/10

Release files / manim_livestream-0.0.3-py3-none-any.whl

Download URL manim_livestream-0.0.3-py3-none-any.whl
Size 11.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f12284996c5f3447290c1b826b3efe049926b8f925ca506284fb5e8490483fa8
BLAKE2b-256 checksum
How to use checksums
7a0cce5363f2682722cad83da66c9fc88679314f2b2c2b444828ab34313a5f30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.7 CPython/3.9.6 Windows/10

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page