Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to index a recorded session mcrec with meshcentral ? screenshot jpg vs PNG / not obvious/practical how to launch player #1285

Closed
guerby opened this issue May 3, 2020 · 11 comments
Assignees

Comments

@guerby
Copy link

guerby commented May 3, 2020

Hi,

I'm feeling a bit stupid but it took me a good 30 minutes to be able to find how to play a mcrec meshplayer session recorded file.

I could not find anything in the user guide, in the blog there are some screenshots but they do not show how to launch the player:

https://meshcentral2.blogspot.com/2020/02/meshcentral-desktop-recording-indexing.html
https://meshcentral2.blogspot.com/2019/08/meshcentral2-500k-downloads-session.html

I've had no luck as to find where is located the player in the meshcentral web UI.

Until ... I first remote controlled an unrelated computer and then right clicked on the recording camera icon in the top bottom and it proposed me "Open Player" ...

Screenshot from 2020-05-03 17-06-53

Did I miss a more obvious way to launch the viewer from the meshcentral web UI ? The camera icon appears only when the remote desktop is active, but I think having to remote control a computer just to view a recorded session is not optimal nor obvious.

I found out VLC and mplayer do not recognize the mcrec format.

Also I don't have the fast forward and backward icons, and when I click somewhere in the red bar it doesn't move the video

In my config.json I have :

      "SessionRecording": {
        "filepath": "/opt/meshcentral",
        "index": true,
        "maxRecordings": 10,
        "maxRecordingSizeMegabytes": 3,
        "__protocols__": "Is an array: 1 = Terminal, 2 = Desktop, 5 = Files, 100 = Intel AMT WSMAN, 101 = Intel AMT Redirection",
        "protocols": [ 1, 2, 101 ]
      }

I find nothing in /opt/meshcentral (777 perm mode) when I record or upload mcrec files, did I miss something?

PS: small issue screenshots are named ".jpg" but it seems they are PNG formatted:

file 'Desktop-I5416 (test LG)-2020-05-03-16-26.jpg'
Desktop-I5416 (test LG)-2020-05-03-16-26.jpg: PNG image data, 1440 x 900, 8-bit/color RGBA, non-interlaced

Thanks again!

@guerby
Copy link
Author

guerby commented May 3, 2020

Another thing : in the player when I click "open files" and select an mcrec files nothing happens.

Drag and drop an mcrec file works though.

@guerby
Copy link
Author

guerby commented May 3, 2020

Tried mcrec.js on the server but it doesn't seem to change the file or create a new one

root@meshcentral:~# node /root/meshcentral/node_modules/meshcentral/mcrec.js a.mcrec
Processing file: a.mcrec, 402951 bytes.
TODO-PARTIAL-JUMBO 3 314968 314980
root@meshcentral:~# ls -ltr
-rw-r--r-- 1 root root 402951 May  3 16:05 a.mcrec
-rw-r--r-- 1 root root 402951 May  3 16:07 orig.mcrec
root@meshcentral:~# md5sum a.mcrec orig.mcrec 
5522ba0c52371770a3038e4229297c1d  a.mcrec
5522ba0c52371770a3038e4229297c1d  orig.mcrec

@wh1te909
Copy link

wh1te909 commented May 3, 2020

Took me a bit to find it too but you can just go to https:/yourmeshsite.com/player.htm to open the player, don't even have to be logged in. It's publicly accessible afaik.

@Ylianst Ylianst self-assigned this May 4, 2020
@Ylianst
Copy link
Owner

Ylianst commented May 4, 2020

All valid points. There is a lot more to do in the area of session recordings. I will have to look at what is going wrong with the indexing when using a locally recorded .mcrec file. The .mcrec files are a set of images with position on the screen and time stamps. It's a made up format I created, basically just a network dump of the remote desktop traffic.

I will try do a bunch of improvements in this area in the coming weeks. Also, interesting the PNG screenshot, I will fix that right away.

@Ylianst
Copy link
Owner

Ylianst commented May 5, 2020

If you have server side recordings enabled, just Published MeshCentral v0.5.24 with a new "Recordings" panel in the "My Users" section. You can see all of the session recordings and download them there. I also fixed the "Open file" button in the player in this version.

MC2-SessionRecordingsPanel

@guerby
Copy link
Author

guerby commented May 7, 2020

I updated to 0.5.25 and the player isn't working anymore.

"Open File" doesn't open a popup to choose a file (like before), and drag and drop either does nothing or ask me to resave a file (tested with chrome and firefox from linux and windows 10 - this was working before).

I don't see a Recordings tab:

Screenshot from 2020-05-07 08-46-44

My config.json :

      "SessionRecording": {
        "xxfilepath": "/root/meshcentral/meshcentral-recordings",
        "index": true,
        "maxRecordings": 100,
        "maxRecordingSizeMegabytes": 100,
        "__protocols__": "Is an array: 1 = Terminal, 2 = Desktop, 5 = Files, 100 = Intel AMT WSMAN, 101 = Intel AMT Redirection",
        "xxprotocols": [ 1, 2, 101 ]
      }

I have mkdir meshcentral-recordings next to meshcentral-data (seems to be the default recording path).

I haven't located yet the source code handling recordings and the tab, do you have a suggestion on where to look and what debugging output function I should call to get something in log.txt ?

I noticed in log.txt that the following error is repeated often:

6:44:43 AM - web: 404 Error /scripts/FileSaver.min.js.map

root@meshcentral:~/meshcentral# ls -l ./node_modules/meshcentral/public/scripts/*ile*
-rw-r--r-- 1 root root 6729 Jun 11  2019 ./node_modules/meshcentral/public/scripts/filesaver.js
-rw-r--r-- 1 root root 2608 Jun 11  2019 ./node_modules/meshcentral/public/scripts/filesaver.min.js
root@meshcentral:~/meshcentral# md5sum ./node_modules/meshcentral/public/scripts/*ile*
e8dc77a0f259a3957db4440a438fcb01  ./node_modules/meshcentral/public/scripts/filesaver.js
ef291b8ed898f25826d2bdb5df468c61  ./node_modules/meshcentral/public/scripts/filesaver.min.js

In fileserver.min.js the last line is

//# sourceMappingURL=FileSaver.min.js.map

I changed FileSaver to filesaver (lowercase) no more 404 but player still isn't working.

@guerby
Copy link
Author

guerby commented May 8, 2020

With 0.5.27 I can record sessions again and open file works, thanks!

But I'm still unable to activate server session recording.

I added a debug trace in webserver.js when it sets the feature:

	    parent.debug('web','LG1');
            if (domain.sessionrecording != null) { features += 0x08000000; parent.debug('web','LG1_has_recording'); } // Server recordings enabled
	    parent.debug('web','LG1_b');

But while I get LG1 and LG1_b in the logs I don't get LG1_has_recording.

In my domain I have:

      "sessionrecording": {
        "filepath": "/root/meshcentral/meshcentral-recordings",
        "index": true,
        "maxRecordings": 100,
        "maxRecordingSizeMegabytes": 100
      }

Do you have a suggestion on where to look (debug code to add) to understand why domain.sessionrecording is null in my meshcentral installation?

@guerby
Copy link
Author

guerby commented May 8, 2020

Got it, I got a spurious character in "domains" in my config.json file ... Sorry for the noise.

@Ylianst
Copy link
Owner

Ylianst commented May 8, 2020

Oh good. Thanks for the report. I will close this one, but please open a new issue if needed. I tested the player a bunch of times with drag & drop or "Open File..." button and with "minify":true and different languages and could not see any issue. If there is a problem with the player, please open a new issue and detail your settings, thanks.

@Ylianst Ylianst closed this as completed May 8, 2020
@mrkacg1
Copy link

mrkacg1 commented Jul 3, 2020

@guerby
Where did you get the parameters to configure the recordings in the config.json file? Example: maxRecordings

@flyRV
Copy link

flyRV commented Dec 31, 2020

@guerby
Where did you get the parameters to configure the recordings in the config.json file? Example: maxRecordings

See sample-config-advanced.json

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants