live-recorder v0.0.34
Live Recorder
Live Recorder is a cli tool to record live stream
Features
- prioritize recording integrity by using relatively aggresive strategy to make sure all chunks are downloaded
Installation
$ npm i -g live-recorderGetting Started
Start recording with default configurations:
$ live-recorder https://showroom-live.com/nekojitaSpecify output filename:
$ live-recorder -o my-nekojita https://showroom-live.com/nekojitaMake an appointment in future:
$ live-recorder --start-at '12:00 tomorrow' https://showroom-live.com/nekojitaEnable verbose mode:
$ live-recorder --verbose https://showroom-live.com/nekojitaMore cli options can be found in sections of corresponding providers below
Supported Sites
| Site | URL |
|---|---|
| SHOWROOM | https://www.showroom-live.com/ |
| AbemaTV | https://abema.tv/ |
| radiko | https://radiko.jp/ |
| LineLive | https://live.line.me/ |
| https://twitter.com/ | |
| https://instagram.com/ | |
| M3U8 | - |
Tools
Merge
This tool merges m2ts chunks into mp4 file
$ live-recorder tools merge /a/b/chunks /a/b/output.mp4Filter files using glob:
$ live-recorder tools merge --filter '*.ts' /a/b/chunks /a/b/output.mp4Specify starting chunk or ending chunk:
$ live-recorder tools merge --start 2.ts --end 893 /a/b/chunks /a/b/output.mp4Confirm all inquiries:
$ live-recorder tools merge -y /a/b/chunks /a/b/output.mp4dry run:
$ live-recorder tools merge --dry /a/b/chunks /a/b/output.mp4Download
This tool downloads file
$ live-recorder tools download https://abc.com/example.tsSpecify output:
$ live-recorder tools download https://abc.com/example.ts -o test.tsSHOWROOM
Record live chat:
$ live-recorder --type livechat https://showroom-live.com/nekojitaAbemaTV
Specify recording content, since you may want to have more information other than stream.
$ live-recorder --content video,chunks,m3u8,info https://abema.tv/channels/special-plus/slots/CVRwLESD4GsvQwSpecify user token:
$ live-recorder --token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkZXYiOiJkZmE1ZWI1ZC0wMDM5LTQ1MzUtOTIwYi00N2RjMDVkODlkNWUiLCJleHAiOjIxNDc0ODM2NDcsImlzcyI6ImFiZW1hLmlvL3YxIiwic3ViIjoiNXZ2ekZDYVgzeGN3M3EifQ.woiwLthcwRCaLb0ppEbaqxuWq4PFMFs_3oUeM2lO40c https://abema.tv/channels/special-plus/slots/CVRwLESD4GsvQwSpecify download concurrency:
$ live-recorder --concurrent 8 https://abema.tv/channels/special-plus/slots/CVRwLESD4GsvQwDisable hash in generated filename:
$ live-recorder --no-hash https://abema.tv/channels/special-plus/slots/CVRwLESD4GsvQwSet token in configuration:
$ live-recorder abematv login --token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkZXYiOiJkZmE1ZWI1ZC0wMDM5LTQ1MzUtOTIwYi00N2RjMDVkODlkNWUiLCJleHAiOjIxNDc0ODM2NDcsImlzcyI6ImFiZW1hLmlvL3YxIiwic3ViIjoiNXZ2ekZDYVgzeGN3M3EifQ.woiwLthcwRCaLb0ppEbaqxuWq4PFMFs_3oUeM2lO40cradiko
Specify recording content, since you may want to have more information other than stream.
$ live-recorder --content audio,cover,chunks,m3u8 'http://radiko.jp/#!/ts/LFR/20200702010000'Specify login info:
$ live-recorder --mail test123@example.com --password password 'http://radiko.jp/#!/ts/LFR/20200702010000'Specify download concurrency:
$ live-recorder --concurrent 8 'http://radiko.jp/#!/ts/LFR/20200702010000'Disable hash in generated filename:
$ live-recorder --no-hash 'http://radiko.jp/#!/ts/LFR/20200702010000'Set login info in configuration:
$ live-recorder radiko login --mail test123@example.com --password passwordLineLive
Specify recording content, since you may want to have more information other than stream.
$ live-recorder --content video,chunks,m3u8 https://live.line.me/channels/12345/broadcast/12345678Specify download concurrency:
$ live-recorder --concurrent 8 https://live.line.me/channels/12345/broadcast/12345678Disable hash in generated filename:
$ live-recorder --no-hash https://live.line.me/channels/12345/broadcast/12345678Specify recording content, since you may want to have more information other than stream.
$ live-recorder --content merged,chunks,m3u8 https://twitter.com/abcde/status/1285960853611850000Specify download concurrency:
$ live-recorder --concurrent 8 https://twitter.com/abcde/status/1285960853611850000Disable hash in generated filename:
$ live-recorder --no-hash https://twitter.com/abcde/status/1285960853611850000Specify recording content, since you may want to have more information other than stream.
$ live-recorder --content video,chunks,mpd https://instagram.com/abcdeSpecify download concurrency:
$ live-recorder --concurrent 8 https://instagram.com/abcdeDisable hash in generated filename:
$ live-recorder --no-hash https://instagram.com/abcdeSpecify username:
$ live-recorder --username alice https://instagram.com/abcdeLogout:
$ live-recorder instagram logoutM3U8
Specify interval to refetch playlist for live stream.
$ live-recorder --interval 500 https://test.com/playlist.m3u8Specify recording content, since you may want to have more information other than stream.
$ live-recorder --content merged,chunks,m3u8 https://test.com/playlist.m3u8Specify download concurrency:
$ live-recorder --concurrent 8 https://test.com/playlist.m3u8Disable hash in generated filename:
$ live-recorder --no-hash https://test.com/playlist.m3u86 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago