Skip to main content

The only tool to record Twitter spaces (yet)

Project description

Twspace-dl

PyPI PyPI DLs Github Releases DLs

A python module to download twitter spaces.

Screensots

GUI

general tab input tab running tab success pop up

CLI

help running

Requirements

ffmpeg if not using portable binaries

Install

GUI

Use this if you're not sure.

From portable binaries

Windows

From source

pip install git+https://github.com/HoloArchivists/twspace-dl@gooey

CLI

From portable binaries

Windows

From PyPI

pip install twspace-dl

From source

pip install git+https://github.com/HoloArchivists/twspace-dl

Usage

twspace_dl -i space_url
With binaries

Windows

.\twspace_dl.exe -i space_url

Features

Here's the output of the help option

usage: twspace_dl [-h] [-v] [-s] [-k] [-l] [--input-cookie-file COOKIE_FILE]
                  [--username USERNAME] [--password PASSWORD]
                  [--output-cookie-file OUTPUT_COOKIE_FILE]
                  [-i SPACE_URL | -U USER_URL] [-d DYN_URL] [-f URL] [-M PATH]
                  [-o FORMAT_STR] [-m] [-p] [-u] [--write-url URL_OUTPUT]

Script designed to help download twitter spaces

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose
  -s, --skip-download
  -k, --keep-files
  -l, --log             create logfile
  --input-cookie-file COOKIE_FILE

input:
  -i SPACE_URL, --input-url SPACE_URL
  -U USER_URL, --user-url USER_URL
  -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.vi
                        deo.pscp.tv/Transcoding/v1/hls/zUUpEgiM0M18jCGxo2eSZs9
                        9p49hfyFQr1l4cdze-Sp4T-DQOMMoZpkbdyetgfwscfvvUkAdeF-I5
                        hPI4bGoYg/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.vi
                        deo.pscp.tv/Transcoding/v1/hls/YRSsw6_P5xUZHMualK5-ihv
                        ePR6o4QmoZVOBGicKvmkL_KB9IQYtxVqm3P_vpZ2HnFkoRfar4_uJO
                        jqC8OCo5A/non_transcode/ap-northeast-1/periscope-
                        replay-direct-prod-ap-northeast-1-public/audio-
                        space/master_playlist.m3u8
  -M PATH, --input-metadata PATH
                        use a metadata json file instead of input url (useful
                        for very old ended spaces)

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
  --write-url URL_OUTPUT
                        write master url to file

login:
  --username USERNAME
  --password PASSWORD
  --output-cookie-file OUTPUT_COOKIE_FILE

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
%(creator_id)s

Example: [%(creator_screen_name)s]-%(title)s|%(start_date)s

Known Errors

Changing ID3 metadata in HLS audio elementary stream is not implemented....

This is an error in ffmpeg that does not affect twspace_dl at all as far as I know.

Service

To run as a systemd service please refer to https://github.com/HoloArchivists/twspace-dl/blob/main/SERVICE.md

Docker

Run once

Use ${pwd} in powershell, or $(pwd) in bash

docker run --rm -v ${pwd}:/output ryu1845/twspace-dl -i space_url

Run as monitoring service

Using a cookie can help solve some problem with the twitter api. However, using one is not necessary.

Without cookie

  1. Download the docker-compose.yml, .env, monitor.sh files and put them in a folder named twspace-dl.
  2. Edit .env and fill in the Twitter username you want to monitor.
  3. [Optional] If you want to used a cookies file, put it into the folder and named it cookies.txt.
  4. docker-compose up -d

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

twspace_dl-2023.1.22.0.tar.gz (22.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

twspace_dl-2023.1.22.0-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file twspace_dl-2023.1.22.0.tar.gz.

File metadata

  • Download URL: twspace_dl-2023.1.22.0.tar.gz
  • Upload date:
  • Size: 22.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for twspace_dl-2023.1.22.0.tar.gz
Algorithm Hash digest
SHA256 4ed26e5297bc608e8bb5b04067435b582ece6649c0fd8e291ea5196ef83cb373
MD5 35456e7fd0c3bbd2d85f32f9f2ed54bf
BLAKE2b-256 00ba0db7f87641909dc82a5364ccf83a07fd47fe330c7a2c679489ad4557a04b

See more details on using hashes here.

File details

Details for the file twspace_dl-2023.1.22.0-py3-none-any.whl.

File metadata

File hashes

Hashes for twspace_dl-2023.1.22.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3f6c941f9ff162214ec020cc8cb72d28555a10222e771e63197c73e65bfb8609
MD5 70de95d5d65b5627a84a8572d0474fd8
BLAKE2b-256 f79dfa00943e15ae3756fe5d4768a8d5c2a05067ffcc5d7a4fef04ee693e3c59

See more details on using hashes here.

Supported by

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