jibon57 / bbb-recorder

BigBlueButton recorder using puppeteer to export as webm or mp4 file & Live RTMP broadcasting
MIT License
260 stars 134 forks source link

Link to a file share solution or Greenlight #7

Open guidtz opened 4 years ago

guidtz commented 4 years ago

Hello, my first test of bbb-recorder are good, I have anothers tests to do to confirm. So now I think about users uses cases. I wonder to make it usable for users. For now my users are in greenlight, do you think is possible to link bbb-recorder to greenlight ? Or another idea to link that with a share system like nextcloud or others solutions ?

Thanks for you're development and ideas

emadbagheri96 commented 4 years ago

Hello, I just tested it too and was happy to find this solution! And just was wondering the same how to enable end users to download the .mp4 file without touching the command line. 2 scenarios came to my mind:

  1. Find the bbb-recorder finish flag in its bash code and order it to automatically make the .mp4 file with this solution. Then make a simple html file in hostname/bigbluebutton/record directory which shows the . mp4 files. By my first look i think it should be added after the last line of bbb-recorder. Though all the installations of chrome, node and etc should be done before. This seems easier than editing the Ruby code of greenlight to me which is the scenario number 2.
  2. Add another button near the presentation button in the recordings row which makes the .mp4 file and then downloads it. The difference here is it doesn't make the .mp4 file automatically and waits for user to order so it means calling the bash from greenlight. Since it takes time to make the file it may not be wise to keep the user waiting, so it can be emailed to him when its done. I would be glad to help in making this issue a proper and usable solution.
jibon57 commented 4 years ago

Thanks for the ideas. Welcome for PRs

At present files are storing here: /var/www/bigbluebutton-default/record So, you can easily download by: https://bbb_host/record/myfile.mp4 This idea can be use for easy implementation: https://github.com/jibon57/bbb-recorder/issues/2#issuecomment-607866970

mbile commented 4 years ago

Hi @jibon57 Thanks for this great project. Do I need to install this on the same machine as the BBB server or a different one?

emadbagheri96 commented 4 years ago

Thanks for the ideas. Welcome for PRs

At present files are storing here: /var/www/bigbluebutton-default/record So, you can easily download by: https://bbb_host/record/myfile.mp4 This idea can be use for easy implementation: #2 (comment)

@jibon57 you are right but in this case the problem of downloading is knowing the name of the file to download for enduser. how do you solve that?

jibon57 commented 4 years ago

That will be depends on how you will configure your application. For our case we are using same as meeting ID. Actually we have our own customize development system which is based on PHP. We are using BBB API & own load balancing system. So, using BBB API you can do any customization in any programming language. I never used Greenlight nor I have experience on ruby.

silasrm commented 4 years ago

Hi, My tip is put recording path in config file for default value and optional parameter on scripts, for security reasons. In my prototype idea, all records files are private and permission is needed to download than.

Other idea is using filesystem abstraction libraries like Flysystem on PHP, to sent file to other servers. In nodejs has https://github.com/Slynova-Org/flydrive

emadbagheri96 commented 4 years ago

My tip is put recording path in config file for default value and optional parameter on scripts, for security reasons. In my prototype idea, all records files are private and permission is needed to download than.

@silasrm hi, can you explain the current security issue? you meant unauthorized file downloading?

silasrm commented 4 years ago

My tip is put recording path in config file for default value and optional parameter on scripts, for security reasons. In my prototype idea, all records files are private and permission is needed to download than.

@silasrm hi, can you explain the current security issue? you meant unauthorized file downloading?

If record file is on web (https://bbb_host/record/myfile.mp4), anyone can access. In my case (prototype) only participants can access this records, then all files need to be out of web and has a access verification before download (an endpoint with permission check and force file download).

developcrk commented 4 years ago

Thanks for the ideas. Welcome for PRs

At present files are storing here: /var/www/bigbluebutton-default/record So, you can easily download by: https://bbb_host/record/myfile.mp4 This idea can be use for easy implementation: #2 (comment)

Hi, First of all, thanks for this fantastic plugin!!! I'm a beginner on PHP programming. I would like to get some help, please.

1- Is it possible to trigger the export of the bbb-recorder plugin from PHP? For example, list all the recordings ID's with a button next to them to trigger "node export.js "https://BBB_HOST/playback/presentation/2.0/playback.html?meetingId=MEETING_ID" meeting.webm 10 true" from the server.

2- Is it possible to retrieve all the recordings names from the record folder? In that way I can list them and create a link like "https://bbb_host/record/Corresponding-name.mp4" so they can be downloaded clicking on the link.

I will really appreciate your help. Sorry in advance if the question shouldn't go here. I'm really a beginner in all this.

Regards!

emadbagheri96 commented 4 years ago

Thanks for the ideas. Welcome for PRs At present files are storing here: /var/www/bigbluebutton-default/record So, you can easily download by: https://bbb_host/record/myfile.mp4 This idea can be use for easy implementation: #2 (comment)

Hi, First of all, thanks for this fantastic plugin!!! I'm a beginner on PHP programming. I would like to get some help, please.

1- Is it possible to trigger the export of the bbb-recorder plugin from PHP? For example, list all the recordings ID's with a button next to them to trigger "node export.js "https://BBB_HOST/playback/presentation/2.0/playback.html?meetingId=MEETING_ID" meeting.webm 10 true" from the server.

2- Is it possible to retrieve all the recordings names from the record folder? In that way I can list them and create a link like "https://bbb_host/record/Corresponding-name.mp4" so they can be downloaded clicking on the link.

I will really appreciate your help. Sorry in advance if the question shouldn't go here. I'm really a beginner in all this.

Regards!

You can use nginx auto index for number 2.

shahriyaaar commented 4 years ago

"node export.js https://BBB_HOST/playback/presentation/2.0/playback.html?meetingId=MEETING_ID" meeting.webm 0 true

hi everyone , how to run that command in controller on laravel ? I tried run that command with shell_exec or process or exec , but not get good results , please help me how to run that command without command line .

techmaplle commented 4 years ago

"node export.js https://BBB_HOST/playback/presentation/2.0/playback.html?meetingId=MEETING_ID" meeting.webm 0 true

hi everyone , how to run that command in controller on laravel ? I tried run that command with shell_exec or process or exec , but not get good results , please help me how to run that command without command line .

Hi, we use cron script to convert all the recordings and then make them available to users for download. also, we store meeting ID in MySQL

legrex commented 4 years ago

"node export.js https://BBB_HOST/playback/presentation/2.0/playback.html?meetingId=MEETING_ID" meeting.webm 0 true hi everyone , how to run that command in controller on laravel ? I tried run that command with shell_exec or process or exec , but not get good results , please help me how to run that command without command line .

Hi, we use cron script to convert all the recordings and then make them available to users for download. also, we store meeting ID in MySQL

Hello @techmaplle, do you mind to share your cron script you are actually using? That would be a great help and food for thought!

guidtz commented 3 years ago

Hello I always search any idea to automate video recorder or to link that to a buton in greenlight or another solution.

An another idea is to automate that and to push it automatically in Peertube.

Regards