[Q] Steps to Modding Camera? - General Questions and Answers

Alright, I'm running Android 4.1.2 stock rooted and cannot get this to work. I've tried adding things to build.prop, as well as editing the media_profiles.xml file with no results. Pretty much, I'm trying to enable 1080p(default is 720p) video recording and/or increase the bitrate to about 20-25mbps(default is 12mbps), but when I change either files it has no effect on the stock camera app, and it says "Record failed" when using apps such as lgCamera or Camera ICS whether or not I made changes to the following files. So pretty much, am I missing something? What places should I look to see where camera settings are stored, and how would I mess around with the bitrate an resolution within the SamsungCamera.apk?

Related

Android 1.5 settings file?

Hey everyone. Unfortunately my phone is still running 1.5 and the video recording quality is horrible so that made me want to change the encoding settings.
After doing some searching I found out that some settings are stored in the build.prop file but when I look through it I find there are hardly any settings for anything.
Does anyone where such settings would be stored in 1.5?

[Q] How can I fix the HD video recording on my XT720? I'm only getting 21FPS

I stumbled across this video created by khalpowers on the XT720:
http://vodpod.com/watch/5015769-hd-recording-30-fps-xt720
This tells me that it's possible to get 30FPS out of this phone. Mine is only recording at 21fps according to Windows.
Will using one of khalpowers' ROMs fix my camcorder app?
I've tried the lgcamera app and I still get only 21FPS.
If any of you have any insight into this I would really appreciate it.
So I installed khalpowers' camera update and things seem smoother now, but I don't get 30fps. In Fraps I'm getting between 21fps and 24fps. It's better than it was before, but still not quite as smooth as I would like. The shutter lag in the camera is also better after the update.
Is this phone even capable of 30fps at 720p? The specs seem to say it can only do 24fps.
It can only do 24 FPS.
try khals video settings in lgcamerapro app. it allows for recording in 30fps.
SickBeast said:
I stumbled across this video created by khalpowers on the XT720:
http://vodpod.com/watch/5015769-hd-recording-30-fps-xt720
This tells me that it's possible to get 30FPS out of this phone. Mine is only recording at 21fps according to Windows.
Will using one of khalpowers' ROMs fix my camcorder app?
I've tried the lgcamera app and I still get only 21FPS.
If any of you have any insight into this I would really appreciate it.
Click to expand...
Click to collapse
It turns out that the FPS thing is really difficult to evaluate. This is because the phone records variable bit rate. The actual rate recorded seems to depend on how much light is hits the camera sensor (i.e. brighter scenes get higher framerates and darker scenes get lower framerates which makes sense to me).
To make things even more confusing the file contains a number as a "guesstimate" of the frame rate. This guesstimate is what most programs show. Unfortunately, the guesstimate seems to be incorrect most of the time. IIRC the only thing we found that seemed to show us the actual framerate was Windows Media Player in Windows 7.
There's a lot more about this in Dexter's stock221v13 development thread. Page 126 of that thread seems to be in the middle of it http://forum.xda-developers.com/showthread.php?t=939644&page=126 I think it started here: http://forum.xda-developers.com/showthread.php?p=11630078#post11630078 but it's really spread out.
Can someone post a link to kahl's camera update and khal's LGCamera settings. And should I apply the update if I'm running StealEpicBlue, or the ROM already has the update?
Thanks.
Even with lgcamera and khal's settings, the files are still not 30fps. Even watching his sample videos, they don't look any smoother than what I'm getting with his "fix" installed on the default camcorder app.
Anyhow, I can live with 24fps. I just wanted to know if 30fps was possible, and it seems as though it's not.
Thanks everyone for your input.
Perhaps khal can chime in and confirm that his files are indeed 30fps. IMO Fraps is a good way to verify it.
Higher rate on xt just 24fps.....that video from eclair..now can produce better than that with airplane mode ..
So............... does we have Camupdate on StealEpicBlue or not?
Thanks.
yes..complete patches included with cam update...
khalpowers said:
yes..complete patches included with cam update...
Click to expand...
Click to collapse
That's why we all ♥ U!
On stock 2.1.1, I did that :http://forum.xda-developers.com/showthread.php?t=1088297
but, I mean it's already done in khalpowers ROM
Can someone post the best settings for LG Camera, please?
Thanks in advance.

Thinking through CM10 720p Video Recording

This first post from me is going to be short. I welcome additional thoughts, of course. Sorry if this isn't the best place to drop this, but it's not a question and it's not anything in development!
First, an observation: the problem with 720p in CM10 is not bright light, it's the camera's ability to adapt to bright light from low light. In other words, the problem seems to be related to the light sensor. Although this is not completely new, what I noticed from playing around with LGCamera is that if I turn UP the video bitrate, the flickering is not as sever. The flickering will stop and stabilize when filming in consistent light. Any change in light quality will produce more sticking. This makes sense since 720p requires finer adjustments to light and dark than 420p. The other part of the equation is the h264 encoder. I'm guessing that certain values in the light sensor need to match up with the h264 encoder...
Second, I was playing around with these settings today: http://forum.xda-developers.com/showpost.php?p=17791551&postcount=20 I haven't had enough time to verify what makes a difference and what doesn't. I believe that some settings have helped a bit. Also, I felt that changing the ISO to 800 in camera and then switching to video improved the video, but that could be totally imagined! Essentially, what we need is ISO800 for the vidcam... I think!
Suggested fix that was here didn't work. I'm editing to see if I can correct the "Invalid User ID" error I keep getting on my XDA app. Started right after I went to correct this message.
if you think you have found a fix i'd suggest bringing it to the developer's attention, such as indeed posting this in the official thread.
Also your second post got chopped off lol
threi_ said:
if you think you have found a fix i'd suggest bringing it to the developer's attention, such as indeed posting this in the official thread.
Also your second post got chopped off lol
Click to expand...
Click to collapse
I'm just messing around right now. I don't think I've found a fix. A few things I've found: I can't find a way, using the included camera, to film above 25 fps. It doesn't matter what the settings are in media_profiles.xml, 25 is the cap. The cap should be a little above 30. I also can't force the camera to film above a bit rate of 6 Mbits/sec. I averaged around 8 Mbits on the stock camera and 10 in LG camera on GB. These settings will affect light responsiveness! Perhaps the oddest thing I've noticed is that the recording streams are inverted in JB. Everything I've filmed in GB has audio in stream 1 and video in stream 2. JB's streams are the other way around. EDIT: In fact, in GB 480p recordings use Stream 1 (or 0, depending on your player) for video and stream 2 for audio, but 720p recordings use Stream 1 for audio and Stream 2 for video. So, perhaps it's worth looking into the ways in which 720p recording is being "sent" to the codec.
In the process of sorting these things out, it would help if we could find out what the AVC h263 and MPEG4 profiles and levels were in GB. I'm not completely convinced that they are configured optimally for our phone.
[To Forum Mod: Is it possible to move this thread elsewhere? Possibly the Q&A section?]
I've spent more time on this than I intended today, so this will be brief(ish). I don't know if I've found a fix, but I may have discovered a good lead. This is definitely for people who can put together and test out kernel changes faster and more accurately than I can! The other day I thought I'd found something of use, a v4l2 driver modification for Crespo. I sent my findings over to Scotthartbti. The modification may still be of use, but there was an unanswered question: why is vidioc_dqbuf unable to to clear the buffer queue? If it's the preview screen size, the fix I discovered wouldn't repair everything. SO, when I read this morning that the kernel is actually based on a Rogers ROM with limited capabilities, I decided to run another diff on the JB kernel and the GB kernel from Samsung. What I discovered was that certain drivers s3c_bc.c and s3c_bc.h are absent from the JB kernel. These two files (?) contain information that sets screen and buffer size that I couldn't find replicated anywhere in the JB kernel. I don't think it's not there... so, in the process of trying to find out why these files might not be in the JB kernel, I discovered something better: the android exynos 3.4 Git. And surprise surprise! What is it that devs are fixing over there? Quite a few issues to do with s3c buffer size, particularly in s3c-fb, and the problem of the system ignoring preview frame size!
I suspect that some lingering bugs are being addressed here: https://android.googlesource.com/kernel/exynos.git/+/android-exynos-3.4
keep it up.
Thanks for working at this. I just learned how to pull a logcat and I nabbed one while barcode scanner was on. I'm running CM10 now and I ran CM9 until July. I wish I could help, but alas I am merely a padawan.
Thanks, reynaim. Yours looks pretty much like mine. It's useful to have that confirmation!
So, I've been working on this for awhile now, spending much more time than I ever thought I would. I'm not a developer. I taught myself html, css, and php and it looks to be following a similar route with c++ and python! I've learned a fair bit about how our phone works and I have some ideas about the problems with our camera. I'll list what I can here:
1. Google updated their camera code several revisions ago, but it appears Samsung either relied on aging code or has not released the actual code for the camera hal. Several commands that bind the driver layer to software are not up to date in our camera hal and may be part of the cause of the flickering. The way the camera works is that it calls up a preview, then dumps that information before it starts recording. I suspect that the camera is not clearing the buffer queue at that moment as it should. I am attempting to rewrite this portion of the driver, but it's laborious.
2. Let's be clear about what the problems actually are: Flicker in any transition of light conditions. I can get 720p to work in bright light if there are no shadows. The light sensor is not working with the camera correctly. Actually, the problem is the framerate. At the moment, the 720p stream is going through the wrong channel, as if it is running on a PAL device. Hence, not only is the datastream throttled, but the framerate is wrong. I tinkered a bit with the light sensor drivers - changed a few values here and there - but I haven't noticed a difference.
To note here: PAL = 25 fps, NTSC =30fps. Also, PAL = 50Hz, NTSC = 60 Hz. The Infuse may use a mixed mode that runs 30fps and 50Hz.
What you will notice as a user in addition to the flicker and stuck frames is that:
The video stream is stream 1. It should be #2 (you can check this most reliably in VLC on your computer or MX Player on your phone - VLC refers to the streams as 0 and 1).
FPS, despite media_profiles.xml demanding otherwise, will not rise above 25 and may drop to around 15.
Bitrate won't rise above 6Mbits/sec (interestingly, Android sdk has the bitrate capped at 8Mbits/sec). GB would ordinarily record at 10 - 11 Mbits/sec (there is a way to up the bitrate in JB, but it doesn't improve vid quality).
3. Some minor irritations can be corrected by adding the firmware packages back into the system folder. Add a directory called "firmware" to your system folder (so it should look like /system/firmware/), give it the permissions 754 (RWX,R-X,R-X), and add RS_M5LS_OI.bin, RS_M5LS_SI.bin, RS_M5LS_TB.bin (which you may find in an old GB backup). Give those the permissions RWX, R,R (or R-X, R-X for the last two - I'm not sure which is better!). Reboot. This gets rid of that odd lag you've probably noticed when you open up 3rd party cameras and they search for storage and sometimes crash as a result.
4. I don't think - I could be wrong! - that the problem is actually in fimc. Fimc is behaving normally. There are some curiosities in the current camera hal that fimc doesn't like.
5. In fact, it seems the camera hal was not written for an 8MP camera. Why doesn't Samsung release the camera hal? Does anyone know this? My best lead came when I bricked my phone and decided to take a couple of video logcats so I could at least pinch a few values and processes.
Its seems very long since update on this thread
Whizzpopper said:
Thanks, reynaim. Yours looks pretty much like mine. It's useful to have that confirmation!
So, I've been working on this for awhile now, spending much more time than I ever thought I would. I'm not a developer. I taught myself html, css, and php and it looks to be following a similar route with c++ and python! I've learned a fair bit about how our phone works and I have some ideas about the problems with our camera. I'll list what I can here:
1. Google updated their camera code several revisions ago, but it appears Samsung either relied on aging code or has not released the actual code for the camera hal. Several commands that bind the driver layer to software are not up to date in our camera hal and may be part of the cause of the flickering. The way the camera works is that it calls up a preview, then dumps that information before it starts recording. I suspect that the camera is not clearing the buffer queue at that moment as it should. I am attempting to rewrite this portion of the driver, but it's laborious.
2. Let's be clear about what the problems actually are: Flicker in any transition of light conditions. I can get 720p to work in bright light if there are no shadows. The light sensor is not working with the camera correctly. Actually, the problem is the framerate. At the moment, the 720p stream is going through the wrong channel, as if it is running on a PAL device. Hence, not only is the datastream throttled, but the framerate is wrong. I tinkered a bit with the light sensor drivers - changed a few values here and there - but I haven't noticed a difference.
To note here: PAL = 25 fps, NTSC =30fps. Also, PAL = 50Hz, NTSC = 60 Hz. The Infuse may use a mixed mode that runs 30fps and 50Hz.
What you will notice as a user in addition to the flicker and stuck frames is that:
The video stream is stream 1. It should be #2 (you can check this most reliably in VLC on your computer or MX Player on your phone - VLC refers to the streams as 0 and 1).
FPS, despite media_profiles.xml demanding otherwise, will not rise above 25 and may drop to around 15.
Bitrate won't rise above 6Mbits/sec (interestingly, Android sdk has the bitrate capped at 8Mbits/sec). GB would ordinarily record at 10 - 11 Mbits/sec (there is a way to up the bitrate in JB, but it doesn't improve vid quality).
3. Some minor irritations can be corrected by adding the firmware packages back into the system folder. Add a directory called "firmware" to your system folder (so it should look like /system/firmware/), give it the permissions 754 (RWX,R-X,R-X), and add RS_M5LS_OI.bin, RS_M5LS_SI.bin, RS_M5LS_TB.bin (which you may find in an old GB backup). Give those the permissions RWX, R,R (or R-X, R-X for the last two - I'm not sure which is better!). Reboot. This gets rid of that odd lag you've probably noticed when you open up 3rd party cameras and they search for storage and sometimes crash as a result.
4. I don't think - I could be wrong! - that the problem is actually in fimc. Fimc is behaving normally. There are some curiosities in the current camera hal that fimc doesn't like.
5. In fact, it seems the camera hal was not written for an 8MP camera. Why doesn't Samsung release the camera hal? Does anyone know this? My best lead came when I bricked my phone and decided to take a couple of video logcats so I could at least pinch a few values and processes.
Click to expand...
Click to collapse
Hi @Whizzpopper,
I was searching on Google for infuse 4g 720p recording on JB custom ROMs and found your thread,
it seems you had been gone throught very deep on this.
Have you found anything that help us on resolving this issue afterwards ?
yogi.306 said:
Hi @Whizzpopper,
I was searching on Google for infuse 4g 720p recording on JB custom ROMs and found your thread,
it seems you had been gone throught very deep on this.
Have you found anything that help us on resolving this issue afterwards ?
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?p=38355903
Sent from my Galaxy Nexus using xda premium
yogi.306 said:
Hi @Whizzpopper,
I was searching on Google for infuse 4g 720p recording on JB custom ROMs and found your thread,
it seems you had been gone throught very deep on this.
Have you found anything that help us on resolving this issue afterwards ?
Click to expand...
Click to collapse
Indeed, I did leave the Infuse. There are so many variables, it's hard to say. The problem could be in the codec or in the settings used to interact with the codec (the media_profiles.xml or media_codecs.xml) or it could be in the kernel as Scott Hart used to suspect (don't know what he thinks now!). As you know, Samsung did not provide an honest release of the source for the Infuse.
Sorry I couldn't be of more help!
Thanks
Whizzpopper said:
Indeed, I did leave the Infuse. There are so many variables, it's hard to say. The problem could be in the codec or in the settings used to interact with the codec (the media_profiles.xml or media_codecs.xml) or it could be in the kernel as Scott Hart used to suspect (don't know what he thinks now!). As you know, Samsung did not provide an honest release of the source for the Infuse.
Sorry I couldn't be of more help!
Click to expand...
Click to collapse
Thank you for your updates,
Now Scott made a lot of improvement and fixed all most all the bugs for the kernel we are using in infuse 4g,
the only 720p recording and HDMi are not resolved yet, and i guess its not possible due to samasung not provided the source.
Thanks for your efforts on infuse.

Any way to edit video bitrate settings? p6210 UK/Ireland JB

So I have edited the /etc/media_profiles.xml file, but depsite changing the 'mp4' and '720p' bitrate settings the camera app seems to not care and still records at about 12mbps no matter what I do. Anyone able to successfully change the bitrate on this tab in stock JB?
Or on any other official JB for the GT plus for that matter... I'm no quality buff and uploading huge files for 3 hours to youtube bites monkey balls
Bump - the quality of the camera on this device isn't uber high so I don't care that much for 12mbit and the large files it produces...

[Q] LgCamera App bad quality video on Samsung S4

Hey everyone, I have a stock Samsung S4 that I like recording concert videos on.
I had a real big issue with the audio. I might have that fixed with BootlegMic. I have also installed LgCamera in hopes of finding a fixed focus for my video. I found that this app did let me use an external mic that my stock app did not, but I cannot seem to get a decent quality video from it at all
I have tried changing video resolution, video encoder, video bitrates, and file formats. Every conceivable combination that's possible, (I realize any video res past 1920 X 1080 is not supported), but cannot get any video quality even close to the stock video app.
Is there anyone with experience with this problem that can help me get it sorted out?
Thx. Jerry.
This may be late
This may be a late reply, but just in case any one else happens upon this thread, it might be worth looking at Open Camera app. Lots of tweakable settings, fixed focus, exposure lock, external mic, etc.
BTW, I just put together a bootlegMIC and it is fantastic.

Categories

Resources