Developing a launcher/kiosk app for video playback - Android Q&A, Help & Troubleshooting

This is sort of a research thread and I hope someone here is willing to weigh in with their knowledge.
I'm a Ruby / Java / Python / JS / PHP developer, who did a little bit of Android game development during my studies back in 2012. I assume things have changed since then.
I'm working on a commercial project where we need a network controllable video player for LED TV's and/or video projectors. Currently, we are using a Raspberry Pi 3-based design with the OMX Player, but this board is somewhat weak and the player is cumbersome to interact with and has limitations. Especially when it comes to rendering multiple layers with transparency. I would like to work on a platform where I have a rich multimedia API for rendering sound and video with an object-oriented API.
I have obtained myself an Asus Tinker, which has an official Android distribution. This runs rather smooth and from what I can tell, the API's for Android appear rich and flexible. So my questions are:
1) Is it possible to develop a launcher / kiosk app, that will allow me to boot into a "blank" screen and allow the app to place video surfaces, image surfaces and text layers? I should also be able to interact with the sound card and playback PCM audio. I would like an API that supports audio mixing, amplification, etc... There is no direct user input on the device, so I will need a solution that does not present any status bars, google account wizards, wifi wizards, update prompts, notifications or anything. In fact, when the Tinker is powered on, there should ideally not be anything indicating that it's Android.
I guess what I'm asking for is kind of a console video game engine / SDK, minus game controller support.
2) What kind of libraries or API's would I need to dive into and understand? Where should I start?
3) How complex is it? What is the scope of it? How much development time? Days? Weeks? Months? Years? Would I need more developers with specific skills?
4) Is there any developer here who's interested in participating in such a project as a paid freelance developer?
5) Is there any alternative software/OS platforms I should look into? I want to be able to boot into a custom passive user interface that is remotely controlled over REST by another device. I would like to avoid dealing with low level implementation of video decoding and rendering, but at the same time I would prefer to have control over screen resolution, refresh rate, color depth and I would like to run a ssh server on the client, so it can be serviced. Ideally, the platform should be able to both stream from the internet, but also accept commands to download to local storage and play from there.
6) Is there any alternative hardware platform I should look into?
7) Anything else I should consider? Problems that I'll need to address / prepare for?

Related

Creating a video stream app

Guys,
I've been tasked to produce an Android app as part of my Final Year Project.
The Project requires the app to be able to playback video from a streamer on a Windows PC equipped with one of the following streaming programs:
a) XSplit Broadcaster
b) Livestream Procaster
In addition, it should have a chat function in the form of a drag down menu such that one can interact with the streamer. It does not have to be a two-way interaction - ideally the user of the mobile device will ask a question/post a shoutout via the chatbox and the streamer will answer from his computer in some way or form.
I have tried reverse-engineering an app which you can find on the market (it's called GGWORLD) and it's quite similar to what we're doing, except it's aimed at gamers and pulls streams from twitchTV and whatnot.
My app on the other hand, has to pull footage from the user's Livestream account page, should the user choose to use Livestream Procaster.
I have managed to make some sort of a UI using Eclipse. I've also found out that we need this thing called 'webview'.
Now, as I'm extremely poor at programming, one humbly asks what this webview is about, and is there any need to manually code in Java or HTML5 or XML to pull videos, as from my understanding most videos streamed on the web are in the form of a flash app.
Many thanks, and thanks in advance for answering my questions if you do.

[Q] Android as a desktop operating system

I was thinking of the coolness factor of just having one device, a phone, to which you could connect an external display and have an extended desktop. I am not finding any reference to this on Android (only the MS Surface). From what I have been reading, and remember/understand (may be confused), Jelly Bean brought the ability for windowing apps. However, the apps have to be coded for the capability, unless you root your phone and installed an app that provided windowing for all apps. Also, I have not heard of the possibility of having an extended desktop in Android.
I would like to ask WHY? Why not have windowing and the ability for an extended desktop, on an external display? A bluetooth keyboard and mouse just follows. Does google have to play nice with the manufacturers that stand to loose from people only needing one device? Is there a reason I'm not thinking of? Most phones are fast enough for this these days.
At the turn of the century, I was running GPS software Deluo Routis on a Sony Vaio 505 Pentium 200Mhz laptop running Win98. The 2-D graphics were smooth even while playing mp3's through the car speakers. The mapping software showed the map clearly, and effectively gave me navigation. People have lost sight of how much you can do if you give up the bloat and bling.
Also, I am pretty confused with the merging of Android and Chrome. I never liked Java to begin with; my experience with it is in MS Windows, and it runs slow as molasses. I believe my phone would run much faster if they had not chosen Java. I understand this to be because you have an operating system running on top of another operating system. It just makes more sense to me to have less layers and run apps natively, for better performance. I thought maybe they chose Java for its level of security. Is the screening process for Google Play not foolproof enough?
I like the philosophy of Google better than Microsoft**, so if one of them is going to win, I hope it's Google. I'm hoping Google won't end up with a convoluted Android/Chrome operating system because Lawyers forced them to (the idea I get based on the latest news). I don't understand: do they want to keep their OS architecture simple, but are being forced to make the OS complex for different reasons?
**Apple doesn't even want to compete. They have never wanted to dominate, just make huge profits. Unless they break up the marriage of hardware and software, they won't win. Then again, if Samsung keeps dominating, there may not be much hardware diversity?
Oh, and my main question was: "Why not have windowing and the ability for an extended desktop?". Wouldn't that be a big deciding factor for anyone that wanted to simplify and just have one device?
Anybody? Tell me I'm crazy at least. There has to be a strategic reason, that Google does not introduce full windowing and extended desktop support.
Its coming eventually. though you could do it right now. Motorola tried something like this with their atrix lapdocks.
Sent from my Samsung i437p using Tapatalk and CM 10.2
E_Phather said:
Its coming eventually. though you could do it right now. Motorola tried something like this with their atrix lapdocks.
Click to expand...
Click to collapse
Can you do it right now with any android device having a video port?
Well lets look at how we could achieve this with todays technology.
Input:
Bluetooth Mouse & keyboard.
Output:
Wireless display with support for older displays using something like Chromecast.
Graphical User Interface:
A secondary Launcher/Application (Which could potentially see companies like MS & Canonical developing their own UI's and Charging for them if required).
Home & Office use with one device:
Home would be the default UI, but when your device has used NFC to log into the office it would automatically enable your Office profile/UI for a certain length of time (requiring you to log back in after a set time or manual log out via another NFC tap).
This would be very useful as it would enable you to take your "desktop" environment anywhere with you and connect to any HDTV with Wireless display/Chromecast support.
Applications:
So if like me you are finding your phone to become ever more a better solution to your digital needs and you only require your desktop for apps which work better with larger displays (Videos & certain games) you will find this very useful.
Games:
Now games could become ever more better as they could be controlled using standardised control inputs (game controllers could use standardised input methods allowing you to select any compatible controller to best suit your needs) or even a driving game could allow you to see the game on a HDTV yet be controlled with the accelerometer for steering and the right of the devices touch display would be the accelerator and the left of the display would be the brakes for example.
More Business Solutions:
If you could wirelessly connect to the office display then show a powerpoint style presentation that would be great because the very device which stores the file would also be your controller to move to the next/pevious slides.
Media:
Music could possibly be stored in the cloud so when your on the move you can listen to your music as many of us do now, but when connected to a large display it could utilise the large display and speakers to show a music video too!.
Photos could be viewed on the large screen and the next one to be displayed could be select on the device (allowing the use to avoid showing anyone pictures which they don't want other to see - ie: pitcures of you and your friends whilst your parents/grandparents are in the room...).
The TV Guide:
The TV Guide would become a very interactive thing which allows you to see what is available on other TV channels without other people in the room being limited to viewing the content they are trying to watch in a small box in the corner of the display...
These are just some ideas of what is possible, but I know that you could do so much more with this and with 64-bit technology coming to many mobile devices soon that will make it so much easier for devices to process all of this data at once without any serious lag!.
I would love to see a group of developers on XDA team up on an open desktop (secondary) launcher to run alongside the users primary (phone) launcher. if there was a project like this with an open framework to develop apps for I'd be happy to start developing apps for that or separate UI's to run alongside my current (Phone/Android) apps UI's.
Edit:
Also remember that this could be utilised in other ways too eg:: connecting your device to your car and your device could deliver your navigation & music to your vehicles display whilst getting important traffic/weather news using your devices network connection!.
Isn't this exactly what the Ubuntu phone intends to do or have I got the wrong idea?
-----------------------------------------------------
Sign up for COPY with this link, and we'll both get 5 GB of free cloud storage in addition to the usual 15 GB: https://copy.com?r=m3arsR
Free GiffGaff SIM with £5 credit: http://redir.info.giffgaff.com/r/?id=h4d8d850,c0e1337,c0e139c&p1=d3xp2pc
Sent from my Galaxy Nexus using XDA Premium 4 mobile app
Yes, but with Android already having a large ecosystem it would make a lot of sense to build upon that.
Chromecast is not "open" to third party apps. http://www.minyanville.com/sectors/...eeds-to-Tread-Lightly-With/8/28/2013/id/51502
Do they have a displayport version of Chromecast? *cough*
quote from: http://www.tested.com/tech/set-top-boxes/457036-testing-google-chromecast/
"Chromecast is also not a particularly good desktop mirroring option, either. It actually can't do full desktop mirroring, and instead works solely with the Chrome browser. In beta right now is Chrome tab streaming, which sends to Chromecast everything that can be rendered in a single Chrome tab, including web pages, flash embeds, and even full-screen MKV video files if you have VLC installed. I like that Chrome tab streaming works independently of what's showing on your laptop or desktop's screen--like with YouTube and Netflix, you can multi-task and switch to other tabs or windows while one tab is being streamed. The only thing that matters is the window size and screen resolution. Chromecast will automatically scale the aspect ratio of your window to fill up your TV screen, adding black bars on the sides to avoid stretching. A full-screen resolution of 1440x900 looked good on a large 1080p TV, but streaming from a 2560x1600 monitor at full-screen made the text unreadable on my 70" TV."
Wow... I thought only displayport was capable of 2560x1600 (edit: hdmi v1.3 brought this). Even if I hook it up to my 2560x1600 monitor, it won't really display anything but entertainment. Chromecast doesn't seem to be a way to have a monitor, to use your Android phone as a PC replacement.
AllCast !!!
http://www.geek.com/android/chromecast-reject-becomes-allcast-public-beta-now-available-1578674/
However, I still need to add some kind of wifi enabled device to my 30" lcd monitor (like with chromecast). Really, I don't mind a cable connection from my phone to my monitor, if that was an option. If Google continues to be closed like this, then I would go for Ubuntu phone.
Displayport:
http://en.wikipedia.org/wiki/MyDP#SlimPort
Any phones have this besides the Google Nexus 4? Actually, I'm not getting a new phone until I know what the hell will happen with Android / Chrome OS
Quote from: http://www.tested.com/tech/android/457205-mhl-vs-slimport/
"SlimPort's support for the DisplayPort standard--specifically Mobility DisplayPort--means it can output video at the same 4K resolution as MHL, though not via HDMI (yet, anyway). And here SlimPort hasn't really made good on its potential, yet; though it's based on the flexible DisplayPort standard, the only SlimPort adapters currently available are for VGA and HDMI connectors. The upshot is that you won't be plugging a Nexus 7 into a 1440p DisplayPort computer monitor anytime soon." http://www.slimportconnect.com/
Chromecast May Get Screen Mirroring With Android 4.4.1
Evidence in Android 4.4.1 indicates that screen mirroring is coming to Chromecast.
Click to expand...
Click to collapse
http://www.tomshardware.com/news/chromecast-google-screen-mirroring-kitkat-android,25345.html
It could start with mirroring a primary display, but gradually result in mirroring something that a GPU has rendered for a secondary display.
A dock from Samsung Galaxy phones. Has USB ports, HDMI, and audio.
http://www.samsung.com/us/mobile/cell-phones-accessories/EDD-S20JWEGSTA
mraeryceos said:
A dock from Samsung Galaxy phones. Has USB ports, HDMI, and audio.
http://www.samsung.com/us/mobile/cell-phones-accessories/EDD-S20JWEGSTA
Click to expand...
Click to collapse
I tried that myself with my previous Galaxy S4 (i9500), It was a great dock and when I connected my wireless KB & Mouse USB dongle & connected the HDMI to my PC monitor it was a good experience when doing things like playing GTA3 on the bigger screen (it was better than the windows version in some ways).
But the device just needed a separate home screen UI to be output to the PC screen to look perfect and to work better with the KB & Mouse input type.
It shouldn't be too difficult to make a UI that simply changes the size of some buttons to a smaller size, enabling more widgets to fit on the home screen and if they could simply force the apps to run in either windowed or full screen that would enable better multi-tasking, then the browsers would just need a small update to detect if the device is running in Desktop Mode if so, then simply zoom out of the page a little to emulate the desktop browser experience.
Just a few ideas... If Google's Android team are reading this, I would recommend that you get that dock to experiment with for future Android builds.
Especially now that OS' like Ubuntu Phone are looking at going down this road of the one device fits all computational needs.
Rather than creating a new thread I thought that it would appropriate to bring this topic back up after the recent announcements that several OEM's have made, that they will be releasing desktops with Android as their Primary/Secondary OS.
I hope that this pushes Google into creating a dedicated desktop UI in the future.

Why arn't there any good Video editing apps on Android

And believe me I've virtually tried them all, or at least the best of the bunch.
You get users who praise apps that really only trim video files, and add very basic effects. No, I'm talking about a proper video editing apps with a scrolling 'timeline', with realtime rendered playback preview of effects, texts and transitions.
The only one's that come remotely close are 'VideoPad Pro' and 'Clesh', Clesh is a great cloud editing system but it's a little basic but I'm sure this will improve. VideoPad feels the closest to a PC type UI, but seems to struggle slightly playing back in realtime on what is a powerful Sony flagship phone, 'TrakAx MovieExpress' is a known PC editing suit, but it's Android UI clunky, and not intuitive, also realtime playback is really bad.
The Android original 4.3 version 'Video editor' is also not a smooth candidate, but it has a few effects, transitions and a basic text feature.
Basically they all suffer very limiting 'title' and 'text' functions, some allowing a single font style, some with no text manipulation at all.
So those video editing software developers out there, come on, start producing something in the realms on iOS I Movie, and Reel Director, Android phones should well be able support apps of this quality.
Just needed to have this moan..... After all. it is Christmas.
Happy Christmas
Regards
Livio
Try MAGISTO

2 The best free Windows 10 apps 2019

The Microsoft Store is packed with great apps specially optimized to run on Windows 10 devices, but there's so much choice it can be hard to know which are the best. That's why we've created this roundup of all the apps we'd install first on our own devices.
Microsoft is pushing hard to increase the number and quality of apps in its store, and is even testing a feature that will allow apps to be installed remotely across devices, which makes them an even more appealing prospect. We'll keep this guide updated as more apps become available and existing ones are improved.
1. Adobe Photoshop Express
A slimmed-down version of Adobe’s industry-leading photo editor, Photoshop Express is ideal for touchscreens, letting you optimize your photos with just a few taps and slides of a finger.
There’s a selection of ‘Looks’ to choose from. These are similar to Instagram filters, but offer much more choice, as well as options designed for specific types of image. For example, there are skin-smoothing filters made specially for portraits, and others designed to bring out the blues and greens of landscapes. You can crop, flip and straighten your images, adjust exposure and color, apply vignettes, heal blemishes, and correct red-eye. If you’re really in a hurry, there’s even a one-tap Auto Enhance tool.
2. VLC
VLC is an open source media player that's available for any Microsoft device you care to name, including PCs, mobile devices, Xbox and HoloLens. It’s also compatible with pretty much every media file type there is, without the need to download any additional plugins or codecs.
When you first launch VLC Media Player, it will automatically detect any connected storage devices and offer to use them to store your media library, or copy media from there to your Windows 10 device’s internal storage.
From there, the controls are wonderfully simple, and it’s even possible to lock them so you don’t skip a scene through clumsy accidental tapping.
The version of VLC in the Microsoft Store doesn’t support DVD and Blu-ray playback – for that, you’ll need the full desktop software – but for everything else the Universal Windows app is a great choice.

Android as Smart Panel

Hey guys,
I'm not really sure if this is the right place to post this question but as I don't really know where else in the web I could find help on this I'll give it a try
TL;DR:​Do you know any (and I really mean any - including writing an app or other hands on approaches) method to have a permanent (tabbed) navigation at the bottom of the screen to switch between apps or websites/PWAs?
The background of this question:​
I'm coming down a long road trying to hack together a DIY - privacy focused - smart speaker - mainly to switch lights and play some music. I started off back in 2018/19 and found snips.ai one of the most promising FOSS smart speaker projects for my plans and so I got me a Raspberry Pi 3b+ and a Matrix Voice board as foundation. Then half a year I later, when I found the time to put those together, I had to find out, that Sonos just bought snips.ai and their services were to be shut down...
Since then I had a long pause on this but always followed the development of FOSS voice projects including Mycroft (to expensive HW, to bloated, to tied to their web services IMHO), Sepia (to complicated to setup) as well as attempts on hacking OTS speakers like Alexa, Google Home, Sonos et al or combinations with web controllable wifi speakers like Teufel 3sixty (which is really a gold speaker but as tons of other radios has a frontier chip set with its awkward web interface) or even the awesome Squeezelite-ESP32 project. Lately I stumbled upon Rhasspy and got myself together to give my project a new try and was even kind of successful (got a self hosted voice assistant doing what I want - even if I had to learn and write some python here and there). But I figured out that 1) a smart speaker without a display is not really what I want and 2) I'm not really that kind of maker guy to 3d-print cases, plan and build circuitry and what not - or it's just missing me the time to do and especially experimenting on this
So I ended up with the idea of the software that I need (Rhasspy server side + a satellite app, Home Assistant, Logitech Media Server, Spotify/Tidal and maybe some others) and was then looking for some hackable device to serve as interface to that (display, speakers, microphone, wifi + maybe bluetooth). The Sonoff NSPanel Pro was a candidate but I didn't trust the quality of its speakers and read some reviews that were claiming a weak performance. Then I found the Lenovo ThinkSmart View that has all this and this XDA thread and immediately got me a new one for 60 bucks. Now I have a quality device better then I could ever make it with a blank(though not rooted) android, a Rhasspy Voice Assistant running on a local server ready to receive and send audio streams, a promising app to act as a Rhasspy satellite and some quality speakers to play music on. The last opponent I'm facing now is a nice UI on android that can bring all the bits together.
What I'm looking for now is a free (and ideally OSS) panel/kiosk solution with that I can seamlessly switch between Home Assistant (web UI), Spotify (web UI or their app) and some others like a self hosted Web music player. In my imagination I could switch between them with a permanent tab bar at the screen bottom but am open to other ideas. I'm not an Android developer but I consider myself a stable Java dev open to write an own app for this - I'd just need a starting point (read of Webviews, Custom Tabs, Trusted Web Activities but found them not really a solution to what I need - maybe is there some browser which's contents I can just include in an app?). Also I can write (progressive) web apps and do stuff with them but then AFAIK the only method to embed remote sites would be iframes which likely won't work with at least spotify).
I really do not want to bloat this forum with all that stuff - I'm just writing this in the hope that 1) someone is interested in this and maybe is on the same journey and 2) to give some context on my actual question above
Thank you very much in advance!
Just came across your post. I’ve been looking for something very similar and have also been considering the NsPanel pro. I don’t have as much concern for audio quality as I’m less likely to use it for playing music, just responses or notifications from Rhasspy. I have just ordered a Lenovo device as I’m sure I’ll have fun with it.
To answer your question above, I just found this in the HA companion app that might work for you: https://companion.home-assistant.io/docs/integrations/android-webview/#links It’s not perfect but could be used with a button or voice command to launch the app on the device. I’ve also seen other posts about using a key mapping app for using the volume buttons to do other tasks.
I’d be very keen to see what you’ve done for dashboards and how you’re using the Rhasspy app on your device. Has it been as responsive and accurate as you hoped?

Categories

Resources