Skip to content

aihornmac/live-recorder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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-recorder

Getting Started

Start recording with default configurations:

$ live-recorder https://showroom-live.com/nekojita

Specify output filename:

$ live-recorder -o my-nekojita https://showroom-live.com/nekojita

Make an appointment in future:

$ live-recorder --start-at '12:00 tomorrow' https://showroom-live.com/nekojita

Enable verbose mode:

$ live-recorder --verbose https://showroom-live.com/nekojita

More 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/
Twitter https://twitter.com/
Instagram https://instagram.com/
M3U8 -

Tools

Merge

This tool merges m2ts chunks into mp4 file

$ live-recorder tools merge /a/b/chunks /a/b/output.mp4

Filter files using glob:

$ live-recorder tools merge --filter '*.ts' /a/b/chunks /a/b/output.mp4

Specify starting chunk or ending chunk:

$ live-recorder tools merge --start 2.ts --end 893 /a/b/chunks /a/b/output.mp4

Confirm all inquiries:

$ live-recorder tools merge -y /a/b/chunks /a/b/output.mp4

dry run:

$ live-recorder tools merge --dry /a/b/chunks /a/b/output.mp4

Download

This tool downloads file

$ live-recorder tools download https://abc.com/example.ts

Specify output:

$ live-recorder tools download https://abc.com/example.ts -o test.ts

SHOWROOM

Record live chat:

$ live-recorder --type livechat https://showroom-live.com/nekojita

AbemaTV

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/CVRwLESD4GsvQw

Specify user token:

$ live-recorder --token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkZXYiOiJkZmE1ZWI1ZC0wMDM5LTQ1MzUtOTIwYi00N2RjMDVkODlkNWUiLCJleHAiOjIxNDc0ODM2NDcsImlzcyI6ImFiZW1hLmlvL3YxIiwic3ViIjoiNXZ2ekZDYVgzeGN3M3EifQ.woiwLthcwRCaLb0ppEbaqxuWq4PFMFs_3oUeM2lO40c https://abema.tv/channels/special-plus/slots/CVRwLESD4GsvQw

Specify download concurrency:

$ live-recorder --concurrent 8 https://abema.tv/channels/special-plus/slots/CVRwLESD4GsvQw

Disable hash in generated filename:

$ live-recorder --no-hash https://abema.tv/channels/special-plus/slots/CVRwLESD4GsvQw

Set token in configuration:

$ live-recorder abematv login --token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkZXYiOiJkZmE1ZWI1ZC0wMDM5LTQ1MzUtOTIwYi00N2RjMDVkODlkNWUiLCJleHAiOjIxNDc0ODM2NDcsImlzcyI6ImFiZW1hLmlvL3YxIiwic3ViIjoiNXZ2ekZDYVgzeGN3M3EifQ.woiwLthcwRCaLb0ppEbaqxuWq4PFMFs_3oUeM2lO40c

radiko

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 password

LineLive

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/12345678

Specify download concurrency:

$ live-recorder --concurrent 8 https://live.line.me/channels/12345/broadcast/12345678

Disable hash in generated filename:

$ live-recorder --no-hash https://live.line.me/channels/12345/broadcast/12345678

Twitter

Specify recording content, since you may want to have more information other than stream.

$ live-recorder --content merged,chunks,m3u8 https://twitter.com/abcde/status/1285960853611850000

Specify download concurrency:

$ live-recorder --concurrent 8 https://twitter.com/abcde/status/1285960853611850000

Disable hash in generated filename:

$ live-recorder --no-hash https://twitter.com/abcde/status/1285960853611850000

Instagram

Specify recording content, since you may want to have more information other than stream.

$ live-recorder --content video,chunks,mpd https://instagram.com/abcde

Specify download concurrency:

$ live-recorder --concurrent 8 https://instagram.com/abcde

Disable hash in generated filename:

$ live-recorder --no-hash https://instagram.com/abcde

Specify username:

$ live-recorder --username alice https://instagram.com/abcde

Logout:

$ live-recorder instagram logout

M3U8

Specify interval to refetch playlist for live stream.

$ live-recorder --interval 500 https://test.com/playlist.m3u8

Specify recording content, since you may want to have more information other than stream.

$ live-recorder --content merged,chunks,m3u8 https://test.com/playlist.m3u8

Specify download concurrency:

$ live-recorder --concurrent 8 https://test.com/playlist.m3u8

Disable hash in generated filename:

$ live-recorder --no-hash https://test.com/playlist.m3u8

About

A cli tool to record live stream

Resources

License

Stars

Watchers

Forks

Packages

No packages published