Skip to main content

Wrapper to live stream OpenAI's gym agents training process from Google Colab to Twitch/YouTube server.

Project description

Gym Video Streamer

A Video Streaming Wrapper for OpenAI's Gym Environments

Now you can Live Stream the Agent's learning behavior to Twitch/YouTube from Google Colab while training these Agents.

colab link

What’s In This Document

Installation

!pip install gym-video-streamer

And if you already have gym-video-streamer then upgrade it by this command.

!pip install --upgrade gym-video-streamer

Imports and Usage

import gym
from gym_video_streamer import SetupVirtualDisplay
from gym_video_streamer import VideoStreamer  # Streaming Wrapper
  • Now Setup the Virtual Display (only required for Google Colab):

    SetupVirtualDisplay()
    
  • Define your live stream information:

    # stream_info dictionary should be in this format only
    stream_info = {
        "URL": "rtmp://live.twitch.tv/app/", # example of Twitch URL
        "secret": "--- secret here ---"
    }
    
  • Initialize the gym env and pass it to the custom wrapper:

    # ---- {For Classic-control gym envs} ----
    env = VideoStreamer(gym.make("CartPole-v1"), stream_info)
    

    *If you don't pass stream_info then it will simply store the video locally in the videos directory.

  • Test the setup (running 100 episodes for testing):

    try:
        observation = env.reset()
        i = 0
        while True:
            if i == 100:
                break
    
            env.render()  # important to call render method on env
            action = env.action_space.sample()
            observation, reward, done, info = env.step(action)
    
            if done:
                env.reset()
                i += 1
    except Exception as e:
        print(e)
    finally:
        env.close()
    

Setup for different type of Gym Envs

  • Classic control Gym Envs: As we have seen in the above example this type of works without any extra installation/setup.

  • Box2D Gym Envs: For this type of envs you need to install the following packages:

    !pip install box2d box2d-py
    
  • Atari Gym Envs: Using this type of envs on Google Colab you, need some extra setup to make them working. When I tried, it gave me the following error Exception: ROM is missing for breakout, see https://github.com/openai/atari-py#roms for instructions. So if you know how to setup this env on Colab then do let me know ✌🏻.

  • MuJoCo & Robotics Gym Envs: Now for this type of envs, you need to setup the MuJoCo on Colab. And again I haven't done this but I found a resource that will help you Setup Mujoco-py on Linux.

License

Licensed under the MIT License.

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gym-video-streamer-1.0.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

gym_video_streamer-1.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file gym-video-streamer-1.0.tar.gz.

File metadata

  • Download URL: gym-video-streamer-1.0.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.1

File hashes

Hashes for gym-video-streamer-1.0.tar.gz
Algorithm Hash digest
SHA256 d4b461cc9e0a993f4454c2250836a3b8656fad83c3568c066adf8d348c24c735
MD5 b80ec68f10c9c7136ab84bf31fa0a5b3
BLAKE2b-256 4c938587b0992a99a4fbab7c4cf00731b426a94930a0c7de9e3d499bfdfa704b

See more details on using hashes here.

File details

Details for the file gym_video_streamer-1.0-py3-none-any.whl.

File metadata

  • Download URL: gym_video_streamer-1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.1

File hashes

Hashes for gym_video_streamer-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca8aa01e52860d5a90b6e3ac181a0b98b14f1505bd660066ab3de333650b6c1d
MD5 3c9146fe52a67fc9eb5814b304255bab
BLAKE2b-256 05a9bdf9a8d938e11ea73f2fb2200f3d6285c4f44512dda7ede013ca3e0f4979

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page