What are the ways to do synchronized streaming video and text? - c#

I would like to have two streams. One being traditional streaming video and another being text. I will also build an interface that allows the user to create the text portion while watching the video. The context of these videos are usually that of an individual being filmed doing a presentation and later the next day for example, a coach will make text annotations (structured data is a plus) with the result being the text stream.
It seems this is possible with Silverlight (see the article in the latest MSDN). However, what other methods are there if any? If there any, please give the reasons for why you are recommending them. Thanks.
Also, I would prefer something that inst a software as a service hosted solution, but, dont let that keep you from giving an answer. Also keep in mind, the user shouldn't have to do any re-encoding of the video source, the text stream should be separate with someway to synchronize a coach's comments to an arbitrary time stamp in the video.

http://slvideoplayer.codeplex.com/ This project has good support to show markers based on video time-line. It is currently built using SL2 but you can upgrade this to SL3 easily.

Related

Is there a way to capture a view and save it?

We have many element(s) in a ContentPage. The goal is to take a picture of a specific element and then have access to that data - to save it or possibly other things such as cropping it.
So this question is twofold - is there a way to photographically capture a given element? Is there a way to do this if the element is not fully in view? Example a ScrollView would potentially have some of its elements not currently in view.
Our attempt at this is to use device specific screenshots and crop them to a given element. The screenshots are working, but we aren't having luck with cropping. Not to mention in the case as described above the screenshot will not work as the view isn't fully visible.
Is there a way to obtain the "graphical" (photo) data of an element at a given time even if it's not currently visible/partially visible?
Thanks for reading in advance.
After a lot of talking, this is what I understand
The Users of your application are the Workers of Your company
The application is for managing the accounts of your companies Customers
The Customers have no access to their data, in any shape or form
Part of the Customer Data is their Email Adress
You want to send a copy of their Data to the Customers
As Emails do not allow formating that well, you want to send that Data as a Screenshot of the UI.
If I got all that right:
You are neck-deep in a XY Problem. Or rather a ((XY)Y)Y Problem - a XY problem of the 3rd Generation.
The obvious solution would be to fix point 3 and give your customers access to their Data already:
You can do that via a extra Programm, App, a Webpage or anything similar. If they can receive emails, they can download a app or open a Webpage and see their data there. May need a login, but nothing special. There are even ways to encode data/direct links into Emails and register your Programm with a custom Format. Indeed, that is how Steam Links on the Desktop work.
Meanwhile the In-House user get a "Customer Management" Programm that allows more direct access to the Customers Data in the Database (I asume you got a backend Database. But it is at least possible you do not).
If you can not fix Option 3 for stupid Boss/Legal Reasons (these are the only Valid reasons I can Imagine. And I can not stress enoug how stupid the boss would have to be in that), you should at least be able to fix at Point 5/6:
The first Option would be to send Text Emails. People often underestimate jsut how much is possible with pure Text. It is basically like writing on a Console, but even that is enough medium to make a Art in it.
The other ways involve Managing the HTML limitations:
Save HTML Mail
The main security issue with HTML mails, is "downloading external content" part. Those operations can not be reliable scanned by Virus scanners and the like - especially in the age of HTTPS. Unless we talk about Kaspersky and the stupid Idea they had.
And even if they can be scanned reliable, even just the request of those files can be used for spam senders to verify the Email Adress is still in use. So it is a no-go too.
So you will need to Inline as much as possible. Inlining images is not that possible. While HTML totally has a Standart for that - you Base64 encode the binary into the HTML - this does not work reliably. At least Microsoft Outlook is known to interpret all Base64 images in the Email as Attachments - even the inlined ones. And even if they fixed this or it is no longer a relevant issue, inlining images tends to increase the HTML size significantly.
You can use CSS to some degree. But aside from inlining it, you might have to go back a step or two. In the end, Email Programms are really weak web-browsers. So they do not nessesarily support all the latest stuff instantly. Anything below CSS 3.0 should reliably work by now. But you better ask someone once you got more specific Requirements for this Email.
PDF Attachment
Somewhat more established is to create a .PDF file and send it. All those bills/other stuff in .PDF format you get - those have been created on demand from a Database, by the same code that also send the Email. In many cases the demand was automated too or the Sending Programm was a outright Background Process.
.PDF allows all Formating you could want. It can take up images inline. And there is plenty of ways to create .PDF from code. And as you can send it as a attachment, the Virus scanner has time to go over it. And we are not in the last Millenium, where a PDF Reader was a uncommon programm to have installed (I still remember the times when a current Version of Acrobat PDf Reader was delivered on every CD with a .PDF Format Handbook).
If you are stil dead serious about the whole "make a Image of the UI to send that", my only question is: How many Years have been aloted for that?

What is the *right* way to save complex user data in Windows Store App development?

I am learning Windows Store App development. I am an iOS developer with a lot of Cocoa Touch experience, but no Microsoft technology experience, so everything from the language to the tools is new to me.
I can't figure out what the right way to save complex user data is in Windows Store Apps. The way I have always handled saving user data in iOS is by having a class (or series of classes) that represent my App's data model that I serialize and deserialize (with NSCoder / encodeWithCoder / decodeWithCoder) for the purpose of saving. I assumed that's what I'd do on Windows Store apps, but after hours of research and trial and error (mostly error) I'm thinking that's not how things are done in this world.
Here's my use case: I'm writing a simple image processing / collage app that allows users to import photos, arrange and process them, and then save or share the output. My data model is a class that manages an array of Images. The properties of the Images reflect their positions, transformations, etc.
To allow my users to save and load their creations I figured I would simply serialize and deserialize my data model class. However, it seems that Windows Store apps only have XMLSerializer, and it is extremely limited. You can't serialize images, never mind arrays of images. On top of that it seems to require lots of plumbing code that I can't find examples of to even work for custom classes. You could serialize a string with it, but anything more complex seems out of the picture.
So, Windows developers, what is the right way to do this? Should I copy all of the files for a given collage, put them in a directory, save a manifest of what files are displayed where, compress that, and call that my file? That seems like a lot of work. Have I been remiss in my research? Is there a simple way to binary-serialize my data model like I could on iOS?
Thanks very much for help :)
There are many ways to serialize an object model, but the one I use is DataContractSerializer.
It works as you described, you write some classes, add attributes for serialization to them and then simply serialize them with DataContractSerializer.
Images are not serialized by it, you have to take care of that yourself.
Using either DataContractSerializer or SQLite.
You can find useful information here:
http://irisclasson.com/2012/07/11/example-metro-app-winrt-serializing-and-deseralizing-objects-using-xmlserializer-to-storagefile-and-localfolder-using-generics-and-asyncawait-threading/
or
http://code.msdn.microsoft.com/windowsapps/Sqlite-For-Windows-8-Metro-2ec7a882

Stop an iPad from being able to copy images

I am creating a photography website so I have stopped browsers on PC/Macs from being able to download the image. When I viewed the site on an iPad, I was able to copy the image. Is there a way of stopping this from happening?
You're fighting for a lost cause here: You can't win. It's a bit like the classic DRM/data encryption issue: If you want to use it, you have to decrypt it. If you can decrypt it, it's no longer protected.
You can avoid users being able to hot-link images (which still can be faked/circumvented) and you can try to make it harder to download images with standard tools (like the browser's context menu), but in general you just can't avoid it, because you don't have control over the client.
What you can do - which will make downloading a bit harder without screwing with basic functionality etc. - is not using <img/> but rather a <div/> with the image set as its background-image.
But if you really care about your own images, I'd do the following rather than trying to screw with users just appreciating your work (they might want to set a nice picture as their desktop background, which might even get them to tell others about your site):
Add a small watermark to your images, like a signature line or provide only limited resolutions. You can offer higher quality/non-watermarked copies upon request (or link some printing service).
Invite people liking your pictures to download them for private, non-commercial use.
Offer them an easy way to contact you in case they want to use the images for something else.
Add social network buttons for an easy way for visitors to show their friends your work. They don't have to copy anything if they can just link the stuff the easy way - plus this will net you some more traffic for free!
There are reasons sites allowing people to share their photographs, artworks, etc. (deviantART, instagram, etc.) are so popular: People like to use them, they appreciate the involved work, etc.
And don't forget: Just because you don't "protect" your content with some nasty tricks doesn't mean you don't own the rights or aren't any longer allowed to fight others abusing it. You can still legally fight against others violating your copyright or other rights, even if you offer it for download for free (unless you give them proper permission, e.g. with some creative commons license).

Stream live audio to website without Flash

I'm trying to find out what libraries there are out there for streaming live audio to a website.
The current technology stack that I'd like to stay within is...
MVC3/C#
HTML/HTML5
Basically, I'm wanting to build something that will allow the end user to have nothing but their (modern) browser installed and stream the audio. If possible I'd prefer that the same end user interface support previously recorded content as well.
As far as the input side of things I don't care what it uses as long as it's a .net/c# based technology or if not .net/c# I'd need it to be pre-built and capable of sending to a .net endpoint.
I have searched on SO for this topic and have found several posts on the subject, but most were extremely vague and didn't fit within the confines of the tech stack that I have in use (java/flash/etc) so please if you manage to find out be sure that it is actually inline with the question before you link it!
I would suggest you start here at the W3Schools - HTML5 Audio page and implement a C# handler that returns a byte-stream of the audio content for the source tag. Failing that, there are a bunch of JavaScript libraries that should be able to help you implement this properly.
The last one that I linked above ThunderJS, looks promising only because of the introductory line:
Thunder works its magic by creating HTML5 Audio elements with a src value containing a base64 data URI.
You could also check out similar questions here on StackOverflow, because you want to do this client-side so the language of choice isn't as much of an issue...
Maybe start here, or here, or here.
Failing THAT, there's always "the Google" which led me to these, few, lists?
Hope this helps to point you in the right direction. Good luck.

Is there an application that can manipulate images for ASP.NET?

Basically functionality i need is:
easy integration with ASP.NET application.
user ability to crop image with handle prior to save
image optimization from any image type to jpg (compression levels) during the save
saving images with proper h/w ratios during the save
user ability to rotate the image prior to save
ability to translate application to foreign language as it won't be used on international site
If you know any application which fits my needs even if it costs money, give me a twit...
Our company has implemented a photo cropper in an ASP.Net MVC application using Atalasoft's DotImage. I did not implement this myself, but I currently maintain the whole of that application (and consequently the cropping component).
Based on the way you phrased your question, I feel that I should explicitly point out that Atalasoft's DotImage only provided the functionality to manipulate images. Other answers referenced ImageMagick and GDI+. In the same vein, these libraries also only provide the functionality to manipulate images.
We had to implement the UI and workflow ourselves. This was, while not rocket science, still far from trivial. While we used a pre-built component for fancy, AJAX-y file uploads (for the source photos) - we still had to integrate that into the application and manage persistence of the files and database records associated with them. (Similarly, as a convenience we allow import photo from url - another feature we had to explicitly create)
I would suggest that you will not find any general purpose component to integrate that will give you cropping functionality and a Web UI. I suppose there may be one made by a ASP.Net component vendor, but I am certainly not aware of any off-hand.
The problem tends to involve lots of pieces that span from the client to the server, and consequently I think what you are looking for will involve a fair amount of specific-to-your-application development and integration.
You can try ImageMagick, it supports hundreds of image formats and it comes with a .NET wrapper.
Have found exactly what i was looking for iLoad
Does exactly what i asked and doesn't cost that much compared to other suggested solutions. Haven't tried it yet but demo is impressive.
Have a look at mcImageManager

Categories

Resources