TLDR: what tool will let a casual user to input a URL (to a disguised .m3u8
file) and get a .mp4
?
Backstory, our school uses Panopto to record lectures. The web interface is crap, but I found a project that lets you download the video files as .mp4
https://programming.dev/post/21072323
that is until 2 weeks ago when Panopto started exporting the files as
- 1 large
.panobf1
file - 2 small
.panobf2
files, a few bytes each
I can swap the file extension for the .panobf1
file to .mp4
. This is enough 90% of the time. However, since this is the file with the classroom camera overlaid on the slides, it blocks the content in the corner.
Investigating the .panobf2
files:
❯ file master.panobf2
master.panobf2: M3U playlist, ASCII text
I ran this command on each .panobf2
file to download the classroom stream and slides stream as separate mp4
files.
ffmpeg -i <file-url> -c copy video.mp4
It’s finals season and I want to make a new post to help people out. CLI isn’t for everyone, so I’m looking for a tool instead
yt-dlp can download m3u8 playlists AFAIK
I was going to suggest this but I couldn’t say it’s “casual user” friendly. That said, there is no better utility.
There are many GUIs for yt-dlp.
Stacher is what I use. Makes things very easy.
I use Parabolic on Linux and YTDLnis on Android. I chose them because of the consistency of design with the OS.
It looks nice, but is it still open source?
That is a fair question. I honestly have no idea.
I missed that in the OP.
That’s alright, it started the discussion and I learned about the GUIs
VLC might work, testing nowIt’s slow to get started compared to ffmpegConvert and save grabbed the audio only, need to play with it more
Not strictly user-friendly but this how I usually do it with this ONE command:
ffmpeg -allowed_extensions ALL -protocol_whitelist file,http,https,tcp,tls,crypto -i PLAYLIST.m3u -codec copy OUTPUT.mp4
CLI is the way.
Don’t rely on a black box, build a transparent box.
Have you checked JDownloader. I think it may work. Haven’t tested though.
It looks old, but I will try it and report back