Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sakkyoi/ncp-downloader
A tool for network performance testing by downloading videos from a well-known online video platform.
https://github.com/sakkyoi/ncp-downloader
channel channel-plus ffmpeg live ncp ncp-downloader nicochannel niconico python stream-downloader video video-downloader video-platform youtube youtube-dl yt-dlp
Last synced: 2 days ago
JSON representation
A tool for network performance testing by downloading videos from a well-known online video platform.
- Host: GitHub
- URL: https://github.com/sakkyoi/ncp-downloader
- Owner: sakkyoi
- License: lgpl-3.0
- Created: 2023-09-12T19:50:19.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-09-15T06:04:08.000Z (about 2 months ago)
- Last Synced: 2024-09-16T03:08:57.261Z (about 2 months ago)
- Topics: channel, channel-plus, ffmpeg, live, ncp, ncp-downloader, nicochannel, niconico, python, stream-downloader, video, video-downloader, video-platform, youtube, youtube-dl, yt-dlp
- Language: Python
- Homepage:
- Size: 136 KB
- Stars: 6
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
`ncp-downloader` is a tool for network performance testing by downloading videos from a well-known online video platform.
Installation
•
Usage
•
Disclaimer
•
License# Installation
Download the latest release from the [Releases](https://github.com/sakkyoi/ncp-downloader/releases/latest) page
and extract it to the directory of your choice on your local machine.# Usage
`ncp QUERY [OUTPUT_DIR] [OPTIONS]``QUERY`: URL of the video or channel.
```
-r RESOLUTION, --resolution RESOLUTION Target resolution. Defaults to highest resolution available.
-R, --resume Resume download.
-t, --transcode Transcode downloaded videos.
--ffmpeg /PATH/TO/FFMPEG Path to ffmpeg. Defaults to ffmpeg stored in PATH.
--vcodec VCODEC Video codec for ffmpeg transcoding.
--acodec ACODEC Audio codec for ffmpeg transcoding.
--ffmpeg-options FFMPEG_OPTIONS Additional ffmpeg options. (e.g. --ffmpeg-options "-acodec copy -vcodec copy")
--thread THREAD Number of threads for downloading. Defaults to 1. (NOT RECOMMENDED TO EDIT)
--select-manually Manually select videos to download. Only works when downloading the whole channel.
--username USERNAME Username for login.
--password PASSWORD Password for login.
--debug Enable debug mode (displays debug messages).
--help Show help menu.
```**If login credentials are provided, a session token will be generated and saved locally.
DO NOT SHARE THE TOKEN WITH ANYONE.**
Sometimes this tool may not function properly, delete temp files and folder to make it re-download the video.
(Feel free to modify the .json file if you understand what you are doing.)## --select-manually
When downloading the whole channel, you can use this option to manually select the videos to be downloaded.
- `Arrow Up`/`Arrow Down`, `Arrow Left`/`Arrow Right`: Navigate
- `Space`: Select / Deselect
- `Enter`: Start download
- `Ctrl + A`: Select all
- `Ctrl + R`: Deselct all
- `Ctrl + W`: Use filterThe filter supports either with noarmal keyword-filtering or lambda expression (**Case-Sensitive**).
Videos will be selected if they match the conditions.
- `/only `: Select videos that contain the keyword only.
- `/add `: Add the videos that contain the keyword to selection.
- `/remove `: Remove the videos that contains the keyword from selection.
- `/lambda `: Use lambda expression to filter the videos.The syntax of the lambda expression does not need to include the `lambda x:` part, and should return a boolean value.
The following is an example of a lambda expression that selects the video with
- title containing "ASMR";
- length of title is greater than 30;
- index is greater than 10;
- and the content code contains letter "R".`/lambda "ASMR" in x.title and len(x.title) > 30 and x.index > 10 and "R" in x.content_code`
The x object has the following attributes:
- `title`: Title of the video.
- `index`: Index of the video.
- `content_code`: Content code of the video.**NOTE: lambda expression is case-sensitive. You can use `.lower()` to make it all lowercase.**
**Python built-in functions and variables are supported in the lambda expression.**# Disclaimer
**`Using this tool may lead to account suspension or ban. Use it at your own discretion.`**
Please do use this tool responsibly and respect the rights of the content creators.
You should **ONLY** use this tool for network performance testing under any circumstances.
Data downloaded using this tool should be for personal use only. Obtain permission from the original creator before use.# License
This project is licensed under the LGPLv3 License - see the [LICENSE](LICENSE) file for details.