panopto-dl


Namepanopto-dl JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/samsonq/panopto-dl
SummaryDownload video from Panopto
upload_time2023-08-13 23:47:18
maintainer
docs_urlNone
authorSamson Qian
requires_python>=3.7
licenseMIT
keywords panopto download video
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Panopto-Video-DL
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samsonq/panopto-dl/blob/master/LICENSE)
[![Build](https://img.shields.io/circleci/project/github/badges/shields/master)](https://github.com/samsonq/panopto-dl)

Toolkit to download video recordings from Panopto.

### Prerequisites
- [Panopto-Video-DL-browser](https://github.com/Panopto-Video-DL/Panopto-Video-DL-browser)
- Python >= 3.7

## Module Usage
### Installation
Run the command:
```shell
pip install panopto-dl
```
### FFmpeg extension

Since version 1.4.0 _FFmpeg is no longer needed_, but it is still possible to download video
using [ffmpeg](https://ffmpeg.org/download.html) by adding `[ffmpeg]` to the pip command used to install it.  
```shell
pip install git+https://github.com/Panopto-Video-DL/Panopto-Video-DL-lib#egg=PanoptoDownloader[ffmpeg]
```

**Note**: FFmpeg **must** be added in the _system PATH_  

### Usage

- In a new terminal run the command:
```shell
panoptodownloader
```
- Paste the link automatically copied from [Panopto-Video-DL-browser](https://github.com/Panopto-Video-DL/Panopto-Video-DL-browser)
- Set the destination folder
- Wait for the download to finish

### Use as Python Module

```python
import PanoptoDownloader


URL = "https://****"
PATH = "./output.mp4"


def callback(progress: int):
    """
    :param progress: Downloading progress. From 0 to 100
    """
    print(f"{progress} / 100")


if __name__ == '__main__':
    try:
        PanoptoDownloader.download(
            URL,
            PATH,
            callback
        )
        print("Download completed")

    except Exception as e:
        print(e)
```


## Application UI
### Installation
1. Install JavaScript browser extension to get M3U8 file path
	- Install [TamperMonkey](https://www.tampermonkey.net/) Script-Manager browser extension  
		- [Chrome](https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo)  
		- [Firefox](https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/)  
		- [Other browser](https://www.tampermonkey.net/)  
	- Install this JavaScript script from [here](https://greasyfork.org/scripts/423661-panopto-video-dl)

2. Clone this repository to local path
	- `$ git clone https://github.com/samsonq/panopto-dl.git`
	- Install requirements to run application
		- `$ pip install -r requirements.txt`

3. Run application
	- Enter cloned repository
	- `$ cd panopto-dl`
	- `$ python main.py`
	- A UI (user-interface) should appear within a few seconds with instructions

### UI Application Usage  

1. Start application (see above section), the following UI should be displayed:
<img src="assets/app.png" width="500"/>

2. Open Panopto recording on web browser, and click the 'Download' button at the bottom left of the page. This will automatically copy a link for you:
<img src="assets/example.png" width="1000"/>

3. Create a recordings folder in your local directory to store file recordings
	- `$ mkdir recordings`
	- The supported extensions of the downloaded recording include: `.mp4`, `.mkv`, `.flv`, `.avi`
4. Paste the copied link from step (2) into the application  
5. Enter the specified path to save the video recording
	- i.e. `./recordings/lecture.mp4`
6. Click the Download button and wait for recording to finish processing
	- After the progress bar reaches the end, the video recording should be saved in the specified path

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/samsonq/panopto-dl",
    "name": "panopto-dl",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "panopto download video",
    "author": "Samson Qian",
    "author_email": "samsonqian@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/b9/c5/97dd957fa9237332c3c3154ec517d7545778d879faece0ea43e9eabc83e6/panopto_dl-0.1.1.tar.gz",
    "platform": null,
    "description": "# Panopto-Video-DL\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samsonq/panopto-dl/blob/master/LICENSE)\n[![Build](https://img.shields.io/circleci/project/github/badges/shields/master)](https://github.com/samsonq/panopto-dl)\n\nToolkit to download video recordings from Panopto.\n\n### Prerequisites\n- [Panopto-Video-DL-browser](https://github.com/Panopto-Video-DL/Panopto-Video-DL-browser)\n- Python >= 3.7\n\n## Module Usage\n### Installation\nRun the command:\n```shell\npip install panopto-dl\n```\n### FFmpeg extension\n\nSince version 1.4.0 _FFmpeg is no longer needed_, but it is still possible to download video\nusing [ffmpeg](https://ffmpeg.org/download.html) by adding `[ffmpeg]` to the pip command used to install it.  \n```shell\npip install git+https://github.com/Panopto-Video-DL/Panopto-Video-DL-lib#egg=PanoptoDownloader[ffmpeg]\n```\n\n**Note**: FFmpeg **must** be added in the _system PATH_  \n\n### Usage\n\n- In a new terminal run the command:\n```shell\npanoptodownloader\n```\n- Paste the link automatically copied from [Panopto-Video-DL-browser](https://github.com/Panopto-Video-DL/Panopto-Video-DL-browser)\n- Set the destination folder\n- Wait for the download to finish\n\n### Use as Python Module\n\n```python\nimport PanoptoDownloader\n\n\nURL = \"https://****\"\nPATH = \"./output.mp4\"\n\n\ndef callback(progress: int):\n    \"\"\"\n    :param progress: Downloading progress. From 0 to 100\n    \"\"\"\n    print(f\"{progress} / 100\")\n\n\nif __name__ == '__main__':\n    try:\n        PanoptoDownloader.download(\n            URL,\n            PATH,\n            callback\n        )\n        print(\"Download completed\")\n\n    except Exception as e:\n        print(e)\n```\n\n\n## Application UI\n### Installation\n1. Install JavaScript browser extension to get M3U8 file path\n\t- Install [TamperMonkey](https://www.tampermonkey.net/) Script-Manager browser extension  \n\t\t- [Chrome](https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo)  \n\t\t- [Firefox](https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/)  \n\t\t- [Other browser](https://www.tampermonkey.net/)  \n\t- Install this JavaScript script from [here](https://greasyfork.org/scripts/423661-panopto-video-dl)\n\n2. Clone this repository to local path\n\t- `$ git clone https://github.com/samsonq/panopto-dl.git`\n\t- Install requirements to run application\n\t\t- `$ pip install -r requirements.txt`\n\n3. Run application\n\t- Enter cloned repository\n\t- `$ cd panopto-dl`\n\t- `$ python main.py`\n\t- A UI (user-interface) should appear within a few seconds with instructions\n\n### UI Application Usage  \n\n1. Start application (see above section), the following UI should be displayed:\n<img src=\"assets/app.png\" width=\"500\"/>\n\n2. Open Panopto recording on web browser, and click the 'Download' button at the bottom left of the page. This will automatically copy a link for you:\n<img src=\"assets/example.png\" width=\"1000\"/>\n\n3. Create a recordings folder in your local directory to store file recordings\n\t- `$ mkdir recordings`\n\t- The supported extensions of the downloaded recording include: `.mp4`, `.mkv`, `.flv`, `.avi`\n4. Paste the copied link from step (2) into the application  \n5. Enter the specified path to save the video recording\n\t- i.e. `./recordings/lecture.mp4`\n6. Click the Download button and wait for recording to finish processing\n\t- After the progress bar reaches the end, the video recording should be saved in the specified path\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Download video from Panopto",
    "version": "0.1.1",
    "project_urls": {
        "Homepage": "https://github.com/samsonq/panopto-dl"
    },
    "split_keywords": [
        "panopto",
        "download",
        "video"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "796ff98a20acd772adcbd484476f7e03aecf7a9dad75d149a3b9bd83934755bc",
                "md5": "ba4aa3566c5023441c80cddd887ab9cd",
                "sha256": "e38d302c83bea2e1339ef38ab0ff8b53fa5a279b7b992f7d3edd4fbf0e6b86f1"
            },
            "downloads": -1,
            "filename": "panopto_dl-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ba4aa3566c5023441c80cddd887ab9cd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 9986,
            "upload_time": "2023-08-13T23:47:16",
            "upload_time_iso_8601": "2023-08-13T23:47:16.463023Z",
            "url": "https://files.pythonhosted.org/packages/79/6f/f98a20acd772adcbd484476f7e03aecf7a9dad75d149a3b9bd83934755bc/panopto_dl-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b9c597dd957fa9237332c3c3154ec517d7545778d879faece0ea43e9eabc83e6",
                "md5": "5714748578b0c36162cf773a66654288",
                "sha256": "9109fb1983f3d769cf2e3143c6adb3b6bdc0ad2116a50a781a534cf89ee940c9"
            },
            "downloads": -1,
            "filename": "panopto_dl-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "5714748578b0c36162cf773a66654288",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 9497,
            "upload_time": "2023-08-13T23:47:18",
            "upload_time_iso_8601": "2023-08-13T23:47:18.781702Z",
            "url": "https://files.pythonhosted.org/packages/b9/c5/97dd957fa9237332c3c3154ec517d7545778d879faece0ea43e9eabc83e6/panopto_dl-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-13 23:47:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "samsonq",
    "github_project": "panopto-dl",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "panopto-dl"
}
        
Elapsed time: 0.18711s