@@ -286,7 +286,15 @@ private Capabilities addForwardCdpEndpoint(
286286 }
287287
288288 private Container createBrowserContainer (int port , Capabilities sessionCapabilities ) {
289- Map <String , String > browserContainerEnvVars = getBrowserContainerEnvVars (sessionCapabilities );
289+ Map <String , String > browserContainerEnvVars = new HashMap <>();
290+ // Enable env var to trigger video recording if session capabilities request and external video
291+ // container is disabled
292+ if (videoImage == null && recordVideoForSession (sessionCapabilities )) {
293+ browserContainerEnvVars .put ("SE_RECORD_VIDEO" , "true" );
294+ browserContainerEnvVars .put ("SE_VIDEO_FILE_NAME" , "auto" );
295+ browserContainerEnvVars .put ("SE_VIDEO_RECORD_STANDALONE" , "true" );
296+ }
297+ browserContainerEnvVars .putAll (getBrowserContainerEnvVars (sessionCapabilities ));
290298 long browserContainerShmMemorySize = 2147483648L ; // 2GB
291299 ContainerConfig containerConfig =
292300 image (browserImage )
@@ -295,6 +303,10 @@ private Container createBrowserContainer(int port, Capabilities sessionCapabilit
295303 .network (networkName )
296304 .devices (devices )
297305 .applyHostConfig (hostConfig , hostConfigKeys );
306+ Optional <DockerAssetsPath > path = ofNullable (this .assetsPath );
307+ if (path .isPresent () && videoImage == null && recordVideoForSession (sessionCapabilities )) {
308+ containerConfig .bind (Collections .singletonMap (this .assetsPath .getHostPath (), "/videos" ));
309+ }
298310 if (!runningInDocker ) {
299311 containerConfig = containerConfig .map (Port .tcp (4444 ), Port .tcp (port ));
300312 }
@@ -335,7 +347,7 @@ private void setCapsToEnvVars(
335347
336348 private Container startVideoContainer (
337349 Capabilities sessionCapabilities , String browserContainerIp , String hostPath ) {
338- if (!recordVideoForSession (sessionCapabilities )) {
350+ if (videoImage == null || !recordVideoForSession (sessionCapabilities )) {
339351 return null ;
340352 }
341353 int videoPort = 9000 ;
0 commit comments