Multiple HTML5 videos on TV kiosk - android

I am building an application using electron.js that runs a socket server on a local network.
The idea is that the socket server sends messages to connected clients to dynamically load multiple html5 videos in a browser on a smart TV.
The videos are small demonstration videos and need to autoplay and loop.
There can be up to 12 videos playing at once on one device.
The problem that I am experiencing is that I cannot get smooth playback of the videos or not all videos will play.
I have tried the following with 12 videos:
Native Smart TV browser. Result: Only plays 3 videos and playback is ok
Chormium Browser on Raspberry Pi 3. Result: Can play all 12 videos but playback is choppy. Forcing hardware acceleration crashes the browser
Chrome Browser on Quad core Android box. Result: Can only play 6 videos and playback is good
ionic cordova app on Android Box. Result: Can only play 6 videos and playback is good
react-native app on Android Box. Result: Can only play 6 videos and playback is good
My question is, what are my limitations or possible solutions?
Am I limited by hardware or is there something I can do in my application builds that may resolve the issue?
It is worth pointing out that on my desktop chrome browser, all 12 videos play without any problem but this is not an option for me because they need to run on the TV.
Edit: It is worth mentioning I am using mp4 video

I am going to answer this myself to help others if they come across the same issue.
I ended up installing ffmpeg and encoded webm video instead of mp4 and could get all 12 videos playing.
Then by reducing the bitrate, I was able to get all 12 videos playing at the same time on the mini PCs at an acceptable quality.

Related

MP4 Video Not Playing in Chrome 56 or 57 on Android

I have a web application which plays an mp4 video at the beginning. This video is not playing in the latest version (v57) as well as in the previous version (v56) of Chrome in Android devices. The video was playing fine until Chrome v54.
It's an mp4 file. Has Google brought in any restrictions on the mp4 video files? The video plays fine in PC or Mac. The issue is only with Android devices.
Can someone throw some light?
Thanks.
I found if the Chrome Data Saver feature is turned on, videos would not appear or play.

Icecast AAC+ HTML5 Audio Stream on Chrome for Android - Strange Behaviour

I have an Icecast AAC+ (or AACP, AAC-HE) Live Audio Stream that I want to stream with HTML5 audio on a website. Playback on iOS Devices already works perfectly but I'm struggling with Android. I'm testing on a Samsung S3 with Android 4.4.3 and Chrome 39. Now to the strange part: When I press play and wait for about 1 minute playback starts. Can anyone explain why it takes so long for the stream to start?
Thanks in advance!

How do I have the same video on iOS and Android?

I have an app that was developed for iOS and Android (both are native). Both apps use the same api to download content such as images, documents, and videos. The video format is in mp4. Of course the videos play fine in iOS but some Android tablets have issues playing the videos reliably. Sometimes they play, sometimes (and usually) they don't.
Obviously this is a codec issue. I've suggested we have the user upload two videos, one for android and one for ios, but it doesn't seem to be an option at this point.
Is there a bitrate/fps setting that can be used to make video across both platforms more reliable?

Play h264 encoded videos on android device from stream

I'm working on certain project that allows some video editing, uploading edited video to server (Amazon S3) and playing this video on device.
The iOS version is already completed. I'm using there GPUImage to edit and encode videos.
I'm using quicktime container and h264 codec.
Now I'm working on android version of this project and have encountered several problems.
While I'm able to download and play these videos (encoded on iPhone) on the android devices, I'm not able to play the stream of these videos on most of android devices.
I have done some research and one of advices was to add some code to iOS postencoding that converts to mp4 and fixes MooV http://fabiensanglard.net/mobile_progressive_playback/index.php, but it doesn't help.
The only thing that I have achieved after that "fix" is to hear audio track and not getting error message on Galaxy SII device, but on other devices there is the same story.
After that I have downloaded VLC player from play store and it plays these videos.
So my question is, what do I need to do to play h264 stream?
How can I implement my own video player or how can I use VLC source code to play these videos.

Android Video Streaming - Device supported?

Ok. So there are a bagillion different Android devices. I have a video streaming service, works wonderfully for iOS. My app has a live video feature and a saved video clip playback feature (which streams to the device too). I've run some tests on different Android devices and get a whole bunch of different playback results. I am using a 640x480 h.264 base profile video. Streaming that video works only on some devices. For other devices, that same video stream can be made to stream at low resolution and that works on some devices, but still not others. The high profile streaming goes through http://www.wowzamedia.com/ (rtsp) and doesn't work on any Android device (but works on iPhone). The lowest and worst option is Motion JPEG, which works on all tested devices so far.
So my question is, how can I figure out (without having to test every device out on the market) if the device will play: 640x480 h.264 base profile - if that wont work then play the low resolution video - if that doesn't work, default to Motion JPEG.
Also, any idea why my rtsp transcoded through wowza works on the iPhone but not on any Android device (not even the Motorola Atrix)?
Streaming on android is an absolute mess. Most devices don't support anything higher than Baseline 3.0. If you encode for iPhone 3, it should generally work via RTSP. Newer versions of android support HLS, but it's hit or miss and largely dependent on specific devices.
I resolved this problem. Check RTP-realization in your streaming service and x264 profile. My RTSP-server works fine on 90% devices.
p.s
Some video frameworks in different Android versions can implement RTP and RTSP protocols with some differences.
These are some of the links/issues which I have come across, while trying to make streaming work in varied devices.
MediaPlayer seekTo doesn't work for streams
MediaPlayer resets position to 0 when started after seek to a different position
MediaPlayer seekTo inconsistently plays songs from beginning
Basic streaming audio works in 2.1 but not in 2.2
MediaPlayer.seekTo() does not work for unbuffered position
Streaming video when seek back buffering start again in videoView/Mediaplayer
Even the big shots in stackoverflow are wondering about this
If you want just streaming without seeking (which is lame), this can be achieved. But then if you receive a call while you are watching, you will end up from the start.

Categories

Resources