| name | panopto-mp4-bulk-download |
| description | Extract real downloadable mp4 URLs from Panopto and similar HLS lecture players, then batch-download all lectures with manifests and retry logic. Use when users ask to download many class videos from a logged-in Panopto folder, to automate IDM-style URL discovery, or to derive fragmented.mp4 links from Viewer pages. |
Panopto MP4 Bulk Download
Use This Workflow
- Ensure the user is already logged into Panopto in
agent-browser.
- Use a headed persistent session (
~/.agent-browser-session).
- Pass the folder list URL to the bundled script.
Run The Bundled Script
scripts/panopto_bulk_mp4.sh "<panopto-folder-list-url>" "<output-dir>" "<manifest-dir>"
Example:
scripts/panopto_bulk_mp4.sh \
"https://scs.hosted.panopto.com/Panopto/Pages/Sessions/List.aspx?...#folderID=%22...%22" \
"downloads/panopto_mp4" \
"downloads/panopto_manifests"
What The Script Does
- Open the folder list page in
agent-browser.
- Extract all lecture
Viewer.aspx?id=... links.
- Open each lecture page and click Play.
- Read browser
performance entries to capture media URLs.
- Prefer
/fragmented.mp4; if absent, derive it from /index.m3u8.
- Download all videos with
curl -L retries.
- Write manifests and failure reports.
Required Behavior During Manual Automation
- For every
agent-browser open, always use --headed --session <name>.
- If
open fails, immediately run:
agent-browser --session <name> close
agent-browser --headed --session <name> open <url>
Outputs
lecture_mp4_manifest.tsv: lecture metadata and extracted mp4 URLs
extract_failed.txt: lecture pages where URL extraction failed
download_failed.txt: downloads that failed after retries
References
- URL patterns and quick JS snippets:
references/url-patterns.md