Questions and Answers about the Screen Recorder Launcher API

12min

This article contains users' questions and answers regarding the Recorder Launcher API.

Can we specify "screen and webcam," or the desired resolution, automatically from the launcher?

The JavaScript library does not contain these settings. For available properties, see Setting Basic Uploader Properties. You can specify the maximum width of the upload during encoding. See basicupload.post.maxwidth.



Can we specify the display resolution of the video to upload?

As an example, regardless of the captured screen size, you may want a maximum width video size to be uploaded (the encoding process could pillar or letterbox as necessary). When you integrate the API into your website, the following code can be passed in through the option variable’s properties. For example, on your web page, add the following lines:

JS


Use the basicupload.post.maxwidth parameter to set the maximum width for captures during encoding. The above line reduces encoded video to 1280 px. Setting this parameter does not alter capture sizes with a width smaller than 1280 px.

For available properties, see Setting Basic Uploader Properties.



Trouble using our partner settings (using the screencast‑o‑matic.com sample worked). What could be wrong?

If the app launches correctly using the sample screencast‑o‑matic.com settings but not your partner settings, try changing hosting locations. If this does not correct the app launch, check the jarHostPath setting. The jarHostPath must point to a URL that matches your partner setting; for example, *.yourcompany.com. If the URL for the jarHostPath is different from the site in partner settings, the app cannot run.



Can we test on localhost?

If the upload (in the basicupload) specifies that it goes to localhost, but the app is not validating localhost as an acceptable development environment, try adding an entry in the host file for your computer and map a fake subdomain to 127.0.0.1.



What should I check if the error "The request signature we calculated does not match the signature you provided" displays?

You may be facing this issue when uploading to S3 using a presigned URL. A header mismatch typically causes this error. To correct this error, check that you set ContentType = "video/mp4"



Can I launch the editor without first doing a screencast?

Change the behavior of the launcher to open a window showing local recordings on the computer by adding this property to the launch properties:

Java


Can we send the user to a URL when the upload is finished?

There are two ways to open a URL after the upload is successful:

  • Set the URL in the JavaScript options when you are launching:
  • Return the URL as the result of the POST upload, then set this in the JavaScript:



How do I specify that previous local recordings remain in the recordings library and get deleted only if users choose to delete them?

Set the following two properties together to turn off the app auto-delete:

JS




How can we change the upload success message?

The upload message can provide users with information about what they need to do when they click Continue. To customize the success message, set this property:

JS




What do I write in the URL to get the actual upload URL?

Set the URL in JavaScript. The recorder app first calls this URL to send any title/description via POST, or if not collecting title/description, a GET request is made. For example, see the following JavaScript setup:

JS


When you call the above URL, you get a text reply with the URL where the actual mp4 video is POSTed. This example makes a request to the above URL and returns a presigned Amazon S3 URL where you can post:

JS


When the app has this final URL, it makes a POST request with the body of the request being the mp4 file.

The body is not encoded like form data from a browser. It is the raw mp4 file.



Do you have a sample PHP script for an upload endpoint?

Here's an example PHP script that reads the raw input stream of the POST request and writes to a local file. This script places the local file in /tmp, but it can be placed anywhere on the server that you have write permission:

PHP