C0D3D3V / bbb-dl

Downlaod BigBlueButton recordings. A simple scrapper for Big Blue Button lessons. Download and merge the audio and video files of a BigBlueButton conference from the conference replay url.
MIT License
65 stars 16 forks source link

local creation #52

Closed h0m6r3 closed 9 months ago

h0m6r3 commented 9 months ago

Due to a network problem (firewall limitations) I have access to my bbb server only with a notebook which actually is very slow. But I have ssh access and could download the directories where the presentations are hosted (/var/bigbluebutton/deleted/presentation/ etc.) . (1) Is it possible to create a BBB lesson as MP4 video from a local file? (2) And if 'yes' which data should be downloaded? (3) If using option "bbb-dl -bk", how to proceed?

C0D3D3V commented 9 months ago

Thats a setup I did not thought about. bbb-dl -bk is only there to download the files from the server, and nothing more is done (after that you could use something like https://github.com/tilmanmoser/bbb-video-download to create the video). But if you have access to the server you could also run bbb-dl on the server itself (if it has enough power to handle bbb, it probably has enough power to render a video. But keep in mind that I did not think about this while creating the tool. So it could be that it uses to much resources of the server (all cpus) and than freezes bbb).

If you have access to the files you could download the session files, for example: If the URL is like: https://conf2.anisa.co.ir/playback/presentation/2.3/aefeeb8e34eb48cdd846993a15051c80ca4593c1-1692879978011 There should be a directory called "aefeeb8e34eb48cdd846993a15051c80ca4593c1-1692879978011" In that folder there should be a structure similar to this:

 ├── captions.json
├── cursor.xml
├── deskshare
│   └── deskshare.webm
├── deskshare.xml
├── metadata.xml
├── panzooms.xml
├── presentation
│   ├── 1030be86e8e7ea430979cb3adc166822cc858d78-1692880038693
│   │   ├── slide-1.png
│   │   ├── slide-10.png
│   │   ├── slide-11.png
│   │   ├── slide-12.png
│   │   ├── slide-13.png
│   │   ├── slide-14.png
│   │   ├── slide-15.png
│   │   ├── slide-16.png
│   │   ├── slide-17.png
│   │   ├── slide-18.png
│   │   ├── slide-19.png
│   │   ├── slide-2.png
│   │   ├── slide-20.png
│   │   ├── slide-21.png
│   │   ├── slide-22.png
│   │   ├── slide-23.png
│   │   ├── slide-24.png
│   │   ├── slide-3.png
│   │   ├── slide-4.png
│   │   ├── slide-5.png
│   │   ├── slide-6.png
│   │   ├── slide-7.png
│   │   ├── slide-8.png
│   │   └── slide-9.png
│   ├── 295b8d2cd6a358cf84438138dd5271f1da5cbc7d-1692879978016
│   │   └── slide-1.png
│   ├── deskshare.png
│   └── logo.png
├── presentation_text.json
├── shapes.svg
├── slides_new.xml
└── video
    └── webcams.webm

6 directories, 37 files

download that complete folder. Than if you use linux go to ~/.local/share/bbb-dl or on windows %localappdata%\bbb-dl. Create a folder named after the md5 hash of the session id. On linux you can run echo -n "aefeeb8e34eb48cdd846993a15051c80ca4593c1-1692879978011" | md5sum to get the hash of the id above. so the folder name would be f03c9a9fb6f906fd1d69254d48f28865, put everything in there so that the structure is like above. Than run bbb-dl for the URL, it should skip downloading everything because the files are already there.

I could also add a direct option, to run bbb-dl on a specific folder. So you could mount the directory via sshfs and than run bbb-dl directly on that.

h0m6r3 commented 9 months ago

Thanx a lot. I've managed to change the firewall setting. Now it works perfectly even from my home machine. And it's 15 times faster. :-) Thank you very much for your efforts, and sorry for bothering.