Skip to main content

Download the (video) slides of your SlidesLive talk

Project description

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.

Project details


Download files

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

Source Distribution

myslideslive-0.7.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

myslideslive-0.7-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file myslideslive-0.7.tar.gz.

File metadata

  • Download URL: myslideslive-0.7.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for myslideslive-0.7.tar.gz
Algorithm Hash digest
SHA256 e13815c9d0e66ce98d5aa7962ae7255aa291076cc39abcc9236db281244245c2
MD5 0802aa3c8a4a0af9b72fad094eff07c8
BLAKE2b-256 401f993d402afbf3182bf221e07e5baa31926dccc5ff1185e7508995cf39b985

See more details on using hashes here.

File details

Details for the file myslideslive-0.7-py3-none-any.whl.

File metadata

  • Download URL: myslideslive-0.7-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for myslideslive-0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 d6575aceb7da3c4eeee7fee123fe391184145f37bf14643415c95cb1efbc10fd
MD5 d61620ae9db05ca25527f2a908d2eb20
BLAKE2b-256 0c95bb04528b17ac35e778c9405b5b84de88379a7597dc8928979baca7b0fef2

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