How do I store video recording to S3 bucket?
# support
b
I cant figure out how to get video recordings to go to my s3 bucket. Right now they are generated VIA get call, but are not stored in my s3 like audio calls are. Any help?
v
message has been deleted
@Brian Certainly! To store your video recordings in an S3 bucket, you'll need to ensure that your video recording system is configured to upload the files to S3. This typically involves setting the correct permissions, specifying the S3 bucket details, and using the appropriate API calls to transfer the files. Here are the general steps you would follow: 1. **S3 Bucket Configuration**: Make sure that your AWS S3 bucket is properly configured to receive uploads. This includes setting the correct permissions and possibly creating an IAM role with the necessary policies to write to the bucket. 2. **API Integration**: Adjust your video recording system to use the AWS SDK or API to upload the video files to your S3 bucket. This will likely involve using the
PutObject
operation provided by the AWS SDK. 3. **Environment Variables**: Ensure that your environment variables or configuration files contain the necessary credentials and bucket information for AWS S3. 4. **Error Handling**: Implement error handling to catch any issues during the upload process. 5. **Testing**: Test the upload process to make sure that video recordings are being stored as expected in your S3 bucket. If you need specific guidance on how to implement this with your current setup, please provide more details about how your video recordings are generated and how your audio calls are currently stored in S3. This will help me give you a more tailored solution. If you're unsure about how to proceed with any of these steps, please ask support for more info on this.
You can continue this conversation by mentioning me in the message.
b
@Vapi What iam polocies would it need?
v
@Brian To allow your application to store video recordings in an S3 bucket, you'll need to create an IAM policy that grants the necessary permissions. Here's an example of the permissions your IAM policy should include:
Copy code
json
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::your-bucket-name/*"
        },
        {
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::your-bucket-name/*"
        },
        {
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::your-bucket-name"
        }
    ]
}
Replace
your-bucket-name
with the actual name of your S3 bucket. Here's what each permission does: - `s3:PutObject`: Allows your application to upload (put) objects to your S3 bucket. - `s3:PutObjectAcl`: Allows your application to set the access control lists (ACLs) for the uploaded objects, which can be used to manage permissions on individual objects. - `s3:GetObject`: Allows your application to retrieve (get) objects from your S3 bucket, which is useful if you need to access the video recordings. - `s3:ListBucket`: Allows your application to list the objects in the bucket, which can be useful for administrative tasks or to check what's in the bucket. Make sure to attach this policy to the IAM role or user that your application uses to interact with AWS services. If you need further assistance with setting up IAM policies or have specific requirements, please ask support for more info on this.
b
@Vapi Okay. I just did it and it still didnt work. i do want to reiterate that voice recordings work fine. Just not video
@Vapi Any answers? Or suggestions?
@User @User
Appears to be a bug
@Shubham Bajaj
None of my video recordings are saving to my bucket
s
@Brian I will update you about this give me sometime.
b
Okay. Thanks. Don’t forget about me lol.
s
@Brian Here's what's happening, we are a thin wrapper around the Daily web SDK and we use it to make web calls. For now, we haven't added any custom logic to save videos into user buckets. As mentioned, since we are just a thin wrapper over Daily and the web SDK code is open source, you can add the logic to save videos into user buckets and then use those videos in our app. It's not difficult but takes time.
b
@Shubham Bajaj thanks for the reply. So I am having some issues here. Yesterday I was able to gain access to daily web meeting when vapi initiated and I have originally thought that was the solution. But I’ve realized that it only creates another session in the call. Any ideas here?
And okay I’ll work on trying to get access to it for the s 3
Also do you know where in the package I can find those areas that control where the calls go etc?
s
@Brian can you share your code in a github repo so i can take a look?
b
I haven’t altered the code actually. That might be my issue. @Shubham Bajaj. let me look into it.
Hi @Shubham Bajaj
@Shubham Bajaj I honestly have no idea how to do this. I wish you could just make the video preview show . It seems like an obvious feature when you allow video calls.
s
@Brian you can raise the feature request over here https://vapi.canny.io and if enough people requires it we will build it.
b
@Shubham Bajaj just out of curiosity what use case would someone need a video recorded without the user being able to see that preview?
But I understand I have to do it a different way for now.
s
@Brian By default, we built this feature to record screens and provide them as requested. Since it's not one of our core features, we couldn't prioritize it in our roadmap. However, I will try to see what can be done.
2 Views