I'm trying to build a social networking website and mobile app .. I've read that in order to stream videos, you have two options: either HTTP and web services to download file(which is slow and can't serve more than a dozen clients at the same time) or to use a streaming server that makes videos available through HTTP. is that right?
And more importantly, does the same apply to images? how to make images on server available through http? for android mobile app, I'm using picasso framework where it needs the URL of the image.
Related
I'm creating a SPA developed in Angular2 with a backend server developed in Laravel.
Angular2 app plays video files stored in different cloud providers (Google drive, SMB server, Dropbox, OneDrive,...) but those providers are handled by Laravel API.
This is the application architecture:
Is there a way to serve a file stored in those providers without download the file in the Laravel server first?
Any help would be appreciated.
Thanks.
EDIT
Files are not publicly accessible. Authentication set up and working in Laravel backend.
I presume by "download", you want to avoid the delay while the entire file is fetched before the user sees the first video frames. The only approach I can think of is to chunk the downloads using standard http chunking between Laravel and Drive, and then echo that in the http session between your Angular app and Laravel. NB I haven't tested this, but I believe chunking is supported by Drive.
In general case a kind of proxy is unavoidable. You can pipe streams from the cloud to the stdout e.g. Stream FTP download to output or similar.
If a cloud support presigned urls, e.g. s3 http://docs.aws.amazon.com/AmazonS3/latest/dev/ShareObjectPreSignedURL.html you can benefit from web server redirects, like X-Accel-Redirect in nginx https://www.nginx.com/resources/wiki/start/topics/examples/xsendfile/.
I want to create an Android app which basically deals with audio files.
The purpose of this app is to allow user to listen to audio files either by streaming or by downloading files. Audio files are categorized into channels and subchannels. Users can navigate to their desired category and get audio files related to that category and play them.
I have 10000 of audio files each sizing around 10 MB. I want to save the files to a centralized server (online hosting) and consume them in front-end using REST services.
Also, there needs to be a login form. Also, users can subscribe to channels if they are logged in.
As per my research, I know that I can do this by hiring a dedicated server and host files there. For the rest API I plan to use PHP.
I have to develop an application that will record video and audio on desktop browser and android smartphone and share it between them. Just like the skype video call.
The application will consist of three subapplications on these three platforms:
smartphone (android java)
web server (apache + php)
destkop web browser (html5 + javascript + css)
Could you recommend me any libraries that could help me on these platforms
(smartphone, web server, web browser)?
Will I be able to maintain all the work on web server just by
php (user logging, video streaming, ...)?
Will I be able to maintain video record and playback in web browser
just by html5 + js or do I need to use flash/silverlight?
What things will web server need to do? Just store the video stream
somewhere in memory and then send it (forward) to web browser? Could you describe how should this work in more deeply?
What should I start with? Thank you
For this, you will have to use RTSP(Real Time Streaming Protocol),try learning this and for details you can check this link
Background:
I have a site that deals with large video files (sports videos). The site allows users to upload any source file, but most of the videos come from DVDs. I am currently using a modified version of jumploader to encode and upload files to the webserver with an HTTP request. The jumploader is a java client, and looking at my webstats, only about 75% of my users have java installed.
What I want:
I have looked for a flash based uploader that transfers a byte stream to a server. Byte streams would be ideal so I can capture partial videos for failed uploads. I have also looked for flash-based ftp clients, but I haven't found anything promising. There are some flash-based uploaders that post via HTTP, and I'm considering this. I do not want to use a simple file post. Some upload methods also put the full file into memory first, and this obviously is not an option for me.
Does anyone have experience uploading large (up to 2-3GB) files to a web (or ftp) server from a web frontend (PHP) with any reliability?
as a flash based solution you can use swfupload, which is widely used because you can display a progress bar. It sends answers back to you which you can read with JavaScript.
We decided upon using Transloadit, a service which is specialised in uploading and encoding video files. You can even track whether a download was aborted by closing the browser window, it has realtime encoding and supports multiple formats. Moreover your files are stored at Amazon S3 so you can easily stream them with AWS CloudFront and JWPlayer or Flowplayer.
See also zencoder.
Cheers
Was reading this article http://cocoawithlove.com/2010/03/streaming-mp3aac-audio-again.html , wanted to know of how has this to be implemented on the server side, and is it as simple as just putting the file in the htdocs folder getting the URL to that file or does it have more stuff involved
It will work with a media document just sitting on a server.
That being said, Apple really wants you to use HTTP Live Streaming instead of letting a file be progressively downloaded and streamed. Their docs state: 'iPhone and iPad apps that send large amounts of audio or video data over cellular networks are required to use HTTP Live Streaming.'
Fortunately, HTTP Live Streaming is just a method of cutting up your file and Apple provides tools to do this. Then you just place the cut up file and a metafile on your server in htdocs.
You could also look at something like Soundcloud. They have an iPhone streaming library on github to stream songs from their service.