Panopto Plus

Improve your webcasting experience!

What is Panopto Plus?

Panopto Plus is a Chrome extension developed by NUS Orbital Group 1, and its main feature is "Improve your webcasting experience!".

Extension Screenshots

screenshot
screenshot

Download Panopto Plus Extension CRX File

Download Panopto Plus extension files in crx format, manually install Chrome extensions in the browser, or share the crx files with friends to easily install Chrome extensions.

Extension Usage Instructions

                        Panopto Plus adds a few features to the webcast page on NUS Panopto websites. These changes also apply to webcasts on LumiNUS. It also allows you to customize your webcasting experience.

The Chrome Extension serves 3 main purposes:

1.  Add transcript and subtitles to (most) of your webcasts

2.  Add silence trimming. Sections in the webcast where there is no speech are automatically skipped.

3.  Add various user interface improvements:
o   Wider range of webcast playback speeds with a slider / more options
o   Persistent settings across all webcasts / webcasts under a module e.g. always start playing webcasts at 2.0x speed
o   Volume Booster to amp the volume up beyond the maximum when it's too soft
o   Minimizable sidebar for all webcasts (you can now split screen with all webcasts)
o   Carousel customization

Additional features include:

a. White noise reduction & audio normalization

These features are toggleable and customizable on the settings page.

Panopto Plus is a free open-source project licensed under GPL-3.0 that belongs to NUS and was developed as an NUS Orbital project. You can access the GitHub repository here: https://github.com/crazoter/panplus

v1.4.11: Fix delay-disabler.js which prevents stuttering

v1.4.10: White noise removal & normalization of audio

v1.3.7: Silence trimming improvements

v1.3.6: Fixed bug that disabled silence trimming

v1.3.5: Noise detection is no longer dynamic for more consistency (developer testing only, unknown actual results). Added minimum skip time to fix stuttering.

v1.3.4: Improved sync between multiple video streams, hopefully less stuttering with new implementation

v1.3.3: Added option to used fixed noise sample instead of dynamic detection if detection fails.

v1.2.3: Fixed LumiNUS display issue, fixed bug with non-autoplay webcasts, fixed bug where long segments of silence is not skipped

v1.2.2: Added new tooltips to settings page to make it more user friendly, replaced rectangle window function with hamming window function for silence trimming FFT, other minor patches

v1.2.0: Added new tooltips to settings page to make it more user friendly

v1.1.2: Fixed glitch that caused issues with volume booster input when webcast was in full screen                    

Extension Basic Information

Name Panopto Plus Panopto Plus
ID akbikmmpkifiidiegdmhaancnfoeokbh
Official URL https://chromewebstore.google.com/detail/panopto-plus/akbikmmpkifiidiegdmhaancnfoeokbh
Description Improve your webcasting experience!
File Size 215 KB
Installation Count 706
Current Version 1.4.13
Last Updated 2020-11-06
Publish Date 2020-11-06
Rating 4.20/5 Total 5 Ratings
Developer NUS Orbital Group 1
Email [email protected]
Payment Type free
Extension Website https://github.com/crazoter/panplus
Help Page URL https://github.com/crazoter/panplus/issues
Privacy Policy Page URL https://crazoter.github.io/panplus/privacy_policy
Supported Languages en
manifest.json
{
    "update_url": "https:\/\/clients2.google.com\/service\/update2\/crx",
    "name": "Panopto Plus",
    "version": "1.4.13",
    "description": "Improve your webcasting experience!",
    "manifest_version": 2,
    "permissions": [
        "storage"
    ],
    "background": {
        "persistent": false,
        "scripts": [
            "libs\/rob--w-chrome-api\/worker_proxy.js"
        ]
    },
    "icons": {
        "16": "icon16.png",
        "32": "icon32.png",
        "48": "icon48.png",
        "128": "icon128.png"
    },
    "content_scripts": [
        {
            "matches": [
                "*:\/\/*.ap.panopto.com\/Panopto\/Pages\/Viewer.aspx?id=*",
                "*:\/\/*.weblecture.nus.edu.sg\/Panopto\/Pages\/Viewer.aspx?id=*",
                "*:\/\/luminus.nus.edu.sg\/iframe\/lti-launch\/panopto*"
            ],
            "js": [
                "libs\/preact\/preact.min.js",
                "libs\/indutny-fft-js\/fft.min.js",
                "libs\/jquery-3.4.1.min.js",
                "libs\/jquery-ui\/jquery-ui-1.12.1.min.js",
                "libs\/jquery-ui-slider-pips\/jquery-ui-slider-pips.min.js",
                "libs\/uupaa\/WebModule.js",
                "libs\/uupaa\/bit\/Bit.js",
                "libs\/uupaa\/hexdump\/HexDump.js",
                "libs\/uupaa\/hash\/Hash.js",
                "libs\/uupaa\/mpeg2ts\/MPEG2TSDemuxer.js",
                "libs\/uupaa\/mpeg2ts\/MPEG2TSNALUnit.js",
                "libs\/uupaa\/mpeg2ts\/MPEG2TS.js",
                "libs\/rob--w-chrome-api\/worker_proxy.js",
                "libs\/notify\/notify.min.js",
                "libs\/triceam-megalist\/megalist.js",
                "panopto\/js\/core\/min-heap.js",
                "panopto\/js\/core\/cache.js",
                "panopto\/js\/core\/settings.js",
                "panopto\/js\/core\/helper.js",
                "panopto\/js\/core\/context-bridge.js",
                "panopto\/js\/core\/template.js",
                "panopto\/js\/core\/videos-loaded-event.js",
                "panopto\/js\/transcript\/transcript.js",
                "panopto\/js\/transcript\/transcript-source.js",
                "panopto\/js\/transcript\/transcript-source-panopto.js",
                "panopto\/js\/transcript\/transcript-requester.js",
                "panopto\/js\/ui\/silence-cue-manager.js",
                "panopto\/js\/ui\/speed-slider.js",
                "panopto\/js\/ui\/volume-booster.js",
                "panopto\/js\/ui\/sidebar.js",
                "panopto\/js\/ui\/settings-page.js",
                "panopto\/js\/ui\/transcript-display.js",
                "panopto\/js\/ui\/logger-disabler.js",
                "panopto\/js\/ui\/delay-disabler.js",
                "panopto\/js\/ui\/carousel-manager.js",
                "panopto\/js\/jsmpeg\/message-enums.js",
                "panopto\/js\/jsmpeg\/ts-tracker.js",
                "panopto\/js\/audio-api\/audio-compressor.js",
                "panopto\/js\/audio-api\/white-noise-reducer.js",
                "panopto\/js\/audio-api\/video-audio-context-manager.js",
                "panopto\/js\/init.js"
            ],
            "css": [
                "libs\/jquery-ui\/css\/jquery-ui.structure.min.css",
                "libs\/jquery-ui\/css\/jquery-ui.theme.min.css",
                "libs\/jquery-ui\/css\/jquery-ui.min.css",
                "libs\/jquery-ui-slider-pips\/jquery-ui-slider-pips.min.css",
                "libs\/fontawesome\/all.min.css",
                "panopto\/css\/megalist.css",
                "panopto\/css\/player.css",
                "panopto\/css\/speed-slider.css",
                "panopto\/css\/thumbnails.css",
                "panopto\/css\/subtitles.css",
                "panopto\/css\/sidebar.css",
                "panopto\/css\/tooltips.css"
            ],
            "all_frames": true
        },
        {
            "matches": [
                "*:\/\/luminus.nus.edu.sg\/*"
            ],
            "css": [
                "luminus\/css\/web-lecture.css"
            ]
        }
    ],
    "web_accessible_resources": [
        "libs\/rob--w-chrome-api\/worker_proxy.html",
        "libs\/indutny-fft-js\/fft.min.js",
        "panopto\/js\/jsmpeg\/message-enums.js",
        "panopto\/js\/jsmpeg\/vad-worker.js",
        "panopto\/js\/jsmpeg\/vad-processor.js",
        "panopto\/templates\/sidebar.html",
        "panopto\/templates\/speed-slider.html",
        "panopto\/templates\/volume-booster.html"
    ]
}