awslabs / amazon-kinesis-video-streams-webrtc-sdk-android

Android SDK for interfacing with Amazon Kinesis Video Streams Signaling Service.
Apache License 2.0
58 stars 37 forks source link

iOS to S3 ??? -- "LIVE" . . . #36

Closed SanthoshMKunthe closed 3 years ago

SanthoshMKunthe commented 3 years ago

Hi, WebRTC iOS. . . https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/kvswebrtc-sdk-ios.html . . . Can the videos be stored to S3 . . . I just want a one way streaming. . . can this one way be saved to S3. . .

If yes. . . a) is it officially supported by AWS or b) is it a work around. . .

##########################################################################

What is Kinesis Video Streams Producer Libraries for "iOS" ???

https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-sdk.html only mentions

Java Producer Library

Android Producer Library

C++ Producer Library

C Producer Library . ..

What about iOS. . .

###################################################

In short how to send video from iOS to S3 live. . .

hassanctech commented 3 years ago

WebRTC is a peer to peer communication protocol. It is possible for one side to send the video and the other side to only receive and not send anything in return, however there is no support to backup this video in S3.

The Producer library is for a different use case, in particular it is to send video directly to AWS Kinesis Video Streams service. Once it's there it can be viewed in the AWS Console, or you can use the available APIs to request an HLS/DASH stream, see here: https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/how-playback.html for the full list of ways in which you can retrieve the video. Again there is no support for getting the video in S3 -- however something that might meet your needs is mentioned in the link there is a GetClip API, so once it's in the KVS service you can retrieve the video with a specified start/end time, in MP4 packaged format.

MushMal commented 3 years ago

Copy-pasting my response to the other issue

@SanthoshMKunthe the WebRTC itself is primarily used for realtime communication. Currently, we don't support persistence. If you need persistence you need to build it yourself - one of the ways I suggest is to run dual streaming mode where there is a parallel stream being uploaded to KVS.

There are no iOS specific SDK for the producer. You could try to compile the C or C++ producer SDK for iOS.

MushMal commented 3 years ago

I am going to close this issue for now

SanthoshMKunthe commented 3 years ago

any suggestion over C++ v/s C . . . which producer library is better. . .

MushMal commented 3 years ago

C++ is a thin layer on top of C. Depending on your application, perhaps the right approach might be to write the business logic in C and then wrap a very thin layer in Objective C instead of wrapping the SDK