Giter Club home page Giter Club logo

opencast-downloader's Introduction

OpenCast Downloader

Quick and easy note

Some universitys are using this OpenCast Player for their videos but have them password protected. As this python programm can't handle redirection links there is a easy workaround without any further tools: Open the video in the common OpenCast-Player in Firefox-Browser. Press F12 for developer tools and open the "network"-tab. Reload the page and scroll up (sorting for "media"-type makes it even easier). There is a .mp4 file that can be opened in a new tab via right-click on it. As Firefox features mp4-video-download just right click the video in the new opened tab and you can save it to whereever you want.

If your university uses OpenCast for lecture videos and you're looking for a simple-to-use downloader so you can save these lecture videos to your mobile devices and use them on the go, this tool is for you!

Prerequisites

To use this tool, you will need Python 3 on your system with the requests module installed. (If the module is missing from your Python installation, it will be installed automatically.)

Usage

The Python script is run by ./oc_download.py or python3 oc_download.py. It offers an interactive menu, however, by specifying all of the appropriate optional flags, you can run this script unattended. For options, please refer to the help output:

usage: oc_download.py [-h] [-U URL] [-u USERNAME] [-p PASSWORD]
                    [-o OUTPUT_DIRECTORY] [-r RESOLUTION] [-s SERIES] [-ls]
                    [-le] [-e EPISODES] [-pr] [-pn]

Downloads videos from an OpenCast sever.

optional arguments:
-h, --help            Display this help message and exit.
-v, --version         Display version info and exit.
-U URL, --url URL     URL of the OpenCast server.
-u USERNAME, --username USERNAME
                        Username for the OpenCast server.
-p PASSWORD, --password PASSWORD
                        Password for the OpenCast server.
-o OUTPUT_DIRECTORY, --output-directory OUTPUT_DIRECTORY
                        Download directory for videos.
-r RESOLUTION, --resolution RESOLUTION
                        Resolution string to match. (The value "max"
                        automatically selects the maximum resolution.)
-s SERIES, --series SERIES
                        String to match for series titles.
-ls, --list-series    List available series and exit.
-le, --list-episodes  List available episodes. (Can be used with --series.)
-e EPISODES, --episodes EPISODES
                        String to match for episode titles, use "all" to
                        download all.
-pr, --presenter      Download presenter videos.
-pn, --presentation   Download presentation videos.

Authors

  • Sora Steenvoort

Note

So far, this tool has only been successfully tested for the OpenCast server of Ruhr University Bochum - your mileage may vary. If the tool doesn't work for you, please file a bug report and include the appropriate data.

Acknowledgements

Thanks to StackOverflow's FogleBird for a code snippet for parsing numerical ranges and the Django project for a code snippet for creating safe file names.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.