This question already has answers here:
How to capture video in Android?
(7 answers)
Closed 9 years ago.
I need to make some videos of Android applications for a presentation. All solutions I found in the Android SDK can only take pictures. Is there a possibility to create a video - for example on a rooted device?
edit: I found the project droidAtScreen but the frame rate isn't very good...
I work for lunarg.com and we have a solution via a free SDK (in Beta1 stage right now) that allows developer to create "record" button that calls our library and we will capture all of the OpenGl calls - thus there is no overhead that could impact the performance of the device, for example during a gameplay.
After the capture is done, the file is uploaded in the background via WiFi to our server where it is converted to a video and posted to the user specified YouTube or video.
If you want you can look at the results here http://www.lunarg.com/seemegaming/
This has been discussed a few times on the android-developers Google Group, such as here and here.
Related
This question already has answers here:
Using both front and back cameras simultaneously android
(3 answers)
Closed 5 years ago.
I am attempting to use 2 Surface Holder objects tied to 2 separate SurfaceViews.
I am for the one set doing a Camera.Open(0) for the back camera and Camera.Open(1) for the front.
I am able to get a perfect preview for whichever I call to open first, but am unable to open both Cameras at the same time, even though I am using separate SurfaceViews and SurfaceHolders for each Camera.
Is it just impossible to do this under Android ? I have seen a couple of post suggesting that it is either not possible, or that it is phone hardware dependent, but no concrete explanations as to why.
Could somebody explain why Android does not appear to support this ?
If it is supported, could someone suggest the correct way of opening both Cameras at the same time ?
I have also seen some suggestions that it should be possible to do using OpenCV. If so, could someone please provide a link to an example or similar ?
Thanks and Regards,
Steed.
It is possible because I've done it on my Nexus 6, even recording video from both cameras simultaneously when using Camera1 APIs. However, it is very much limited to a few devices.
Any unsupported device should give an error during the 2nd Camera.open() call. It seems each hardware manufacturer provides a different implementation of the Camera APIs. You could pretty easily try/catch the exception if a camera does not allow it.
This is possible on certain phones and pretty much all newer phones. I have found that devices which use the Snapdragon 801 and higher chipsets support this (OnePlus 1, HTC M8 etc). This was somewhere in 2014.
It all depends on the hardware/manufacturor and you should test this on real devices.
Also be aware that the first Camera API outputs in YUV so you will have to deal with this conversion to another format if you want to use the images/video; you can display it fine on a SurfaceView in realtime but saving to picture/video I suggest you save the YUV and convert later/on a seperate thread although you could save and convert single images in realtime on a seperate thread.
Sorry for the late answer but I hope you or someone else can use this info!
This question already has answers here:
Using both front and back cameras simultaneously android
(3 answers)
Closed 9 years ago.
I'm trying to make an app that takes a picture using the front and the rear camera in one picture.
This is kinda how it would look.
I've read http://developer.android.com/reference/android/hardware/Camera.html and searched and really couldn't find anything on the subject but I know I saw on the app store of other apps like this.
Mostly it depends on the hardware of the device and most of the devices now do not allow use of both cameras simultaneously. Even if some device will be able to use both cameras, if you want to make application that runs flawlessly on as much devices as possible (and this is what you want) you should not implement this solution. Google says:
In order for your application to be compatible with more devices, you
should not make assumptions about the device camera specifications
What you can do, and it depends on the application you are writing is to periodically take pictures once with the front camera and the second time with the back camera.
New FCC requirements that become effective January 1st 2014 require certain video content to have customizable close captioning (font, font size, text color, opacity, etc). See article:
http://www.insidetechmedia.com/2012/08/22/fcc-extends-online-closed-captioning-user-control-mandate-until-january-2014/
Anyone have any idea whether such support is in the works for the built in android video player in the coming Android releases? And thirdparty libraries with such support? Thanks!
We've encountered the same requirement at Flixster, as our app provides full-length streaming service. KitKat 4.4 added some support for closed captioning, but it's limited to WebVTT captioning format and KitKat devices.
We had to develop a solution that tailored to our needs, which included the abilities to parse SMPTE-TT/TTML captioning format, customize captioning preferences for pre-KitKat devices, and render advanced closed captioning on top of a VideoView.
This has been integrated into our app, and we've made this captioning library open source, so check it out and see if it can help your app in any way!
https://github.com/flixster/flixster-android-closedcaptions
First, note that if you read the article, "Only online-delivered full-length programming that previously appeared on television with captions in the United States is covered by the new rules".
Second, text tracks have been supported in Android since Android 4.1, though it suffers from limited documentation and apparently some bugs.
Third, as with pretty much everything in Android, you will find out what "is in the works" when we do, which will be when updates are released. Google does not usually say much in advance about a release, except maybe what "tasty treat" is the code name.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
Working on fingerprint scanner using camera or without, its possibility and its success rate?, I came across one of open source SDK named FingerJetFX its provide feasibilty with android too.
The FingerJetFX OSE fingerprint feature extractor is platform-independent and can be built
for, with appropriate changes to the make files, and run in environments with or without
operating systems, including
Linux
Android
Windows
Windows CE
various RTOSs
but I'm not sure whether Fingerprint scanner possible or not, I download the SDK and digging but no luck, even didn't found any steps to integrate the SDK, so having few of question which listed below:
I'm looking for suggestion and guidance:
Fingerprint scanner can be possible in android using camera or without camera?
With the help of FingerJetFX can I achieve my goal?
If 2nd answer is yes, then can someone provide me any sort of steps to integrate SDK in android?
Your suggestion are appreciable.
Android Camera Based Solutions:
As someone who's done significant research on this exact problem, I can tell you it's difficult to get a suitable image for templating (feature extraction) using a stock camera found on any current Android device. The main debilitating issue is achieving significant contrast between the finger's ridges and valleys. Commercial optical fingerprint scanners (which you are attempting to mimic) typically achieve the necessary contrast through frustrated total internal reflection in a prism.
In this case, light from the ridges contacting the prism are transmitted to the CMOS sensor while light from the valleys are not. You're simply not going to reliably get the same kind of results from an Android camera, but that doesn't mean you can't get something useable under ideal conditions.
I took the image on the left with a commercial optical fingerprint scanner (Futronics FS80) and the right with a normal camera (15MP Cannon DSLR). After cropping, inverting (to match the other scanner's convention), contrasting, etc the camera image, we got the following results.
The low contrast of the camera image is apparent.
But the software is able to accurately determine the ridge flow.
And we end up finding a decent number of matching minutia (marked with red circles.)
Here's the bad news. Taking these types of up close shots of the tip of a finger is difficult. I used a DSLR with a flash to achieve these results. Additionally most fingerprint matching algorithms are not scale invariant. So if the finger is farther away from the camera on a subsequent "scan", it may not match the original.
The software package I used for the visualizations is the excellent and BSD licensed SourceAFIS. No corporate "open source version"/ "paid version" shenanigans either although it's currently only ported to C# and Java (limited).
Non Camera Based Solutions:
For the frightening small number of devices that have hardware that support "USB Host Mode" you can write a custom driver to integrate a fingerprint scanner with Android. I'll be honest, for the two models I've done this for it was a huge pain. I accomplished it by using wireshark to sniff USB packets between the scanner and a linux box that had a working driver and then writing an Android driver based on the sniffed commands.
Cross Compiling FingerJetFX
Once you have worked out a solution for image acquisition (both potential solutions have their drawbacks) you can start to worry about getting FingerJetFX running on Android. First you'll use their SDK to write a self contained C++ program that takes an image and turns it into a template. After that you really have two options.
Compile it to a library and use JNI to interface with it.
Compile it to an executable and let your Android program call it as a subprocess.
For either you'll need the NDK. I've never used JNI so I'll defer to the wisdom of others on how best us it. I always tend to choose route #2. For this application I think it's appropriate since you're only really calling the native code to do one thing, template your image. Once you've got your native program running and cross compiled you can use the answer to this question to package it with your android app and call it from your Android code.
Tthere are a couple immediate hurdles:
Obtaining a good image of the fingerprint will be critical. According to their site, fingerjet expects standard fingerprint images - e.g. 8-bit greyscale (high contrast), flattened fingerprint images. If you took fingerprint pictures with the camera, the user would need to have a flat transparent surface (glass) you could flatten the fingerprints onto in order to take the picture. Your app would then locate the fingerprint in the image, transform it into a format acceptable for fingerjet. A library like OpenCV would help do this.
FingerJetFX OSE does not appear to offer canned android support - you will have to compile the library for android and use it via JNI/NDK.
From there, fingerjet should provide you with a compact representation of the print you can use for matching.
It would be feasible, but the usage requirement (need for the user to have a flat transparent surface available) might be a deal breaker...
I'm new to Android and I've started working on video streaming app (from device to pc).
According to what I seen so far, what is better:
1. Using the camera callbacks + encoding to jpeg
2. Using the MediaRecorder (i.e H264 or something else) - I've seen that there are many problems with this API.
tnks
I was working on the video streaming app and we tried both approaches - note that this was 2-3 years ago.
Option 1. is probably too slow to achieve good rates, we managed around 8-12 fps. Note that this was two years ago and phones were significantly slower.
Option 2. We choose this approach on Androd, it's doable, but there are issues with certain phones.