Vision+ camera and and possibility to edit bitrate?

Thanks for reporting Nerius, have you tried a little bit of recording inside?

Only few seconds, just to test it works OK: didn't had a lot of time in the morning ;) Regarding @ilovecoffee question about how many times we can flash camera firmware: I worked in company who produced electronic using Microchip micro controllers. Some of them was flash based and re-flashing resource was 10K times. So I don't know much about Ambarella, but believe it's should be similar.
 
  • Like
Reactions: StevenQX
Only few seconds, just to test it works OK: didn't had a lot of time in the morning ;) Regarding @ilovecoffee question about how many times we can flash camera firmware: I worked in company who produced electronic using Microchip micro controllers. Some of them was flash based and re-flashing resource was 10K times. So I don't know much about Ambarella, but believe it's should be similar.
Perfect thanks
 
Hi @ilovecoffee have you open the camera to check what is the chipset inside?

I have but the screws holding the lens are so tight on I can't get them off, I ended up stripping it. There is no useful information about the board. There are no chip labels on the backside. I imagine it's next to or around the sensor which is covered by the screwed on lens.


In order to enable the 1080p60fps, it needs to be enabled in the app.

There are 2 ways of doing it (in my mind)
1. You replace the 1080p30fps as 1080p60fps in the firmware itself (if this is possible), and you lose 30fps at 1080p.
2. Litchi puts in a 60fps option for 1080p to call to that mode in the same way it selects 1080p30fps mode from the camera. I could do that with the OEM app most likely but honestly I have no time on my hands...second baby is due any day now.
 
I have but the screws holding the lens are so tight on I can't get them off, I ended up stripping it. There is no useful information about the board. There are no chip labels on the backside. I imagine it's next to or around the sensor which is covered by the screwed on lens.


In order to enable the 1080p60fps, it needs to be enabled in the app.

There are 2 ways of doing it (in my mind)
1. You replace the 1080p30fps as 1080p60fps in the firmware itself (if this is possible), and you lose 30fps at 1080p.
2. Litchi puts in a 60fps option for 1080p to call to that mode in the same way it selects 1080p30fps mode from the camera. I could do that with the OEM app most likely but honestly I have no time on my hands...second baby is due any day now.
Happy for the coming baby for you.

Talking about add resolution is not so easy, it need some modification to the firmware and then a call (if possible) through the app. I've talked with the developer and he has shown me how the dji sdk are used to call the camera resolution and seems that there is no easy way to add a resolution.
 
6MgYhD2.jpg


6YxrdbT.jpg
 
  • Like
Reactions: kernel and StevenQX
Happy for the coming baby for you.

Talking about add resolution is not so easy, it need some modification to the firmware and then a call (if possible) through the app. I've talked with the developer and he has shown me how the dji sdk are used to call the camera resolution and seems that there is no easy way to add a resolution.

Well after a quick glance it looks like it pulls the available recording types from the camera in the function public static RecParam getCameraRecordPara in the VisionCmd file located in dji/midware/tcp/vision

Then it's pulled into MyPopupNumberPickerDouble (which I presume is the function that shows the available recording states when selecting).

So either the app doesn't pull down all the modes that are in the firmware, or there is an on/off switch in the firmware for the different modes (or both).

Edit: also there is a reference in com/dji/preview/SetListView

Code:
         setNode3.setting_name = "\u5f55\u50cf\u5206\u8fa8\u7387\u8bbe\u7f6e";
 setNode3.cmd_type = 24;
 setNode3.arrayCmdValues.add(new SetSubNode("1080I 60", 2130837944, 2130837945, 6));
 setNode3.arrayCmdValues.add(new SetSubNode("1080P 30", 2130837944, 2130837945, 5));
 setNode3.arrayCmdValues.add(new SetSubNode("1080P 25", 2130837944, 2130837945, 7));
 if (!VisionCmd.isGopro()) {
 setNode3.arrayCmdValues.add(new SetSubNode("960P 30", 2130837944, 2130837945, 4));
 setNode3.arrayCmdValues.add(new SetSubNode("960P 25", 2130837944, 2130837945, 8));
 }
 setNode3.arrayCmdValues.add(new SetSubNode("720P 60", 2130837944, 2130837945, 3));
 setNode3.arrayCmdValues.add(new SetSubNode("720P 30", 2130837944, 2130837945, 2));
 setNode3.arrayCmdValues.add(new SetSubNode("480P 30", 2130837944, 2130837945, 1));
 
  • Like
Reactions: StevenQX
Well after a quick glance it looks like it pulls the available recording types from the camera in the function public static RecParam getCameraRecordPara in the VisionCmd file located in dji/midware/tcp/vision

Then it's pulled into MyPopupNumberPickerDouble (which I presume is the function that shows the available recording states when selecting).

So either the app doesn't pull down all the modes that are in the firmware, or there is an on/off switch in the firmware for the different modes (or both).

Can you list the content of these files? And if you can the referement in the firmware from where the function pulls the available recording type, an address or something like that i mean
 
^ I think all that needs to happen is to basically edit SetListView. 60fps is only not working because it's simply not listed as a selectable object.

The code posted above is translated Android smali code into java (so it's not 100% accurate but it's easier to read than smali code for the purposes of understanding).

I'm thinking if you added in an extra line (it's a few in Smali, so you need to be well-versed in reverse engineering). Maybe Litchi wants to test it my theory...

setNode3.arrayCmdValues.add(new SetSubNode("1080p 60", 2130837944, 2130837945, 7));

it COULD work.

It looks to go up sequentially. That last number refers to a command (perhaps to how it talks to the camera).
 
  • Like
Reactions: StevenQX
^ I think all that needs to happen is to basically edit SetListView. 60fps is only not working because it's simply not listed as a selectable object.

The code posted above is translated Android smali code into java (so it's not 100% accurate but it's easier to read than smali code for the purposes of understanding).

I'm thinking if you added in an extra line (it's a few in Smali, so you need to be well-versed in reverse engineering). Maybe Litchi wants to test it my theory...

setNode3.arrayCmdValues.add(new SetSubNode("1080p 60", 2130837944, 2130837945, 7));

it COULD work.

It looks to go up sequentially. That last number refers to a command (perhaps to how it talks to the camera).


Thanks For the info @ilovecoffee. About the camera to look for the processor you've to open the bottom gimbal box, i think it is there :)

Look

1.PNG



PS: the last number is the index used by developer (litch developer show me that) to refer to a resolution programming with dji sdk
 
Last edited:
  • Like
Reactions: ilovecoffee
I'm close to understand the resolution linked to the bitrates table in the firmware! i'm going to make a test in half an hour to confirm if i understand or not

DONE and yes i've understood the resolution referred to the bitrate table...

2.PNG


This is a small test in the house and on the balcony 1920*1080 @ 30FPS

As you can see maximum bitrate has been 30mbit and 25 average as set :D

PS: 158MB for 54 sec of video...:D
 
Last edited:
Thanks For the info @ilovecoffee. About the camera to look for the processor you've to open the bottom gimbal box, i think it is there :)

Look



PS: the last number is the index used by developer (litch developer show me that) to refer to a resolution programming with dji sdk

Ah, I wasn't sure how much of the camera would be located on the board with the lens itself or in the upper portion with the main brains with the gimbal. I highly doubt that could be interchanged with a newer model, unless all things being equal about the hardware, you could maybe flash an FC2000 firmware onto a disassembled newer dashcam. But I forsee that it contains components specifically designed for DJI.

That part of my gimbal/camera is not with me so I'll try to check tomorrow.
 
  • Like
Reactions: StevenQX
Ah, I wasn't sure how much of the camera would be located on the board with the lens itself or in the upper portion with the main brains with the gimbal. I highly doubt that could be interchanged with a newer model, unless all things being equal about the hardware, you could maybe flash an FC2000 firmware onto a disassembled newer dashcam. But I forsee that it contains components specifically designed for DJI.

That part of my gimbal/camera is not with me so I'll try to check tomorrow.
I think it will be better and easier to pull out the maximum from our hardware. 1920x1080 60p would be great. I see that the chipset easy reach 30mbit per second bitrate...so i think it is not impossible to achieve that goal

In my in house video with my firmware version 1.1 i see a quality that indoor I've never seen...without any light on, only with some sun ray from queit closed windows [emoji4]
 
I think it will be better and easier to pull out the maximum from our hardware. 1920x1080 60p would be great. I see that the chipset easy reach 30mbit per second bitrate...so i think it is not impossible to achieve that goal

In my in house video with my firmware version 1.1 i see a quality that indoor I've never seen...without any light on, only with some sun ray from queit closed windows [emoji4]

Didn't tested yours firmware outdoors: still rain and windy :( If you think it's really possible to make 1080p60 it would be incredible. Only few my doubts: why dji didn't enabled it by default ? But it could be some marketing trick (if so: lucky us :) ), or camera/chip really cannot handle it ? Anyway, always interesting and worth to tray.
 
Last edited:
Didn't tested yours firmware outdoors: still rain and windy :( If you think it's really possible to make 1080p60 it would be incredible. Only few my doubts: why dji didn't enabled it by default ? But it could be some marketing trick (if so: lucky us :) ), or camera/chip really cannot handle it ? Anyway, always interesting and worth to tray.
Don't test outdoor the v1 of the firmware, I'll release later a better version v1.1 with really great bitrate improvements. [emoji106]
 
  • Like
Reactions: Nerius
Didn't tested yours firmware outdoors: still rain and windy :( If you think it's really possible to make 1080p60 it would be incredible. Only few my doubts: why dji didn't enabled it by default ? But it could be some marketing trick (if so: lucky us :) ), or camera/chip really cannot handle it ? Anyway, always interesting and worth to tray.

Either it can't handle it or they just wanted it to work with non high speed cards (such as the one that ships with the Phantom). I'll dismantle it tomorrow and we will know for sure.
 
Either it can't handle it or they just wanted it to work with non high speed cards (such as the one that ships with the Phantom). I'll dismantle it tomorrow and we will know for sure.

I am quite sure that we can forget the 1080p60fps mode. :-( Link to A5s datashet... no mention of 1080p60fpsmode.

http://www.ambarella.com/uploads/docs/A5s IP Cam Brief 121013.pdf

A5s mentioned as a chip used in P2V and the camera itself is the same as in P2V+

http://www.wallstreet-online.de/dis...barella-kamera-ueberwachung-steigenden-kursen

"Ambarella is also targeting the nascent market for quadcopters. Quadcopters are equipped with video cameras and enable users to capture high-quality videos of wildlife, sporting events, etc. Ambarella has already seen some success on this front, as DJI Innovations of China recently introduced its Phantom 2 Vision Quadcopter with integrated HD video camera. Phantom 2 is based on Ambarella's A5s camera SoCs, and provides 1080p video recording, along with 14-megapixel images and a wide 140-degree field of view."
 
Last edited:
I am quite sure that we can forget the 1080p60fps mode. :-( Link to A5s datashet... no mention of 1080p60fpsmode.

http://www.ambarella.com/uploads/docs/A5s IP Cam Brief 121013.pdf

A5s mentioned as a chip used in P2V and the camera itself is the same as in P2V+

http://www.wallstreet-online.de/dis...barella-kamera-ueberwachung-steigenden-kursen

"Ambarella is also targeting the nascent market for quadcopters. Quadcopters are equipped with video cameras and enable users to capture high-quality videos of wildlife, sporting events, etc. Ambarella has already seen some success on this front, as DJI Innovations of China recently introduced its Phantom 2 Vision Quadcopter with integrated HD video camera. Phantom 2 is based on Ambarella's A5s camera SoCs, and provides 1080p video recording, along with 14-megapixel images and a wide 140-degree field of view."
If the chipset is the A5S90 support 1080 60p. We've to wait ilovecoffee disassembly :)
 
Hi guys
Can i ask weres the link to the latest cfw, and does it work if my phantom is still in firmware 3.08? Because havent updated since then. Thanks

Cheers
 
Don't test outdoor the v1 of the firmware, I'll release later a better version v1.1 with really great bitrate improvements.
emoji106.png


New firmware update:

Increased bitrate for: 1080 30p (24mbit) - 1080 60i (24mbit) - 720 60p (24mbit) - 720 30p (20mbit) and other resolutions not yet available to be choosen

http://www4.zippyshare.com/v/dxNIUpTZ/file.html

Updated the camera to this latest FW and I must say, it looks the best so far! I did just a quick "land" test on my backyard. This little camera is capable of producing much much better picture quality than DJI thought! :-D
 

Recent Posts

Members online

No members online now.

Forum statistics

Threads
143,086
Messages
1,467,528
Members
104,965
Latest member
Fimaj