Alternate option of Amazon Kinesis Video Streams - c#

Please suggest some material or links so that I can create a small project .net on Live streaming Like Amazon Kinesis Video Streams.

Unfortunately, we don't yet have support for .NET.
One way is to take the C or C++ producer SDK project, compile it for Windows (which it supports), create a library with most of the logic for the .NET or use the APIs directly and write a thin .NET wrapper/interop code on top of it that exposes the functionality to .NET.

Related

Merge Audio and Video on Uno Platform

I am trying to merge an audio stream and a video stream into a single file, on the Uno Platform, particularly for WebAssembly.
I already know that the normal, desktop-only way is by calling ffmpeg, and I also found a C# only way for UWP here.
However, the code used Windows.Media.Editing which is not implemented in Uno.
I know there is a ffmpeg library port for WASM here, but I don't know how to call it from my Uno web application.
So are there any ways to merge an audio stream and a video stream to a single file, on the Uno platform for WASM?
Unfortunately, this API is not yet implemented in Uno Platform, so in this case you need to write platform-specific implementation.
If you have a JavaScript library available, which can provide the functionality you need, you can still call it from the C# code. There is a three-part tutorial in the Uno Platform docs on implementing C# - JS interop, so that may be helpful to get started.
Alternatively, in case you find an alternative implementation in C# on NuGet, you can install it for the supported platforms and use it in your code as well. To write platform-specific code, you can use #if conditionals like #if __WASM__ etc. - for full information see this documentation page.

Best strategy for XLS content sync from the cloud into an iOS or Android app memory

I am developping a mobile app using Unity3D framework which is a C#/Javscript 3D engine, working on desktop and mobile plateform.
I need to recover the content of an XLS file on a cloud-based storage (Dropbox or GoogleDrive), then process it on the mobile plateform to transform it into a local SQLite database.
The mobile app will regulary check for modification on the remote xls file, and push it locally if needed to process it.
The framework I use (Unity3D) allow me to work with both C# and Javascript technologies.
What would be the best strategy to implement such a fonctionnality.
I'm totally newbie with web API, and I've seen in Dropbox documentation that there is several possibilities to interact with a cloud folder.
Is there a possiblity to fetch the content of an xls document into the mobile device memory (with writing to its local drive)? What would be the easiest/more elegant way to achieve it?
Thanx in advance
Unity3D supports using managed DLLs in your project. So you can look at using one of the following libraries:
http://sergeytihon.wordpress.com/2013/09/29/dropbox-for-net-developers/
https://developers.google.com/drive/web/quickstart/quickstart-cs
and choose one.
There's also code for reading excel files from Unity3D on the wiki: http://wiki.unity3d.com/index.php?title=Load_Data_from_Excel_2003
And code for using SQLite: http://wiki.unity3d.com/index.php/SQLite.
From there putting it together is up to you, the documentation from each link should be more than enough to implement what you want. I'd recommend abstracting the differences in platforms here (Google Drive vs Dropbox) from your main game (It doesn't sound like you've made up your mind on one), in case you want to change them later on. In my experience, operations between the two are similar enough to make changing over reasonably straight forward down the road as long as you're using the proper abstraction techniques.

WinRt C# Audio Library

I am looking to develop an app in C# WinRt, but was wondering what libraries are available for playback and for complicated manipulation. I am looking for a free library that allows for an extensive list of audio formats to be played (for example mp3, wma, wav, ogg, etc.) and also to be analyzed. Thats pretty much the basic functionality I would need. But if I could get picky, a library that can convert audio files between the formats would be handy. Doing a google search I came across the Naudio library, but it was not so greatly compatible with WinRt.Thanks for any tips or advice on this.
The current alpha build of NAudio 1.7 (available via NuGet) does contain a Windows RT assembly and the source code includes a simple demo of playback and recording as a Windows Store app. Since it uses Media Foundation, you'll be able to play most of the file types you suggested (although ogg won't be supported out of the box), and you can construct your audio pipeline to access the audio as floating point samples for analysis.
Things that aren't currently supported are using the Media Foundation encoders to encode, and the various reader/writer classes need to be re-written to use the WinRT asynchronous streams and File I/O APIs instead of the regular .NET ones. Hopefully these features will be added to the library soon.

Filling and playing audio buffer in C# (.NET 4.0)

Where I can found something suitable (library) for .NET 4.0 (C#) capable for following features:
+ Reading mp3/wav samples with direct access to samplebuffer of loaded samples? (for example I want to load mp3 sample and programatically add reverb, chorus, and more custom effects implemented by me)
+ Playing directly audio buffers (arrays of floats)
+ Saving audio buffers to disk as mp3 or wav
Some time ago i found ASIO for .NET and this only works with .NET 3.5, is there something for .NET 4.0? Thank's a lot for your help.
ASIO for .NET won't help you in the cracking of mp3 or wav files. The most modern API in Windows for doing this is Microsoft Media Foundation. These are all COM APIs though, so you're either going to be doing (perhaps painful) COM interop from .NET or (easier) writing a C++/CLI wrapper. If you go the C++/CLI wrapper, you will need to be aware of performance issues (especially with how critical latency is to audio programming).
I'm skeptical that you will get the audio latency you need when programming in .NET. A good audio driver (like ASIO) will get you down to <3ms of latency. So if you are targetting "live audio", you will need to be generating audio buffers quicker than that (unless you are fine with longer latencies). To put it this way, the "time intervals" that the Windows APIs deal with are in 100 nanosecond intervals :).
You likely don't want to have to crack the files yourself. It becomes tedious as it's not only just mp3 and wav. You also have to be aware of how the wav is formatted as well (to account for different bit rates, number of channels, etc.). Using Media Foundation, it will automatically load the write decoder for you, you just give it the file path. Check out this tutorial that shows opening an existing WAV file and writing a new WAV file. I just recently went down this path for a drum sequencer I'm creating, and it's not very painful at all (if you're familiar with COM programming).
The central component in MF that makes this possible is the MFSourceReader.
If you're wanting to play the audio after you modify it, you can look at the sample "RenderExclusiveEventDriven" in the Windows SDK (under "audio" I believe). That's what I did for the drum sequencer as well. Latency won't be an issue and you're just dealing with byte arrays, so manipulating the raw data becomes very easy. Though at this point, you can probably stick with the ASIO .NET route and just use that to play the raw data you get from MFSourceReader.
I don't think there are .NET wrappers around Media Foundation yet (though if somebody has done that work already, feel free to post here as it would be awesome to know).

.Net sdk for video editing like Windows Movie Marker

i am currently working on .net application which contains one audio & video file.
audio file is split as in to small section as per database entries. then we have to merge this files on video file at specific positions.we what something like windows movie maker
it will be nice if someone suggest some .net based sdk for this.
You can use ffmpeg for this purpose. But you will need a .net wrapper to make it usable in C#.
You can use ffmpeg-sharp or SolidFFMpeg. its a a wrapper library over the FFmpeg multimedia suite that provides easy to use wrappers for use in C#.
Datastead Software's TVideoGrabber Video SDK has this feature.
"join several video clips and/or audio clips into a single one, in full or by specifying respective start times and end times"
http://www.datastead.com/products/tvideograbber/features.html
The engine behind Windows Movie Maker is DirectShow Editing Services. You can use it via DirectShow.NET.

Categories

Resources