How can I archive a specific stream with OpenTok? - opentok

How can I archive a specific stream only (for example by using the stream ID) with OpenTok? I don't want to archive any other stream in the session. Can the OpenTok archiving feature used for it? In the opentok.js documentation I can only find information on how to archive the whole session.

TokBox Developer Evangelist here.
Unfortunately, you cannot choose to archive any one specific stream, you can only archive a session. However, you have the option of creating an individual stream archive instead of a composed archive which will allow you to get the individual stream.
An individual stream archive is a ZIP container file with multiple individual media files for each stream, and a JSON metadata file for video synchronization. Please keep in mind that this format of archiving is not available for automatically archived sessions.
For more information, please take a look at the OpenTok Archiving Guide.

Related

Download OpenTok calls locally at the end of call

I'm looking to use OpenTok to record my video calls using archives. It seems as if most examples they have on their site save their recordings online.
Is it possible to use it to record my call, then once I signal to stop archiving (still in the call), simply save and download the file locally? I would like to avoid saving my videos directly on OpenTok for privacy reasons.
Thank you so much for your question about the OpenTok archiving feature.
I completely understand your need to save locally due to privacy concerns.
Currently with OpenTok the way to save is to:
Use AmazonS3 or a Windows Azure container
Use OpenTok Cloud
Then you can save your file locally. You’ll have to save to online first.
Please let us know if you have any other questions or concerns.

Does OpenTok provide HIPAA compliant video recording?

I am building a patient-therapist video conference app which needs the meeting recording should be stored only on my server, not on any third party servers like TokBox cloud storage.
The author in this article https://support.tokbox.com/hc/en-us/articles/204951424-How-can-I-use-archiving-as-part-of-a-HIPAA-compliant-application- says we can turn off the cloud storage fallback.
Does OpenTok upload the meeting recording in my Amazon S3 storage after the meeting is stopped or initiates the recording upload when the meeting is in progress?
In the above article, the author says, immediately after attempting the upload, the file is deleted from the server where it was recorded.
Does this mean, OpenTok save meeting recording even if the cloud storage is turned off?
Can I claim my website supports HIPAA compliant video conference meeting and video recording if I integrate OpenTok in my application?
OpenTok QA Engineer here.
Your recording is uploaded to your storage right after the archive is stopped. The live session can still continue, but the rest of it will not be recorded, then. After the file has been successfully uploaded, it is completely removed from our servers. Should any error happen, we will retry uploading it for up to 24 hours, after which, we won't retry anymore. 72 hours after the archive was started, the files will be wiped out from the servers, no matter if they have been successfully uploaded or not.
If the OpenTok fallback storage is turned off, the archive will be recorded, and only be in our servers the minimum required time to generate the MP4 file, and upload it.
Yes, you can claim it, as long as you disable the OpenTok fallback.

Is there a way to add business specific metadata to be stored along with audio file stored on google cloud via google cloud speech logging?

We are working on integrating with google cloud speech for speech to text conversion with logging enabled. When the audio files are logged we also need to store an additional Identifier stored with the audio file so that later on when we retrieve the audio file from google cloud we can perform entity to audio file association. Is that possible? Can we store user provided metadata along with the audio file? We are going to stream audio data for conversion and we need to store the audio file + some metadata supplied by us.
Data logging is only a way to send your data anonymously to Google to help improve the Speech API, there is no metadata that can be used here. The accessible metadata associated with samples only comprises the samples audio properties, passed in to the API through the RecognitionConfig object.
Provided that you store your samples in Cloud Storage, you can use the bucket URI’s to process sample requests, or the Cloud Storage client library to retrieve the samples with their unique filename.

Migrate smooth streaming encoded video files to Azure Media Service

My company streams videos using IIS Media Services to Silverlight players, the streams are delivered as adaptive bitrates (Microsoft Smooth Streaming). Due to support for Silverlight plugin being dropped by all major browsers, we are planning to migrate our streaming platform to Azure.
I have checked the documentations, samples & read articles and couldn't find anything on how to use existing smooth streaming encoded video without having to re-encode. We have quite a large asset to migrate, around 400GB, re-encoding is not an option, also we plan to dynamically encrypt our content using AES. Does anyone know how to go about this?
You need to perform following steps
Create azure media services asset
Upload files for specified asset.
Then you need to run media encryptor encoder "Windows Azure Media Encryptor"
Configure delivery options
See https://github.com/Azure/azure-sdk-for-media-services/blob/dev/test/net/Scenario/JobTests.cs.
Method
private IAsset CreateSmoothAsset()
covering step 1&2.
There are various tests in this file to cover encrypting asset using "Windows Azure Media Encryptor" encoder(see usage of
GetMediaProcessor(_mediaContext, WindowsAzureMediaServicesTestConfiguration.MpEncryptorName);
)
To configure delivery of protected content see - https://azure.microsoft.com/en-us/documentation/articles/media-services-protect-with-aes128/ .
There is also media processor called "Windows Azure Media Packager" which will allow you to package your smooth asset for example to HLS.
You can onboard your existing Smooth streaming assets to Azure Media Services without re-encoding them and apply dynamic encryption of AES and dynamic packaging to different streaming formats such as HLS, MPEG-DASH and Smooth Streaming. However, there can be some limitations and constrains. If your content is already encrypted such as Smooth Streaming + PlayReady it is not supported to dynamic encrypt to AES. Your content needs to be in clear form if you want to use dynamic encryption. Also your Smooth Streaming assets needs to be Smooth Streaming spec complaint. There are tools which generates Smooth Streaming files which is not spec complaint and not supported by Azure Media Services.
You can use creating assets from existing storage blobs article to start
https://azure.microsoft.com/en-us/documentation/articles/media-services-copying-existing-blob/
I hope this answers your question.
Cenk

How to share files created by an app?

How do I share files (music, video, image) create by my app? I am interested in sharing audio file specifically.
Imagine I have a program that generates wav file.
How do I take it from isolated storage?
Is it possible to sent an attachment with e-mail?
Save it on SkyDrive?
Share on Facebook?
Put it to media library?
At least in some convenient for a user way to take it out from WP7 device?
Any help regarding this topic would be welcome
You cannot directly send it as an attachment through the EmailComposerTask, however you can use your own implementation of an email sending mechanism.
You can save it to SkyDrive, but then again you have to use a custom API layer (developed by you or by a third-party) to achieve this.
A better choice in my opinion would be having a WCF service that will transmit the byte array of the generated content to a specific location - this will ultimately give you more control over the transmission layer.
You can save images to the MediaLibrary - from where you can access it via the Zune Software and transfer to PC, etc.
This can be done with the MediaLibrary.SavePicture method. (Yes, this is an XNA method but it can be used from within a Silverlight application also.)
The other alternative is to upload it to a webserver and send it from there.
There is currently no way to save songs or movies.
How to upload a file to a webserver very much depends on: the server; the software it is running; and any security concerns realting to the content.
There is the start of a discussion on this at Uploading XML files from WP7, possible, how to etc?

Resources