[DJI-log-discuss] Tiny 0x39 records with unknown contents

Dennis Derichs harms.dennis at gmail.com
Tue Jan 19 02:16:55 PST 2021


Using my Mavic Air 2 and the DJI Fly app on Android (file version 12) I
recently took a timelapse video. Parsing the logs, I noticed a myriad of
type 0x39 records that did not contain JPG data.

While JPG records are usually structured quite differently from regular
records, these ones appear to be regular records. Each one begins with the
type 0x39 followed by a length of 0x05. They are also properly terminated
with 0xff. Here are two examples:

39 05 77 84 64 59 F5 FF
39 05 46 7C F4 6F E0 FF

I suspect that the timelapse mode causes these records to show up. The
timelapse video gets recorded by the drone as a series of still images.
Each frame results in one of these 0x39 records. Unscrambling the data
shows that their payload always begins with the same 3 bytes:

01 00 05 b0
01 00 05 4b
01 00 05 14

Your current code ignores the record length for type 0x39, skips the first
two bytes of the payload and then checks for the SOI marker. If not found,
it skips past the next 0xff. I propose a change to this code. If the
payload begins with 00 00, an SOI marker and image data should be expected.
Otherwise the record length should be observed and the payload unscrambled
like that of any other record.

-Dennis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ns.live555.com/pipermail/dji-log-discuss/attachments/20210119/2832e92e/attachment.htm>


More information about the DJI-log-discuss mailing list