Skip to main content

mySlidesLive

...helps you to extract your SlidesLive presentation.

Licence Python PyPI Documentation

Install

pip install myslideslive

Usage

Python

In a Python console:

from myslideslive import SlidesLive

msl = SlidesLive('https://slideslive.com/38956531/'
                 'beyond-static-papers-'
                 'rethinking-how-we-share-scientific-understanding-in-ml')
msl.download_slides(slide=(1074, 1075))
msl.compose_video()

CLI

Directly from terminal:

msl --slide 1074 1075 \
https://slideslive.com/38956531/beyond-static-papers-rethinking-how-we-share-scientific-understanding-in-ml

Development

  • To develop this package you need nbdev v1 and unidecode (pip install "nbdev<2" unidecode).
  • The library (and Makefile) is built with nbdev_build_lib.
  • nbdev_update_lib updates the notebooks based on changes in the library.
  • The README.md is regenerated with nbdev_build_docs.
  • The git hooks are set up with nbdev_install_git_hooks.
  • jupyter nbconvert --clear-output --inplace notebook.ipynb clears all output cells of a notebook.

Before committing code changes make sure to run:

nbdev_install_git_hooks && \
nbdev_build_lib && \
nbdev_build_docs && \
nbdev_clean_nbs --clear_all True && \
nbdev_test_nbs

What about the SlidesLive video recording?

If you want to get the video recording of your SlidesLive presentation as well, youtube-dl can take care of that.

Cutting the video

Then you can cut the video with:

ffmpeg -i video_in.mp4 -ss [start] -t [duration] -c copy video_out.mp4

where [start] specifies the start time, e.g. 00:01:23.000 or 83 (in seconds); and [duration] specifies the duration in the same format. Alternatively to -t [duration], you may use -to [end], i.e.:

ffmpeg -i video_in.mp4 -ss [start] -to [end] -c copy video_out.mp4

NOTE: the order of ffmpeg flags seems to influence the precision of the video cut.

Picture-in-Picture embedding

To embed the video recording within the bottom-right part of the presentation video, preserving the audio stream from the former use:

ffmpeg -i embedded_video.mp4 -i main_video.mp4 \
  -filter_complex "[0] scale=iw/10:ih/10 [embed]; \
                   [1] fps=25 [bg]; \
                   [bg][embed] overlay=main_w-overlay_w:main_h-overlay_h" \
  -framerate 25 \
  -b:v 4810k \
  -b:a 126k \
  -ar 44100 \
  PiP_video.mp4

The sound stream is always taken from the first video in the input (-i) list; if you swap the input videos, you also need to swap [0] and [1] in the filter string (-filter_complex). To move the embedded video to a different position, you need to change the overlay parameter. For example, overlay=main_w-overlay_w:0 will place the embed in the top-right corner; overlay=0:0 in the top-left; and overlay=0:main_h-overlay_h in the bottom-left.

About

This Python module was inspired by:

PiP ffmpeg command comes from here.

Metadata

Release files for myslideslive 0.7

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

Source distribution (sdist)

Source distribution for myslideslive 0.7
File Size Uploaded
myslideslive-0.7.tar.gz 15.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for myslideslive 0.7
File Interpreter ABI Platform
myslideslive-0.7-py3-none-any.whl Python 3 none any Details

Total release size: 29.1 kB

Release files / myslideslive-0.7.tar.gz

Download URL myslideslive-0.7.tar.gz
Size 15.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e13815c9d0e66ce98d5aa7962ae7255aa291076cc39abcc9236db281244245c2
BLAKE2b-256 checksum
How to use checksums
401f993d402afbf3182bf221e07e5baa31926dccc5ff1185e7508995cf39b985
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

Release files / myslideslive-0.7-py3-none-any.whl

Download URL myslideslive-0.7-py3-none-any.whl
Size 13.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d6575aceb7da3c4eeee7fee123fe391184145f37bf14643415c95cb1efbc10fd
BLAKE2b-256 checksum
How to use checksums
0c95bb04528b17ac35e778c9405b5b84de88379a7597dc8928979baca7b0fef2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

Release history Release notifications | RSS feed

This release

0.7 This release

2 release files

0.6

2 release files

0.5

2 release files

0.4

2 release files

0.3

2 release files

0.2

2 release files

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