ytclip


Nameytclip JSON
Version 1.2.11 PyPI version JSON
download
home_pagehttps://github.com/zackees/ytclip
SummaryCommand to download a video and cut out a clip.
upload_time2024-08-08 03:59:05
maintainerNone
docs_urlNone
authorZach Vorhies
requires_python>=3.6.0
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ytclip - Quickly clip any video you see online and save it to your harddrive

# Usage

Make sure python (>3.7) is installed on your system.

```bash
> pip install ytclip
> ytclip https://www.youtube.com/watch?v=dQw4w9WgXcQ
# Follow the prompts
```

[![Actions Status](https://github.com/zackees/ytclip/workflows/MacOS_Tests/badge.svg)](https://github.com/zackees/ytclip/actions/workflows/push_macos.yml)
[![Actions Status](https://github.com/zackees/ytclip/workflows/Win_Tests/badge.svg)](https://github.com/zackees/ytclip/actions/workflows/push_win.yml)
[![Actions Status](https://github.com/zackees/ytclip/workflows/Ubuntu_Tests/badge.svg)](https://github.com/zackees/ytclip/actions/workflows/push_ubuntu.yml)

# About

This utility provides a command that will automate downloading files and creating clips out of them.

Uses `yt-dlp` to do the downloading of files and uses `static_ffmpeg` to do the actual cutting.

### Windows

For easy use, just download the [`run_ytclip.bat`](https://raw.githubusercontent.com/zackees/ytclip/main/run_ytclip.bat) file and place it into any folder you want. Now you have a double clickable icon for users that don't like going to the command line. Make sure you've installed the [latest python](https://python.org/download), checking the box that says "ADD TO PATH" during installation.

# Running


```bash
# (Interactive)
> cd <MY_DIRECTORY>
> ytclip
Add new video:
  url: ...
  start_timestamp: 08:08
  end_timestamp: 08:20
  output_name: my_file
```

```bash
# (CMD-line)
> cd <MY_DIRECTORY>
> ytclip https://www.youtube.com/watch?v=CLXt3yh2g0s --start_timestamp 00:32 --end_timestamp 00:52 --outname myoutputfile
```

```bash
# Help file
> ytclip --help
```


# Api

You can also use it as an api:

```python
from ytclip.ytclip import run_download_and_cut

run_download_and_cut(
    url="https://www.youtube.com/watch?v=-wtIMTCHWuI",
    start_timestamp="1:10",
    end_timestamp="1:30",
    outname="myclip_withoutsuffix")
```

You can also turn off logging like so:

```python
from ytclip.ytclip import run_download_and_cut, set_logging

set_logging(False)
run_download_and_cut(...)
```

# Server

See the server version: [ytclip-server](https://github.com/zackees/ytclip-server)

# Releases

  * 1.2.11: `--upgrade` now exits 0 instead of continuing
  * 1.2.10: Adds `--crf` to control bit rate encoding.
  * 1.2.9: Drm video now detected properly and an output error message is emitted.
  * 1.2.8: Minimum version of `yt-dlp` bumped. Adds `--upgrade` for upgrading `yt-dlp`
  * 1.2.7: Brighteon downloads have been fixed, thanks to the brighteon plugin.
  * 1.2.6: Fix error where omitting length would cause error.
  * 1.2.5: Cleans youtube videos by removing the ?t= part of the url.
  * 1.2.4: Adds update warning for ytclip if out of date.
  * 1.2.3: Make yt-dlp use 1.2.3 or higher (fixes downloader).

# TODO

  * Add lossless cut to tool:
    * https://github.com/mifi/lossless-cut

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/zackees/ytclip",
    "name": "ytclip",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6.0",
    "maintainer_email": null,
    "keywords": null,
    "author": "Zach Vorhies",
    "author_email": "dont@email.me",
    "download_url": "https://files.pythonhosted.org/packages/4b/16/1f6ad7fe9264079ead44e123048ac05a2d85c6c60cfa9c3e0ebdcfcf3a67/ytclip-1.2.11.tar.gz",
    "platform": null,
    "description": "# ytclip - Quickly clip any video you see online and save it to your harddrive\r\n\r\n# Usage\r\n\r\nMake sure python (>3.7) is installed on your system.\r\n\r\n```bash\r\n> pip install ytclip\r\n> ytclip https://www.youtube.com/watch?v=dQw4w9WgXcQ\r\n# Follow the prompts\r\n```\r\n\r\n[![Actions Status](https://github.com/zackees/ytclip/workflows/MacOS_Tests/badge.svg)](https://github.com/zackees/ytclip/actions/workflows/push_macos.yml)\r\n[![Actions Status](https://github.com/zackees/ytclip/workflows/Win_Tests/badge.svg)](https://github.com/zackees/ytclip/actions/workflows/push_win.yml)\r\n[![Actions Status](https://github.com/zackees/ytclip/workflows/Ubuntu_Tests/badge.svg)](https://github.com/zackees/ytclip/actions/workflows/push_ubuntu.yml)\r\n\r\n# About\r\n\r\nThis utility provides a command that will automate downloading files and creating clips out of them.\r\n\r\nUses `yt-dlp` to do the downloading of files and uses `static_ffmpeg` to do the actual cutting.\r\n\r\n### Windows\r\n\r\nFor easy use, just download the [`run_ytclip.bat`](https://raw.githubusercontent.com/zackees/ytclip/main/run_ytclip.bat) file and place it into any folder you want. Now you have a double clickable icon for users that don't like going to the command line. Make sure you've installed the [latest python](https://python.org/download), checking the box that says \"ADD TO PATH\" during installation.\r\n\r\n# Running\r\n\r\n\r\n```bash\r\n# (Interactive)\r\n> cd <MY_DIRECTORY>\r\n> ytclip\r\nAdd new video:\r\n  url: ...\r\n  start_timestamp: 08:08\r\n  end_timestamp: 08:20\r\n  output_name: my_file\r\n```\r\n\r\n```bash\r\n# (CMD-line)\r\n> cd <MY_DIRECTORY>\r\n> ytclip https://www.youtube.com/watch?v=CLXt3yh2g0s --start_timestamp 00:32 --end_timestamp 00:52 --outname myoutputfile\r\n```\r\n\r\n```bash\r\n# Help file\r\n> ytclip --help\r\n```\r\n\r\n\r\n# Api\r\n\r\nYou can also use it as an api:\r\n\r\n```python\r\nfrom ytclip.ytclip import run_download_and_cut\r\n\r\nrun_download_and_cut(\r\n    url=\"https://www.youtube.com/watch?v=-wtIMTCHWuI\",\r\n    start_timestamp=\"1:10\",\r\n    end_timestamp=\"1:30\",\r\n    outname=\"myclip_withoutsuffix\")\r\n```\r\n\r\nYou can also turn off logging like so:\r\n\r\n```python\r\nfrom ytclip.ytclip import run_download_and_cut, set_logging\r\n\r\nset_logging(False)\r\nrun_download_and_cut(...)\r\n```\r\n\r\n# Server\r\n\r\nSee the server version: [ytclip-server](https://github.com/zackees/ytclip-server)\r\n\r\n# Releases\r\n\r\n  * 1.2.11: `--upgrade` now exits 0 instead of continuing\r\n  * 1.2.10: Adds `--crf` to control bit rate encoding.\r\n  * 1.2.9: Drm video now detected properly and an output error message is emitted.\r\n  * 1.2.8: Minimum version of `yt-dlp` bumped. Adds `--upgrade` for upgrading `yt-dlp`\r\n  * 1.2.7: Brighteon downloads have been fixed, thanks to the brighteon plugin.\r\n  * 1.2.6: Fix error where omitting length would cause error.\r\n  * 1.2.5: Cleans youtube videos by removing the ?t= part of the url.\r\n  * 1.2.4: Adds update warning for ytclip if out of date.\r\n  * 1.2.3: Make yt-dlp use 1.2.3 or higher (fixes downloader).\r\n\r\n# TODO\r\n\r\n  * Add lossless cut to tool:\r\n    * https://github.com/mifi/lossless-cut\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Command to download a video and cut out a clip.",
    "version": "1.2.11",
    "project_urls": {
        "Homepage": "https://github.com/zackees/ytclip"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2e6290bdde0a6272d73d5c10bcf18d397a9cf207b6e8b115584b31f2eee49086",
                "md5": "7951b59cb179fda33375da8541ecf4f5",
                "sha256": "67e4fb86e53cf4784646e58ef17cf4a3f20268cf7a212eaeb9053ddc40f8002d"
            },
            "downloads": -1,
            "filename": "ytclip-1.2.11-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7951b59cb179fda33375da8541ecf4f5",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.6.0",
            "size": 9365,
            "upload_time": "2024-08-08T03:59:03",
            "upload_time_iso_8601": "2024-08-08T03:59:03.574108Z",
            "url": "https://files.pythonhosted.org/packages/2e/62/90bdde0a6272d73d5c10bcf18d397a9cf207b6e8b115584b31f2eee49086/ytclip-1.2.11-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4b161f6ad7fe9264079ead44e123048ac05a2d85c6c60cfa9c3e0ebdcfcf3a67",
                "md5": "4412925e6f05f32033feb6804e15064e",
                "sha256": "cb8a1229c1fac815fa3bd95a75f297e153ad8f43ffd81092cd570ccdb04ce4f6"
            },
            "downloads": -1,
            "filename": "ytclip-1.2.11.tar.gz",
            "has_sig": false,
            "md5_digest": "4412925e6f05f32033feb6804e15064e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6.0",
            "size": 10995,
            "upload_time": "2024-08-08T03:59:05",
            "upload_time_iso_8601": "2024-08-08T03:59:05.827525Z",
            "url": "https://files.pythonhosted.org/packages/4b/16/1f6ad7fe9264079ead44e123048ac05a2d85c6c60cfa9c3e0ebdcfcf3a67/ytclip-1.2.11.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-08 03:59:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "zackees",
    "github_project": "ytclip",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "ytclip"
}
        
Elapsed time: 1.42336s