Author Topic: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread  (Read 962548 times)

Offline gospacex

  • Senior Member
  • *****
  • Posts: 3028
  • Liked: 537
  • Likes Given: 604
In order to fix this you could try to restore the bitstream itself. But this is very hard to do and extremely time consuming (fixing compressed data is no joke!). The worse is: you don't know when the bad bits stop.

If data errors are random, if garbled bits are not occurring in bursts, but randomly, then fixing garbled block entails inverting one bit and looking whether image got better in the block and after it. If it got worse, you inverted a "good" bit. If it got better, you inverted a corrupted one.

Thankfully, there aren't than many bits in, say, 32 bytes - only 256.

Nope. Errors tend to come in bursts I've seen, which makes sense.

It makes sense if no bit interleaving encoding was employed on the data link.

I hoped it *has been* used, making error bit flips spread instead of bunching up. But maybe SpaceX didn't go for a more expensive hardware with those capabilities...

Offline lgjy98d

  • Member
  • Posts: 10
  • Liked: 6
  • Likes Given: 0
I've started experimenting with I-Frame 12 and doing some automated analysis.

better.png was produced with -mmb 0:0:-1,1:0:583

Legend for -annotated images:
* Red circles annotate the MBs that disappeared from base.png after the modification
* Green circles annotate the MBs that appeared in the better.png after -mmb modification
* Crossed MBs are ones that considered corrupted by ffmpeg

I'd be glad to get feedack if anyone sees any additional information from the annotated images.

Offline Jakusb

  • Full Member
  • ****
  • Posts: 889
  • NL
  • Liked: 645
  • Likes Given: 351
I've started experimenting with I-Frame 12 and doing some automated analysis.

better.png was produced with -mmb 0:0:-1,1:0:583

Legend for -annotated images:
* Red circles annotate the MBs that disappeared from base.png after the modification
* Green circles annotate the MBs that appeared in the better.png after -mmb modification
* Crossed MBs are ones that considered corrupted by ffmpeg

I'd be glad to get feedack if anyone sees any additional information from the annotated images.

Just curious, but why is the time stamp so clear? And does it help to know it should be much further to lower left corner?
It is the one big constant in a frames and pretty predictable what it should be.

Ps: btw, amazing what work is being put into this. Kudos! :)
« Last Edit: 05/06/2014 07:57 PM by Jakusb »

Offline mlindner

  • Software Engineer
  • Senior Member
  • *****
  • Posts: 2040
  • Space Capitalist
  • Silicon Valley, CA -- previously in Ann Arbor, MI
  • Liked: 665
  • Likes Given: 253
Just curious, but why is the time stamp so clear? And does it help to know it should be much further to lower left corner?

Luck. Yes.
« Last Edit: 05/06/2014 08:32 PM by mlindner »
Internal combustion engine in space. It's just a Bad Idea.TM - Robotbeat

Offline moralec

Hi Guys,

My 2 CC. A little improvement on Frame 11:

mmb=0:0:10008


Offline SwissCheese

  • Full Member
  • *
  • Posts: 165
  • Liked: 250
  • Likes Given: 94
Hack job on iframe7. I can do better, but probably am calling quits for tonight.

-mmb X:18494:01,19:05:-1,19:06:20616,15:12:-1,17:12:44357

I could improve a bit the image with the command:

-mmb X:18494:01,20:05:-1,02:06:18794,15:12:-1,19:12:45121,19:15:-1,20:15:62858,21:15:-1,29:15:64161

I could compile ffmpeg with windows using MinGW (had to add some packages: yasm, gettext, glib, pkg-config), the only thing that does not work is to write the png, so I had to write a jpg.

Offline John_L

Not sure if anyone's  interested or not but I wrote an MS-DOS batch file to automate the process a bit if anyone's interested in running multiple MMB values:

set a=1
for /f "tokens=1 delims=" %%i in (file.txt) do call :part2 %%i
goto :fin
:part2
ffmpeg -mmb %%i -debug mb_pos_size -err_detect ignore_err -s:0 704:480 -i iframe_1.mpg4-img -f image2 img-%a%.png
set /a a+=1
goto :eof
:fin

copy the above text into a text file and save as "name.bat" where name is the name you want to give it, mine's simply named "doit.bat"

then create a text file with just the mmb values... i.e.:

0:0:-1,0:24:19233
0:0:-1,0:24:19234
0:0:-1,0:24:19235

... or whatever values you want after the -mmb in the ffmpeg command line.  Save this out as "file.txt".

Then, when you type "doit" from the command line the batch file will read in the first value from file.txt and plug it into the ffmpeg command and execute it, the resultant output files will be named "img-x.png" where x is a number.  Don't forget to edit which iframe you're working on as well.

I also installed a program called ImageMagick-6.8.9-Q16.  It has a display program that can be called from the command line.  If you install it, you can copy imdisplay.exe to the directory that contains ffmpeg and the batch files (and iframe of course), and you can edit the batch file to include "imdisplay img-%a%.png" after the ffmpeg command line in the call and it will display them as well.  Like so:

set a=1
for /f "tokens=1 delims=" %%i in (file.txt) do call :part2 %%i
goto :fin
:part2
ffmpeg -mmb %%i -debug mb_pos_size -err_detect ignore_err -s:0 704:480 -i iframe_1.mpg4-img -f image2 img-%a%.png
imdisplay img-%a%.png
set /a a+=1
goto :eof
:fin


Not sure if anyone wants this or not, but thought I'd throw it out there if anyone wishes to use it.

John.


Offline moralec

I was also able to recover the timestamp on frame 6  :)

mmb=0:0:61341
« Last Edit: 05/06/2014 09:11 PM by moralec »

Offline grythumn

  • Full Member
  • **
  • Posts: 220
  • Liked: 128
  • Likes Given: 151
There was a request for updated cygwin (windows) binary. I split the DLLs out from the executable; if you grabbed the last package, you don't need the DLLs again.

-Bob

Awesome, thanks for the update :)

We created a way of doing some of the work through a mini web app. You can find it here: http://spacexlanding.wikispaces.com/Online+Editor

Offline mlindner

  • Software Engineer
  • Senior Member
  • *****
  • Posts: 2040
  • Space Capitalist
  • Silicon Valley, CA -- previously in Ann Arbor, MI
  • Liked: 665
  • Likes Given: 253
We created a way of doing some of the work through a mini web app. You can find it here: http://spacexlanding.wikispaces.com/Online+Editor

Which is really cool and awesome. People don't have to compile anything now.
Internal combustion engine in space. It's just a Bad Idea.TM - Robotbeat

Offline moralec

We created a way of doing some of the work through a mini web app. You can find it here: http://spacexlanding.wikispaces.com/Online+Editor

Which is really cool and awesome. People don't have to compile anything now.

Working like a charm! I got this with iframe 12 and 0:0:1001:


 

Offline arnezami

  • Full Member
  • **
  • Posts: 284
  • Liked: 262
  • Likes Given: 346
We created a way of doing some of the work through a mini web app. You can find it here: http://spacexlanding.wikispaces.com/Online+Editor

Which is really cool and awesome. People don't have to compile anything now.

Working like a charm! I got this with iframe 12 and 0:0:1001:
Great work!

Ok. I will say this now. This is a picture of an intact falcon 9 first stage slightly embedded into water. You can't see the full legs because the tips are under water. You can see small parts of them: only the top. They look "thinner" and shorter that way.

That' s my take on it now. I really do think we have given SpaceX visual proof they did it. :) I am sure they are enjoying this :) :)

And it would only make sense that they would give out video until right after spashdown, where they know (from telemetry) that everything was fine.
« Last Edit: 05/06/2014 10:17 PM by arnezami »

Offline SwissCheese

  • Full Member
  • *
  • Posts: 165
  • Liked: 250
  • Likes Given: 94
iframe_11 with -mmb 0:0:-1,0:13:32118,0:25:-1,1:25:82578,7:29:-1

(edited)
« Last Edit: 05/07/2014 11:31 AM by SwissCheese »

Offline saliva_sweet

  • Full Member
  • ****
  • Posts: 560
  • Liked: 431
  • Likes Given: 1381
Hi people.

I got a bit of sea from frame 6 and moved the legs and the clock from previous post.

edit: forgot the main bit -mmb 0:0:583,00:01:6129,17:14:64694,2:25:202509
« Last Edit: 05/07/2014 12:03 AM by saliva_sweet »

Offline SwissCheese

  • Full Member
  • *
  • Posts: 165
  • Liked: 250
  • Likes Given: 94
I tried to recenter iframe 12 from previous solution, difficult...

-mmb 0:0:31664,40:03:-1,41:03:43222,39:6:-1,40:06:53586,39:8:-1,0:9:59654,36:9:-1,0:10:62314,
36:10:-1,40:10:64640,40:12:-1,0:13:69892,0:15:-1,1:15:74005,39:16:-1,0:17:77748,39:17:-1,0:18:79454

(edit: see http://forum.nasaspaceflight.com/index.php?topic=34597.msg1194745#msg1194745 for a better version)
« Last Edit: 05/07/2014 01:20 PM by SwissCheese »

Offline grythumn

  • Full Member
  • **
  • Posts: 220
  • Liked: 128
  • Likes Given: 151
We created a way of doing some of the work through a mini web app. You can find it here: http://spacexlanding.wikispaces.com/Online+Editor

Very cool. You may want to add the debug log output to the page somehow... you're kind of shooting blind without it. Apologies if it is there and I missed it...

Hope the hosting doesn't cost you an arm and a leg...

-Bob

Offline grythumn

  • Full Member
  • **
  • Posts: 220
  • Liked: 128
  • Likes Given: 151
Improvement on Frame 9. You can sort of see part of the rocket body now, but if I try to shift it left it goes all green blocks on me again.

The null MMBs help a lot.

20:04:-1:0:0:-5:0:0:0,26:04:16025,21:07:-1,22:07:27346,05:15:-1,09:15:73077,
12:15:-1,20:15:73574,24:15:-1,32:15:74745,1:16:-1,4:16:77775,
8:16:-1,9:16:78463,26:16:-1,27:16:81473,28:16:-1,29:16:82604,31:16:82767,
36:16:-1,37:16:83144

-Bob
« Last Edit: 05/07/2014 01:03 AM by grythumn »

Offline mmeijeri

  • Senior Member
  • *****
  • Posts: 7454
  • Martijn Meijering
  • NL
  • Liked: 76
  • Likes Given: 171
It is a bit early for this, but I notice there are many slightly discoloured blocks in the otherwise seemingly correctly restored areas. Could these be single bit errors in the lowest order DCT coefficients? If so, we may eventually be able to correct them by hand. Maybe we can even semi-automate the process.
We will be vic-toooooo-ri-ous!!!

Tags: