I've been working with the Ionic Framework for a quite a while now, and while I have been able to find tons of tutorials and examples for taking a picture or video, I haven't seen anyone discuss taking video from the camera and displaying it live in the app so that the user can see what they're about to take a picture or video of. This would be essentially like the native camera app on iOS or Android where the output from the camera is displayed live while the user is getting ready to take a photo or start taking video. I understand that some people have tried to just take single pictures from the camera and update the UI several times a second to make it seem like the video is being streamed straight from the camera, yet I also understand that these attempts are usually plagued with memory leaks, crashes, and tend to have quite a low framerate, causing rough video. If anyone has experience with solving this sort of problem or might have some clues for me, thanks for your input!
it's live streaming and WebRTC is the way to go.
https://webrtchacks.com/webrtc-hybrid-applications/
Related
I'm looking for a way to process video images (without recording) at 120fps - on Android.
Going over all relevant SO questions, I couldn't find an answer to my question.
The docs says one must use CameraConstrainedHighSpeedCaptureSession to work with high speed video sessions.
For regular capture session I am using an ImageReader and process the images in C++.
But for high speed sessions I can't use it.
Is there a way to solve this issue using Camera2 API?
If not, is there a c++/opengl way to do it?
Important - my goal is to NOT record the video.
I've looked at Grafika & bigflake but they use the old Camera API.
Any help is much appreciated.
Thank you.
In Android Studio we can both capture and record screen on our devices. When capturing the screen we have the option to directly frame our screenshot in device art or use online tool http://developer.android.com/distribute/tools/promote/device-art.html
When Recording Screen there is no option to frame it in device art and Google don't seem to provide any online option either.
What would be the fastest and easiest way for developers that want to showcase their screen recording in a frame from device art where a new video is created where device art is wrapped around our screen recording.
Give away your best tip. I would love a fast, free online service that solves this and guess there is one out there.
I've spent a substantial amount of time researching, but could also not find a service for it.
I have however written a guide for how to record screen, add device frame and convert to gif, which you can find here:
http://appdictive.dk/blog/how-to/2015/04/20/google_plus_gif/
The short version of it is:
Record screen
Get Device frame picture
Use Photoshop or other video editing software to add the frame as static picture to the video (guide briefly shows how to do this in Photoshop).
Hope this helps others searching for a solution to this as well.
There are very few services I've come across on the web that allow you to simply upload a video within device art frames, especially free platforms. However, if you have video editing software such as Adobe After Effects, you could import images and videos and create this yourself; albeit added cost and time against the earlier option.
Despite the above, I've managed to utilise Google's Device Art Generator page to extract the device frames they offer quite easily. All you need to do is create a solid background colour in Adobe Photoshop (as an example), say bright green, followed by uploading this to the generator. Download the image generated with the device art applied with the solid fill colour and then use the Magic Wand tool in Photoshop and simply delete the solid colour. With this in mind, the next course of action is to simply insert the video using After Effects in the transparent space now available. This is even a bit overkill, as you only need to overlay the video within the screen dimensions of the generated screenshot from Google, yet this gives you an idea of how you could achieve what you want.
I had the same problem and ended up writing an app to do that:
https://play.google.com/store/apps/details?id=de.mobilej.recapp
It works completely on the device - no plugin or desktop version yet. It needs Android 7.0+
I'm the author of the app - so sorry for referring to my own app.
I just started to study android so I barely know android library.
Would you introduce some library so I can figure out the problem?
The reason I'm trying it is that there is no available parameter to manage shutter speed.
I would like to exposure image sensor a long time but I found it's not supported by firmware.
So I planned to record a video and cut it. Then, combine it together so it would be like long shutter speed picture.
Thank you for reading
I don't really understand what you're trying to do.
How capturing multiple frames will allow you to simulate different shutter speed.
Assuming you know what you're doing, check out this SO.
You can start recording for any time period you want, save all the images to files/memory and then do whatever you want with the frames.
Is it possible to record screen video of current running activity from same activity ?
I know how to take screenshot of current activity but don't have any idea about taking screen video record. How would I start with it ? I don't know how to start it.
There are no APIs yet in Android to do this directly. However, you could take screenshots of the app, and then merge them to make a video out of the images.
However, this process is quite tedious, and would probably take a lot of research and investigation.
Since you know how to take screenshots, a good starting point would be to look for libraries/APIs that can take in a series of images, and convert them into a video.
ffmpeg/JMF could be two good starting points.
I'm making android game.(using andengine)
I need to record game play screen .
This is not for making promotion video, It is for game players to review their game play.
My app should record video by itself.
So I can't solve this problem using available recording app in market.
I already checked below code.
http://code.google.com/p/andengineexamples/source/browse/src/org/anddev/andengine/examples/ScreenCaptureExample.java?spec=svn66d3057f672175a8a21f9d06e7a045942331f65c&r=66d3057f672175a8a21f9d06e7a045942331f65c
It works very well..
But I want to record game play video, not a one screenshot.
At least I need 24fps for smooth replay, But If I use glreadpixels , I can get 5 fps at my xoom device.
I searched various websites to solve this optimization problem.
most people saying glreadplxels is too slow to record video.
http://www.gamedev.net/topic/473794-glreadpixel-takes-tooooo-much-time/
they recommend glcopyteximage2d instead of glreadpixels.
because glcopyteximage2d is much more faster than glreadpixels.
but I can't find how to use glcopyteximage2d in andengine.
even someone say that android opengl ES do not support glcopyteximage2d.
Maybe Another method exists to record smooth video.
It is read framebuffer of android device.
most of recording app in market using this method. but these app needs root permission to grab framebuffer.
I've read some news that android will be support capture screen from suface_flinger after gingerbread.
But I can't find out how to use framebuffer without root permission. T_T
These are my guessing solution.
use another opengl API which has better speed than glreadpixels.
find some android API can get framebuffer without root permission.
(Maybe I can access to android SURFACE_FLINGER ??)
draw another offscreen texture to record video.
But I don't know how to implement these methods.
Which approach is correct?
Do you have a example code to record video for android?
please help me to solve this problem.
If you know any other method, That will be helpful.
any help will be appreciated
Does the GPU vendor of your device support es3.0, if it does you can try to use PBO.
Here is a topic I you can refer to :Low readback performance with PBO , help !!!!!