llaske / sugarizer

Sugarizer is a web implementation of the Sugar platform to run on any device or browser
https://sugarizer.org
Apache License 2.0
199 stars 422 forks source link

unable to play the recorded video in the Record activity #1661

Closed yashveeeeer closed 1 month ago

yashveeeeer commented 1 month ago

Hi @llaske, while using the Sugarizer I have found that I am not able to play the recorded video in the Record activity of the Sugarizer. Could you also check on your side if the problem is same. I have started working on the same.

llaske commented 1 month ago

@yashveeeeer could you detail your testing environment.

yashveeeeer commented 1 month ago

Hardware: System Model: Victus by HP Gaming Laptop System Type: x64-based PC Processor(s): 1 Processor(s) Installed. [01]: Intel64 Family 6 Model 154 Stepping 3 GenuineIntel ~2300 Windows Environment OS Version: 10.0.22631 N/A Build 22631

Software: Nodejs v20.11.1 electron@31.3.1 NPM 10.2.4

if you want other info just let me know. and also i want to mention one thing when tried the problem on the deployed version of sugarizer on internet using the other laptop of asus vivobook(i used microsoft edge and chrome ) the video was working fine, then i also tried on the third laptop which was also asus vivobook it was not working well and i tried to check sugarizer on my microsoft edge and chrome the playing is not working well even though the version of the microsoft browser is same as of the other one where it was working well.

yashveeeeer commented 1 month ago

@llaske could you please correct me if I have provided wrong info, I'm pretty sure you might be busy.

llaske commented 1 month ago

Are you using the web version of Sugarizer or did you install the desktop version? When you say that it works on Internet, do you mean from https://try.sugarizer.org? It's possible that your browser limit record when executed from an unsecure URL (like a local one http://localhost:8080) so it should work from the desktop version and on a secure internet connection.

yashveeeeer commented 1 month ago

Okay, so i guess i have made little mistake, so while solving the error and testing, i use electron app (so i think its an desktop version, because initially when i had forked the repo i had install the electron and when i run the sugarizer locally on desktop using the code, in my task manager the electron app shows working and while doing it end task the sugarizer also get closed) but for the comparison i used the web version of it, so the error might be for the desktop version. Also i want to mention that in capture-helper.js file in the video recording code section which uses Recordrtc when i add the mimeType the application works well it shows the recorded video properly on my local electron app. I think the issue type is similar to the issue #1203

llaske commented 1 month ago

Okay, so i guess i have made little mistake, so while solving the error and testing, i use electron app (so i think its an desktop version,

Yes, it's the desktop version.

when i add the mimeType the application works well it shows the recorded video properly on my local electron app

Could you detail exactly what you've done? It could be a fix to the issue.

yashveeeeer commented 1 month ago

Okay, so in the capture-helper.js file (path of the file [activities\Record.activity\js\capture-helper.js]) the code here is trying to record the audio , video and capturing picture and also the display part of it. So in the video stream part is handle by RecordRTC , so there is an variable defined as "recordRTC" which holds the instance of the RecordRTC provided by RecordRTC library, and mediaStream has been passed as an argument to the RecordRTC constructor to specify the source of media. so here in some options the type has set to video with the values of frameRate and Quality so here I have added "mimeType:video/webm;codecs=vp9"(helps the media player to decode the video we have recorded) which indicates the format in which the video will be encoded, which ensures that the recorded video will be compatible with web application that can handle WebM. I have added the pull request too.

llaske commented 1 month ago

Duplicate https://github.com/llaske/sugarizer/issues/1203