Using Python 2.7 To Stream Video In A Web Browser. - python-2.7

This is my first time asking a question on SO, so I'll jump right in and hopefully I'm doing things correctly. I've searched through Google and through the boards and while there are resources on streaming, they don't seem to give me the answer to my question.
The short version: I would like to setup a python27 handler to stream video to a web browser. We currently have a way of doing this with PHP using Adobe FMS on a series of Linux servers.
Long Version: My company uses an internal web streaming page that's currently setup using PHP. We want to step away from PHP as the handler for this and we've figured that Python would be up to the task of this. My problem? I'm not a web developer. I don't know the first thing about integrating py files in html.
I've written software in Windows and in Linux before and I've played with video using PyMedia (nothing serious there). Additionally, I've found resources saying to use Flask to set up streaming but my brain cannot make heads or tails of it and it really doesn't click for me. If that makes sense.
Has anyone undertaken such a project, and if they have can they suggest a website, tutorial or article that can help in greater detail?
I can clarify or answer any questions that you may have to help answer this question in further detail.
As I understand it:
HTML would give the user the front end and media player to interact with.
The user will click on a playlist item and that will send an input through the python handler to begin processing video from our FMS cache.
The user sits backs, drinks a Capri Sun and enjoys the very boring lectures and award ceremonies that we host.
Thank you all very much for your help!

This tutorial and its correspoding github page helps noobs like us to do this very easily at least in the LAN. For how to stream on the internet, even I'm trying to find out. Supposedly, it involves port forwarding.
http://www.chioka.in/python-live-video-streaming-example/
Just download the zip and follow the steps:
Install Python dependencies:
cv2, flask. (wish that pip install works like a charm)
Run:
python main.py
Navigate the browser to the local webpage.

Related

How can I implement video chat in my website using Django?

I want to develop a website in which users can have video chat and they can connect to other user anonymously without had been added by the other person as friend. I also want that all the active users list is displayed on the website. So somebody please suggest me how can I implement it on django?
You can use a third party service for this. Or you can use WebRTC. There are some nodejs packages which can help you do this. I like "EasyRTC" for that.
Or if you want to use Python, you can use Twisted. Here's a tutorial (found on Google, not tested by myself - https://ferretfarmer.net/2013/09/05/tutorial-real-time-chat-with-django-twisted-and-websockets-part-1/)
In essence, Django doesn't handle the video streaming/chat part. You can use Django for authentication and serving the required html and other stuff. But the video chat needs to depend on other services.
If you are looking to create a video calling and chat application using django, django_channels, you can refer to this Github Repository .
It also tells you how to deploy your app to google app engine flex with Redis instance.
It took me a long time to build this, so I created a detailed basic public repository to help someone like myself and for future reference.

Can we install django application without source code?

I have a requirement where I need to develop a Point of Sale system.
I want to know if it is possible to install that small point of sale app
on some machine without source code ?
Thanks for all suggestions.
I just thought I'd mention this for anybody that finds this question useful in the future.
There was a discussion about turning a Django webapp into a local app here:
https://groups.google.com/forum/#!topic/django-users/-VGqvHew35g
They provide some interesting solutions for converting the webapp into a local/desktop app.
Django is a web framework. There's no need to install any code on a client machine, since you would access it via a web browser.

Idiots guide to getting a django project onto the web please

Help! I think i've gone in a bit over my head. I'm making a website for a friend who has already got a domain/hosting on the website 123reg. Keen to learn them i've been picking up python and django as i go, figured getting it online would be no problem because 123reg supports python (unspecified version).
So far i've been doing everything with the django test-server locally, i went to look into uploading it somewhere as a test and realised there's an awful lot i don't know and even with google its a bit overwhelming.
I found this link which will help me later i'm sure but right now, could someone help me understand What is Apache? I thought the server was the hardware a site was physically hosted on but i can't understand it at all now.. So i download Apache and then what? Can i just copy it into the root directory for the website on 123reg? Is their an installer? Will 123reg allow it to "run" or "serve" or whatever word's appropriate or will there be permissions issues?
And then once that's sorted there's mod_wsgi to look into, a cursory glance at the installation guide shows commands to be run, which confuses me further as i was not aware that a standard host like 123reg have any sort of inbuilt console window to be run on in which case how are you expected to execute these commands?
And another thing I didn't really think through, I'm using the built in sqlite database technology.. How will i be able to install it on my webspace? and then how will that effect my django configuration? or maybe i'll have to change to MySql v5 which 123reg says it supports?
I know these must be idiotic questions, I just wasn't sure where best to ask for help and SO has one of the most helpful and knowledgeable communities around. I did try having a google but everything was a bit overly technical for me.
You can't upload a Django site using FTP on a shared hosting provider and expect it to run. You'll need to configure it to run with their installed Apache, including configuration like mod_wsgi.
I very much doubt that 123-reg support this. You are unlikely to be able to run a Django site there. You should look for a more Django-friendly site - I recommend Webfaction.
Apache is the webserver software. It's already running on their machines. Don't try and install it lol, or they will certainly laugh at you.
To "run commands" you need to get a remote shell (console). This is typically done via Secure Shell (SSH). See this page regarding 123reg specifically: How do I connect using SSH (Putty)?
Django supports different databases, including SQLite and MySQL. SQLite is typically for small, simple databases, as the "database" is really just a local file that is manipulated by the SQLite engine. MySQL is the database of choice for many websites.

Coldfusion 9 issue

Just downloaded Coldfusion 9 developer for review purposes. I am at the administrator page 127.0.0.1:8300 and I think everything has worked fine. I want to do a simple "Hello World" example. One tutorial gave me a simple 6 line script to do this and it looks pretty simple and understandable. I went to notepad and created the following:
<html>
<head><title>Hello World</title></head>
<body>
<cfoutput>#ucase("hello world")#</cfoutput>
</body>
</html>
It told me to save it as helloworld.cfm in inetpub/wwwroot directory. I could not find such a directory on my system. So I saved it to C:\helloworld.cfm. Then it told me to go to my browser and type http://localhost/helloworld.cfm. I got something to the effect of a page not found error. Any help you can spare here.
Secondly, and more importantly, exactly where do I really need to be to be to create and run the above helloworld.cfm script above? Is there another tool I must have to create the above script to do this? I also understand that there is very little tutorial documentation on Coldfusion 9, why is that the case. Can you offer me any suggestions. I would really like to use this development tool. Adobe says it is the easiest development tool out there. You will have a tough time convincing me of that at this stage, however, I just might be missing a procedural/processing step thats real simple. I hope this is the case. Thanks for you valuable time.
When you installed ColdFusion did you hook it up to a webserver or did you install it in standalone mode?
Did you install it as standard ColdFusion or Multiserver?
The reason I ask is that depending on how you installed it will determine where you will find the web root.
For example, ColdFusion standard in stand alone mode will have the web root under something like C:\ColdFusion9\wwwroot
Multiserver standalone will be something like C:\Jrun4\servers\cfusion\cfusion-ear\cfusion-war\
Installation with a connection to a web server will have asked you where you server's web root is and so on
To create scripts; notepad, but there are two eclipse based IDEs you might like to try. CFEclipse is free and ColdFusion Builder is adode's commercial product.
First of all, Welcome to the ColdFusion community!
I believe Jerry has done a default ColdFusion install. The CFAdmin URL as mentioned is 8300, so i guess it is a multi server installation.
As pointed out by stephen, your web root would be something like \Jrun4\servers\cfusion\cfusion-ear\cfusion-war\
You need to place your helloworld.cfm in the above path.
I recommend ColdFusion builder/ CFEclipse to start with.
CF is a easy language, you will realize that soon :)
http://localhost/ will point to where your web server is configured. So obvious question is did you configure a web server such as IIS or Apache? Which OS are you using and which install of ColdFusion did you pick (standard, multiserver, other...)?
If you don't want to use an external web server you can use the built-in one, I have never really used it much but here is a link that should get you going: http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=webservmgmt_3.html
To create CFM files you can use pretty much any editor, the most popular one is Eclipse (http://www.eclipse.org/) coupled with the CFEclipse plugin (http://www.cfeclipse.org/). Adobe now has a IDE based on Eclipse called CFBuilder (http://www.adobe.com/products/coldfusion/cfbuilder/features/) which is gaining speed quickly, but it is not free.

Server Generated web screenshots?

One problem I've been toying with off and on is a service that requires my server to produce a screenshot of a webpage at a given url. The problem is that I don't have any idea how I would accomplish this. I mostly use a LAMP software stack, so answers that were given with that in mind would be the most helpful. Again the basic requirements are: Given a url, the server needs to produce an image file of the rendered web page at that url. Thanks in advance!
You might also want to take a look at webkit, it's known for being easier to embed (used by Adobe for AIR, by Google for Chrome, by Apple for the iPhone...) then other rendering engines. This might take a little more work to setup, but it would be a lot more stable than some hack that launched a webbrowser and took a screenshot.
IF your server is a Mac, then I recommend webkit2png, which is a short python program that leverages WebKit's Objective-C API to render an URL. Personally, I use it in combination with WWW::Mechanize to walk my development site and make screenshots of every page -- useful for testing functionality, showing clients and keeping screenshots up-to-date. The resulting screenshot is perfect, but sometimes very tall for long, scrolling pages.
IF your server has a non-bare-bones Linux distro with KDE installed, then you might try khtml2png. I have not tried that myself, but saw it mentioned on the webkit2png page.
PhantomJS is a headless (commandline) WebKit-based browser which can be easily scripted to save a screenshot of webpage.
You actually need to have the server launch the web browser in question and take a screenshot of the application with the appropriate libraries. Apache will not render the page for you so you have to have software that will.
Yes, that is what is needed. I do this in asp.net, and I actually create a WebBrowser object that is avaialable in the .Net framework class libraries to generate the screenshot.
I use the http://webthumb.bluga.net service for thumbnail generation. Robust, powerful, easy to use, and very reasonable rates. I have a high traffic production website using this service and it works very well. Given the difficulty of creating a robust web screenshot service, it's nice to have someone else do the hard work.
A non-free solution for Java is WebRenderer. Interesting feature: it can emulate Safari, IE or Firefox browsers when rendering. They have a desktop version and a headless server version. Also they have example code showing how to render a screenshot image of a webpage.
virtual framebuffer X server
I would rather recommend XVFB (virtual framebuffer X server) is the best solution for taking screenshots of a headless server. Virtual framebuffer X server xvfb provides an X server that can run on machines with no display hardware and no physical input devices.
I am using that on my server for testing URLs and taking its screenshot. We are using Ubuntu & XVFB + FIREFOX. It is working fine. Modify according to your needs.Take a look on these articles. It might be use full for you.
http://www.semicomplete.com/blog/geekery/xvfb-firefox.html
http://linux.about.com/cs/linux101/g/xvfb.htm
http://www.xfree86.org/4.0.1/Xvfb.1.html