android stream real time video to streaming server - android

I am trying to develop a half duplex chat application where one android device will capture video from cam and send this real time video stream to server.
Thereafter, another android device is capturing the same video stream from the streaming server and rendering the video on screen.
I successfully did this using WebRTC API, Vitamio API and wowza streaming server.
But, this method is resulting in a very poor video quality at receiver's end with poor video quality and huge latency even on fast working LAN. Moreover the device heatup problem is also comming into existance.
Please tell me any other method to achieve the same.
Does youtube provide any facility to broadcast the real time video stream.
Is there any other free service that enables us sending video stream to the server from android device (as i have done in my application).

Related

Stream multiple langauges audio from a playing video on a local live-streaming server

I have a case where I need to have a video being played repeatedly (looped) on a server (that video is being showed on a connected screen) and a client on the same wireless network that can get the current playing video audio stream/s in-sync with video that is being played on the server (the video may have multiple languages or could be linked with multiple audio files that needs to be streamed in-sync to that playing video).
Is there a Nodejs package or a library that I can use to achieve this scenario? and a streaming protocol/server that is easy to use or program those features in the client without too much hassle with the sync and stream?
I'm looking for support on the client side for mobile devices (preferably browser dependent) that can get the stream with Javascript (which is the simpler for me) or something else and potentially run as an full-screen app on the mobile device.
My plan is to have an app on mobile devices where a user can chose a language and video playing on screens to listen to in-sync with the video, like choosing a channel where they can connect to and listen to the audio of that video over the wireless network, So I'm looking for a way or a solutions to program this.
Thanks!

Can we send the stream of hardware camera which is connected to android device with the use of Amazon Kinesis Video Streams with WebRTC?

The hardware which is raspberry pi, is connected to an android mobile device via wifi-network. The raspberry has a connected camera. I can fetch the stream from the hardware camera and show it in a Custom SurfaceView in Android Application from the HTTP URL. The format for video capturing is MJPEG.
What I need to achieve is to send the live video stream of that hardware camera to WebRTC kinesis video streams from the android application.
Can anyone please help me with this?
Thanks.
It's not immediately clear what your scenario is. If you refer to Kinesis Video Stream then your RPi could stream directly into KVS using the KVS Producer SDK.
If, however, your device needs to act as a WebRTC master then you can use KVS embedded WebRTC project. There is a master sample application that you can model your application after.

How to use android cam as security surveillance cam for live video streaming like IP Cam app

I wanna build an app that will use android camera video and stream it to another android phone or on the web. I don't wanna do it through my Wifi, but i want the cam streaming to be broadcast live anywhere in the world.
Can anyone help me getting an overview of the android classes or APIs that will be helpful doing this task?
You can't stream live video from a phone directly to another phone, there are just too many possible differences between any two given devices.
To do this you will need to have a publicly accessible server, (that you have control of) running a streaming engine, such as Woza: https://www.wowza.com/products/streaming-engine The source phone sends video to the server, and the destination phone receives video from the server.

Where should I transcode video (in mobile phone or at server) - 1 min. video is captured by mobile app (iOS and Android)

I am building a mobile app (first in iOS), where user records one minute video and share. I searched on Internet to find out about best practices for transcoding, but nothing fruitful showed up.
My questions are:
1) Where should I transcode the video (to h264 format .mp4), in the mobile phone or send the raw video to server and then transcode there?
2) Is it even possible to transcode video locally in iOS and Android?
3) If I send video to server, then it will consume hell lot of bandwidth of user's network :(, in other hand if I transcode video locally (if thats possible), then it will drain battery and use lots of resources.
4) Any idea what would be the average file size of 1 minute of recorded video on iOS and Android? (I know its influenced by many factors and hence differs)
I checked Twitter's android mobile app, and they send 30 seconds video to server for transcoding and from their h264 .mp4 gets accessed by their web and mobile (may be)
Any suggestion and/or pointer would be appreciated
First of all you MUST transcode locally. Second, if you are in full control of capturing process then you can set the output format before starting to capture. If you are not in full control of the video capturing process then you can use ffmpeg to transcode the given video and then upload to server.

Streaming live video broadcast from android camera to server

I am trying to create an android application in which i want to broadcast live video from the android device camera to server so that all user can access live video from the server . What is the best approach to achieve this ?
I don't know the right way. If any way with live video streaming from the device camera to help me out....??
You can use WebRTC if you care about the latency and not the video quality. Its an open-source project that provides web browsers and mobile applications with real-time communication. It allows audio and video with direct peer-to-peer communication.
We have also implemented Video Calling using webRTC and it works like a charm.

Categories

Resources