Download the (video) slides of your SlidesLive talk
Project description
mySlidesLive
...helps you to extract your SlidesLive presentation.
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 withnbdev_build_lib
. nbdev_update_lib
updates the notebooks based on changes in the library.- The
README.md
is regenerated withnbdev_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:
- https://github.com/Chandrahasd/slideslive-slides-dl; and
- https://github.com/AugustKarlstedt/slideslive-downloader.
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | e13815c9d0e66ce98d5aa7962ae7255aa291076cc39abcc9236db281244245c2 |
|
MD5 | 0802aa3c8a4a0af9b72fad094eff07c8 |
|
BLAKE2b-256 | 401f993d402afbf3182bf221e07e5baa31926dccc5ff1185e7508995cf39b985 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6575aceb7da3c4eeee7fee123fe391184145f37bf14643415c95cb1efbc10fd |
|
MD5 | d61620ae9db05ca25527f2a908d2eb20 |
|
BLAKE2b-256 | 0c95bb04528b17ac35e778c9405b5b84de88379a7597dc8928979baca7b0fef2 |