The only tool to record Twitter spaces (yet)
Project description
Requirements
ffmpeg
Install
From portable binaries
From PyPI
pip install twspace-dl
From source
git clone --depth 1 https://github.com/Ryu1845/twspace-dl
cd twspace-dl
pip install .
Usage
twspace_dl -i space_url
With binaries
Windows
.\twspace_dl.exe -i space_url
Linux
./twspace_dl.bin -i space_url
Features
Here's the output of the help option
usage: twspace_dl [-h] [-t THREADS] [-v] [-s] [-k] [-i SPACE_URL] [-U USER_URL] [-M PATH] [-d DYN_URL] [-f URL]
[-o FORMAT_STR] [-m] [-p] [-u]
Script designed to help download twitter spaces
optional arguments:
-h, --help show this help message and exit
-t THREADS, --threads THREADS
number of threads to run the script with(default with max)
-v, --verbose
-s, --skip-download
-k, --keep-files
input:
-i SPACE_URL, --input-url SPACE_URL
-U USER_URL, --user-url USER_URL
-M PATH, --input-metadata PATH
use a metadata json file instead of input url (useful for very old ended spaces)
-d DYN_URL, --from-dynamic-url DYN_URL
use the dynamic url for the processes(useful for ended spaces) example: https://prod-
fastly-ap-
northeast-1.video.pscp.tv/Transcoding/v1/hls/zUUpEgiM0M18jCGxo2eSZs99p49hfyFQr1l4cdze-
Sp4T-DQOMMoZpkbdyetgfwscfvvUkAdeF-I5hPI4bGoYg/non_transcode/ap-northeast-1/periscope-
replay-direct-prod-ap-northeast-1-public/audio-space/dynamic_playlist.m3u8?type=live
-f URL, --from-master-url URL
use the master url for the processes(useful for ended spaces) example: https://prod-
fastly-ap-northeast-1.video.pscp.tv/Transcoding/v1/hls/YRSsw6_P5xUZHMualK5-ihvePR6o4QmoZV
OBGicKvmkL_KB9IQYtxVqm3P_vpZ2HnFkoRfar4_uJOjqC8OCo5A/non_transcode/ap-
northeast-1/periscope-replay-direct-prod-ap-northeast-1-public/audio-
space/master_playlist.m3u8
output:
-o FORMAT_STR, --output FORMAT_STR
-m, --write-metadata write the full metadata json to a file
-p, --write-playlist write the m3u8 used to download the stream(e.g. if you want to use another downloader)
-u, --url display the master url
Format
You can use the following identifiers for the formatting
%(title)s
%(id)s
%(start_date)s
%(creator_name)s
%(creator_screen_name)s
%(url)s
Example: [%(creator_screen_name)s]-%(title)s|%(start_date)s
Service
There's an example service file there You'll have to modify different stuff depending on how you installed or not the script.
I'd be very grateful if someone made a PR with a bash script automating those ;)
Cloned Repository
In that case, you'll have to modify the WorkingDirectory
to where you cloned the repo.
Pip
- Change
WorkingDirectory
to where you want the spaces to be downloaded. - Find where your executable is by running
which twspace_dl
in your terminal. - Change the
/usr/bin/python twspace_dl
part to the path of your executable.
Now to install the service, you can either install it as a user service(recommended if on your personal desktop), or as a normal service.
User
- Copy the file you modified earlier to
~/.config/systemd/user
(create the systemd directory if it doesn't exist). - run
systemctl --user daemon-reload
systemctl --user start twspace-dl@USER_ID.service
USER_ID
is the part after https://twitter.com/
in the url of a twitter profile (i.e https://twitter.com/USER_ID
)
To keep it working after restarts run:
systemctl --user enable twspace-dl@USER_ID.service
System
- Copy the file you modified earlier to
/etc/systemd/system
. - run
sudo systemctl daemon-reload
sudo systemctl start twspace-dl@USER_ID.service
USER_ID
is the part after https://twitter.com/
in the url of a twitter profile (i.e https://twitter.com/USER_ID
)
To keep it working after restarts run:
sudo systemctl enable twspace-dl@USER_ID.service
Project details
Release history Release notifications | RSS feed
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
Hashes for twspace_dl-2021.12.18.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b7fced089cd7e495a4dadec9461f871f89659291f2ff6c400fe69e1c859e348 |
|
MD5 | 67db39775ef01a8c1269271bde7ff687 |
|
BLAKE2b-256 | 166f31fd1fd6eaec0e3a418a65ea4c6b192bdbb62077aa6923805c1d88ce977a |