agence104 / livekit-server-sdk-php

PHP Server SDK to LiveKit
Apache License 2.0
40 stars 16 forks source link

EncodedOutputs not sending image snapshot #21

Open doston0000 opened 2 months ago

doston0000 commented 2 months ago

We want to save image and video in order to upload to s3 (minio) using same egress client, we tried to use EncodedOutput. Video is saving successfully, but image is not. Can anyone help with that or we missing something

public function recordStream(string $roomName): string
    {
        $egressClient = new EgressServiceClient(
            config('livekit.host_port'),
            config('livekit.api_key'),
            config('livekit.api_secret')
        );

        $egressClient2 = new EgressServiceClient(
            config('livekit.host_port'),
            config('livekit.api_key'),
            config('livekit.api_secret')
        );

        $s3 = (new S3Upload())
            ->setAccessKey(config('filesystems.disks.minio.key'))
            ->setSecret(config('filesystems.disks.minio.secret'))
            ->setBucket(config('filesystems.disks.minio.bucket'))
            ->setRegion(config('filesystems.disks.minio.region'))
            ->setEndpoint(config('filesystems.disks.minio.host'))
            ->setForcePathStyle(true);

        $outputImage = (new ImageOutput)
            ->setCaptureInterval(10)
            ->setFilenamePrefix($roomName . '/' . $roomName . '-image-')
            ->setWidth(640)
            ->setHeight(480)
            ->setS3($s3);

        $outputVideo = (new EncodedFileOutput)
            ->setFileType(EncodedFileType::MP4)
            ->setFilepath($roomName . '/' . $roomName . '.mp4')
            ->setS3($s3);

        $output = (new EncodedOutputs())
            ->setFile($outputVideo)
            ->setImage($outputImage);
        $info = $egressClient->startRoomCompositeEgress(roomName: $roomName, layout: 'single-speaker', output: $output);

        return $info->getEgressId();

    }
riteshghimire9090 commented 2 months ago

After update , my issue is fix.