For devices that had an older version (<0.5.1) of the HTML5 container previously installed, if the newer version of the HTML5 container was installed with an active URL from the older version, there is a known bug with the upgrade between the older version and versions >0.5.1. In older versions of the container, the FPS could not be set with the URL like it is with >0.5.1. The bug manifests itself in a way when the new container is installed, starting the container will cause it to crash and restart repeatedly. If you are experiencing this issue, refer to the steps below to recover the container and get it working on a newer version!
!!!TO AVOID ENCOUNTERING THIS BUG ALTOGETHER, REMOVE THE URL FIRST BEFORE INSTALLING THE NEW CONTAINER VERSION: SEE THESE STEPS BELOW!!!
Table of Contents
- Kill the HTML5 container
- Delete the new HTML5 container
- Install an older HTML5 Docker image and container
- Remove the existing overlay URL and then kill/delete the old container
- Re-install the latest HTML5 container
- Delete the old HTML5 Docker image
- Set the appropriate HTML5 overlay URL and FPS
Kill the HTML5 container
Killing a Docker container immediately stops the container from running despite any processes that may be active on it, or even if it is in a crashing/restarting state and can be done by either of the two methods below:
- Using LiveEdge Cloud, the HTML5 container can be killed by navigating to the MANAGE button...
And clicking KILL in the top right - If the container cannot be killed from the Containers tab of LiveEdge Cloud, run the following commands using the LiveEdge Cloud API:
- Get Device Docker Containers
-
Perform an action on a Docker Container
- Body:
{
"action": "kill"
}
- Body:
Delete the new HTML5 container
- Using LiveEdge Cloud, the HTML5 container can be deleted from the Containers tab by navigating to the MANAGE button...
And clicking DELETE CONTAINER in the bottom right (the container must be stopped or killed first):
Install an older HTML5 Docker image and container
- Click on Containers
- Click "+ Pull Image" and enter the following:
- Enter the image repository
videonlabs/html5-graphics-renderer
- Enter the image tag
0.4
- Click the orange "Pull Image" button
- Wait until the image appears in the "Available Images" section
- This may take a few minutes, especially with large containers on slow networks
- Click "+ Create Container" and enter the following
- Enter a container name
HTML5
- (DO NOT use spaces or special characters in the name. Docker does not accept spaces or special characters in the container name). Instead of "Graphics Renderer", you could use "GraphicsRenderer" instead, for example.
- Select an available image
videonlabs/html5-graphics-renderer:0.4
- Select "Apply Restart Policy" and assign a restart policy
always
- Select "ADD PORT MAPPING"
- Host Port
1323
- Container Port
1323
- Host Port
- Select "ADD VOLUME"
- Host path
/data/local/vl-html-file-overlay-app
- Container path
/app/persist
- Access mode
rw
- Host path
- Under Advanced, select the desired Network Mode
bridge
- Enter a container name
- Click Create Container and wait for the container to appear in the "Deployed Containers" section
- Finally, click the Play symbol to run the container
Remove the existing overlay URL and then kill/delete the old container
- Remove the old URL using Send Device Command
- Body:
{
"command": "rest_direct_delete",
"rest_endpoint": ":1323/v1/stop"
}
- Body:
- Kill and then delete the HTML5 container for tag 0.4 using the Skull and Trash Can buttons from the Containers tab of LiveEdge Cloud.
Re-install the latest HTML5 container
- Click on Containers
- Click "+ Pull Image" and enter the following:
- Enter the image repository
videonlabs/html5-graphics-renderer
- Enter the image tag
0.7.5
- Click the orange "Pull Image" button
- Wait until the image appears in the "Available Images" section
- This may take a few minutes, especially with large containers on slow networks
- Click "+ Create Container" and enter the following
- Enter a container name
HTML5
- (DO NOT use spaces or special characters in the name. Docker does not accept spaces or special characters in the container name). Instead of "Graphics Renderer", you could use "GraphicsRenderer" instead, for example.
- Select an available image
videonlabs/html5-graphics-renderer:0.7.5
- Select "Apply Restart Policy" and assign a restart policy
always
- Select "ADD PORT MAPPING"
- Host Port
1323
- Container Port
1323
- Host Port
- Select "ADD VOLUME"
- Host path
/data/local/vl-html-file-overlay-app
- Container path
/app/persist
- Access mode
rw
- Host path
- Under Advanced, select the desired Network Mode
bridge
- Enter a container name
- Click Create Container and wait for the container to appear in the "Deployed Containers" section
- Click MANAGE
- Finally, click START to run the container
Delete the old HTML5 Docker image
- Click on Containers via LiveEdge Cloud
- Delete the old HTML5 Docker image by navigating to the using the Trash Can button “Delete Image” next to the old videonlabs/html5-graphics-renderer:0.4 image
Set the appropriate HTML5 overlay URL and FPS
- Remove old URL using Send Device Command.
- Body:
{
"command": "rest_direct_delete",
"rest_endpoint": ":1323/v1/stop"
}
- Body:
- Set new URL using the same Send Device Command.
- Body (fps can only be a value from 1-4 currently):
{
"command": "rest_direct_post",
"rest_endpoint": ":1323/v1/start?url={{utf_8_encoded_url}}&fps={{fps_value}}"
}
- Body (fps can only be a value from 1-4 currently):
- Check URL is set and container is running
- Send status gathering command using the same Send Device Command.
- Body:
{
"command": "rest_direct_get",
"rest_endpoint": ":1323/process_status"
}
- Body:
- Check previous command results using Get All Device Command Results and read through results (latest at top of response)
- Example response:
{
"commands": [
{
"command_guid": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"creation_timestamp": "2023-10-24T15:47:33.299817Z",
"command": "rest_direct_get",
"finished": true,
"finished_timestamp": "2023-10-24T15:47:33.765000Z",
"request": {
"rest_endpoint": ":1323/process_status"
},
"response": {
"device_received_timestamp": "2023-10-24T15:47:33.532005Z",
"device_complete_timestamp": "2023-10-24T15:47:33.588716Z",
"result": {
"state": "COMPLETE",
"message": "Rest call completed successfully",
"data": {
"fps": {{CONFIGURED_FPS}},
"running": true,
"startTime": "2023-10-24T01:42:07Z",
"url": "{{EXPECTED_URL}}"
}
}
}
}
}
- Example response:
- If the Response of the last call shows the container is not running or doesn't display the expected URL, click the Restart button on the container via LiveEdge Cloud's Containers tab and then try the above 2 steps once more.
- Send status gathering command using the same Send Device Command.