Is there a Digital Signage Program with Cached Credentials for Browser View? - web-services

I'm trying to find a digital signage program that can display an ongoing powerpoint on half the screen, and a live view of Outlook calendars on the other half. We want a certain group of employees to be able to see what they're doing for the day, and for them to be able to see changes happen.
Here's an example of how Outlook Calendar would be displayed
I was looking into PiSignage, as well as Galaxy Signage. However, none of them seem to have the capability of displaying the calendar properly, or they don't store credentials.
I was looking for something relatively simple to use for the users that will be updating the content of the rotating powerpoint.
Having that live view of Outlook is mainly what is desired though.

There is no "relatively simply" solution, as you need a combination of features and some web-app developing.
PowerPoint:
I do not know any Digital Signage Player who plays PowerPoint files directly. In most cases, you have to convert ppt as videos or images.
Outlook Calendar with credentials:
This is possible via digital signage widgets.
Widgets are websites/web-app which are run locally on the player. This way, you can handle credentials and use every web API/service you want via ordinary HTML and JavaScript. In your case, it is not complex, but you will need some JS-developing.
Multiple Zones:
You require a software which can display these widgets and websites in multiple zones.
The player hardware from IAdea which base on W3C-SMIL language, features multiple zones and widgets. As an alternative, there is an open source SMIL-Player developed by me.
You can use both player solutions on any SMIL compatible SaaS. IAdea includes a Windows software for creating playlists. You can also create SMIL-indexes manually like HTML or XML.

Related

On the fly Stream and transcode video with Django

I have a model that uses "models.FileField()", which I then display back to the user so they may click the link and have a file rendered in their browser. The user can upload various types of files.
Problem is, I'd like to handle large avi's differently, and have the file stream to the user.
The requirement I have is to simply stream/transcode video files from the media_root dir to an end user's browser, preferably in a mac friendly format. It would be for a couple users at most.
I've search and stumbled upon a few projects:
https://github.com/andrewebdev/django-video
https://github.com/rugginoso/django-transcodeandstream
As I am I a relatively newbie when it comes to django, I'm not sure how to incorporate their code into my proj.
Any thoughts, suggestions?
You can check Amazon Elastic Transcoder. It is a media transcoding in the cloud. It is designed to be a highly scalable, easy to use and a cost effective way for developers and businesses to convert (or “transcode”) media files from their source format into versions that will playback on devices like smartphones, tablets and PCs.
Or else you can check Webfaction, they have Video and image processing on their servers which you can use.
If you will use any of those, you can ask them about the installing process and how to integrate it in your project.
And one more thing, if you want to play the video on the browser, you will need a video player like jwplayer.
Hope this will help you get started! Best wishes!

How to load ~100 numpy arrays into django powered webpage

Well, these arrays are actually pixel data from DICOM images. When i just send them as an array (size 100) of pixel arrays (each about 1mb) it overloads the browser quite obviously. Being a newbie to programming, i would appreciate being pointed in the right direction to start working on economically loading large files , i.e., image-stacks into browser window , preferably dynamically. Apologies if the query is not clear
Hmmm... So your application is both at the same time? DICOM server and DICOM viewer?
The server is ment to respond to query-retrieve SOP classes and deliver images, the viewer will be the system sending those requests.
DICOM concepts would say your server should just be serving the images, the viewer is displaying them (including local file management, ...).
That would end up with a fat client (e.g. javascript if you want the viewer to be in a web browser), otherwise you won't be able to to interact with images at the speed you would like to (smooth scrolling, maybe 3D reconstruction, etc.).
If you just want to have some image pre-view capabilities on your server, I would suggest making a page with ~10-16 thumbnail images, one view for one or two full-size images, and load them per request if a user wants to preview image series or a single image. With that, you reduce load time significantly and your user is able to pre-select the images prior to sending a full request.
For the full viewer, I would consider a local solution on the client. If it should be web-based or not (or maybe mixed) depends on your further applications.
In past projects, we used existing open source DICOM servers like dcm4che for handlng the server part and just pulled our data from there. But for a teaching system, it might be interesting to build the server on your own as well to show all parts of the concept.
Feel free to comment, I'll try to update the post to answer questions.
I had exactly this same problem trying to develop a multiframe dicom viewer using just plain html5.
In order to be able to load such a big amount of imaging data in the browser, I decided to try using some web storage technology on the client side. In particular, I was considering to do some initial tests with indexedDB.
Sadly, I am currently involved in other tasks, so the web viewer development is now stopped (again!) and these tests are still undone.
Anyway, I would try to do a proof of concept with indexedDB.

How to stream video in a django app

I'm looking to stream video's as part of a django app, but I've never done anything with video and don't really know where to start. I don't have all the details of the project yet, but I'm expecting a fairly small library of videos uploaded by one or two people (Think less than 100 videos of about 5 mins length).
I'm looking for a solution that allows users to upload videos using django admin. I want to reach the majority of desktop browsers (95%+), and obviously I want to keep my costs down. Saying that I do like the idea of using some sort of cloud based CDN (I've no idea if that's possible / appropriate for this size of project)
I really want to ask if anyone can point me int he right direction (tutorials / services / projects / code), but I realise that might not be specific enough.
So to be more specific -
Is it possible to stream video to browsers using just django and an apache web server?
What cloud hosting providers will support easy integration with a django app?
Will I need to convert the format of my video's before they're ready to stream?
Can I use Red5 with a cloud hosting solution.
I want to host the project on a Ubuntu server that I use to host a
couple of other (low traffic) django apps - would it be a mistake to install Red5
on a server with existing sites.
From recollection, the server has 12GB RAM and 4 cores (in a 1and1
uk datacentre). Will I have enough power / bandwidth to stream say 3-5 video's simultaneously? (assuming red5 / wowza).
I'm not interested in Flash because I was rooting for Apple. Do I
need to need to re-evaluate my prejudices to be free of my ignorance?
I never streamed videos using Django/Python, but I have some experience in the field of streaming video in frontend apps. I can certainly not answer all your questions. In my experience it does not really matter where the video is hosted, a CDN is fine if you want to distribute the video world-wide.
I personally think you should start with the question on how you want to play the video in the browser. Choose an appropriate video player (could be html5 video) and you have an idea of what is possible to play and what not.
3) The format matters depending on how you want to stream the video. Progressive download (e.g. mp4)? Live streaming (unprogressive, e.g. HLS)? You can find example videos online and test if your video player can play the videos on the platform you want to support.
7) As said, you need to check out which player to use in this case. HTML5 video is not widely supported enough yet in my opinion, but can play most formats in the most modern browsers (Chrome, Safari).
Hope that helps.

Webcam streaming with Django

I try to create a django app that uses webcam. I would like people to be able to broadcast with their webcam, while other people can watch and listen to them.
I don't know how to do that with Django. Do I have to use flash? Is there a module that would allow me to do that?
Any advice is really welcome. Thank you.
Django can display the page containing the webcam application (and display, for instance, a directory of ongoing broadcasts, a search mechanism, separate urls for separate broadcasts, user authentication, etc.), but the actual software that takes the video from the webcam and streams it is not technically part of Django.
Flash can handle webcam streaming, and is probably the easiest tool to use because of the quality and user-friendliness of the dev tools, but the use of Flash for new projects is strongly discouraged since the vendor (Adobe) is attempting to migrate users away from it. HTML 5 is at least theoretically the correct tool for this task, although it may be challenging to develop in because Flash is, despite being a 'dead' project, still much more frequently used. There are also other browser plugins such as Silverlight, although I don't believe they have much to recommend them over Flash and HTML 5 for most applications.
All of the above are only a solution for the client side of the equation -- you'll need some kind of server software to accept the streaming video content and stream it out to viewers. This is a fairly complex task, and is generally outside of the purview of Django (which is not to say that it's strictly impossible to bolt that functionality on to Django in some sense, but you won't be using any of the standard Django modules for it).

Printing multiple, customized user docs from a website

I have a database driven website built with Django running on a Linux server. It manages many separate groups each with hundreds of users. It needs to be able to print customized docs (i.e. access credentials) on demand for one, some or all users. Each group has its own logo and each credential is customized with the user's name, photo and some number of additional graphic stamps. All the custom information is based on stored data for the user.
I'm trying to determine the best method for formatting the credentials and printing. Here are the options I've come up with so far:
straight HTML formatting, using table tags to break the credential into cells to contain the custom text or graphics. This seems straightforward except it doesn't seem to lend itself to printing a couple hundred credentials at once.
Starting with a doc template in the form of a PDF file and using available PDF command line toolkits to stamp in the custom information and append the multiple PDFs into a single file for printing. This also seems reasonable except that the cost of a server license for these toolkits is prohibitively expensive for Linux (>$500).
stand alone program running on the client that retrieves user data via a web service and does all the formatting and printing locally.
Are there other options? Any advice? Thanks for your help.
I once did something similar using SVG. This allows for great flexibility as you can design your "credential" in inkscape, use placeholder names and logos, and then once completed, open the output svg in a text editor and replace the placeholders with context variables.
One tip, put all django template code (if any) as xml comments, ex <!--{% load xyz_tags %}-->, otherwise, a lot of things get screwed up if you open it in inkscape.
Solution was to use the open source ReportLab library to build up the PDF pages from scratch.
I could not find an inexpensive way to stamp the custom components into an existing PDF. ReportLab can do this, but only through their commercial product.
Works great though.