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

Offline arnezami

  • Full Member
  • **
  • Posts: 284
  • Liked: 262
  • Likes Given: 346
How am I supposed to interpret the log? before I was just looking as MB positions and parsing that to give you info n the editor. How does this work for p frames?

You could count the number of occurrences of this:

Quote
[force CFR for input from stream 0:0 @ 0x1b354a0] N:0 PTS:0 T:0.000000 POS:0 INTERLACED:0 -> PTS:0 T:0.000000
[AVIOContext @ 0x1b410e0] Statistics: 0 seeks, 1 writeouts

This is repeated for each frame. This is the next:

Quote
[force CFR for input from stream 0:0 @ 0x1b354a0] N:1 PTS:6006 T:400.809307 POS:21432 INTERLACED:0 -> PTS:1 T:0.066735
[AVIOContext @ 0x1ba7cc0] Statistics: 0 seeks, 1 writeouts

Also, the log was extended with the frame number:

Quote
[mpeg4 @ 0x1b49d00] MB pos/size: 0 002:03:01:3521 128 dc: 140 159 28 32 - 128 129, MB_type: 513, MV: 0 0

But I dont think thats a good way of filtering all log lines since error lines will not contain the frame number. So I would go for "[AVIOContext @ 0x1ba7cc0] Statistics: 0 seeks, 1 writeouts" and count the number of times you say that. Keep in mind that 0x1ba7cc0 could be different. Also the number of seeks and writeouts.

« Last Edit: 05/19/2014 07:09 PM by arnezami »

It the latest version of the ffmpeg code on the git repo? I'm thinking of doing a completely new editor in a different way which should lend itself to doing this a bit better.

Offline arnezami

  • Full Member
  • **
  • Posts: 284
  • Liked: 262
  • Likes Given: 346
It the latest version of the ffmpeg code on the git repo? I'm thinking of doing a completely new editor in a different way which should lend itself to doing this a bit better.
I believe not.

My latest update is in this post: http://forum.nasaspaceflight.com/index.php?topic=34597.msg1200144#msg1200144

I believe if you take the latest git and overwrite the h263dec.c from my latest update you should be ok.

Offline arnezami

  • Full Member
  • **
  • Posts: 284
  • Liked: 262
  • Likes Given: 346
Hi guys,

Proof of concept time 8)

Here are the first 4 frames of the fixed_edit8_part_169.ts file.

I did a bit of a quick and dirty hack job but you can see multiple mmb commands are working nicely :).

Here is the mmmb I used:

FRAME0:08:14:-1:15:-15:1:14:-2:1,
09:14:56683,
05:21:-1:0:-20:-5:2,
06:21:-1:-20:-20:6:5,
07:21:-1:0:0:3:5,
08:21:-1:0:0:0:0,
09:21:-1:10:15:0:0,
10:21:-1:15:15:0:0,
11:21:-1:5:10,
12:21:-1:5:3:0:0:-2,
13:21:-1:4:4,
14:21:-1,
28:21:108878,
X:126932:80,
04:27:-1:0:-4:13:7,
05:27:135412,
X:143273:80,
X:143386:80,
06:28:144012
=FRAME1:2:8:21884
=FRAME2:0:0:16348

You can see the P-frames blend in now with the frames before them. Also added an animated GIF just for kicks.  8)

Regards,

arnezami

[edit] I used this command:

Quote
./ffmpeg -r 44999/3003 -mmb `cat mmb_starting_from_169.txt` -debug mb_pos_size -err_detect ignore_err  -i fixed_edit8_part_169.ts -f image2 fixed_edit8_part_169_%03d.png
« Last Edit: 05/19/2014 08:14 PM by arnezami »

As far as the editor functionality is concerned, do p frames only contain some macroblocks per frame? should the user only be able to add mmb operations in certain x/y positions? Or should they be able to do what they want?

Offline arnezami

  • Full Member
  • **
  • Posts: 284
  • Liked: 262
  • Likes Given: 346
As far as the editor functionality is concerned, do p frames only contain some macroblocks per frame? should the user only be able to add mmb operations in certain x/y positions? Or should they be able to do what they want?
No. They contain all macro blocks. Some macro blocks contain very tiny bits of data (like: don't change this block) but it's still data. In fact it's possible P-frames might need some additional features: we might sometime be able to change the block type for example.

In other words: let them change whatever they want.
« Last Edit: 05/19/2014 07:39 PM by arnezami »

OK cool, am I right in thinking there's a whole bunch of extra stuff coming out of the log now? Also some things don't seem to be coming out in "order" as far as frame numbers go.

Quote
[mpeg4 @ 0x60008d3c0] MB pos/size: 0 001:29:08:0 1 dc: 128 128 128 128 - 128 128MB pos/size: 0 006:29:03:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x60009a2a0] , MB_type: 14344, MV: 0 0
[mpeg4 @ 0x6000a36a0] MB pos/size: 0 009:31:00:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x60009d440] MB pos/size: 0 007:30:02:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x60008dde0] MB pos/size: 0 002:29:07:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x600090f80] MB pos/size: 0 003:30:06:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x6000a0500] MB pos/size: 0 008:31:01:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x600094040] MB pos/size: 0 004:28:05:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x6000971e0] MB pos/size: 0 005:29:04:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x60008d3c0] MB pos/size: 0 001:30:08:0 1 dc: 128 128 128 128 - 128 128, MB_type: 14344, MV: 0 0

Is that normal?

I also have a few lines that look like this:

Quote
[mpeg4 @ 0x600090f80] MB pos/size: 0 000:09:20:0 1 dc: 0 0 0 0 - 0 0MB pos/size: 0 000:10:19:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x6000971e0] MB pos/size: 0 000:11:18:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x6000971e0] , MB_type: 14344, MV: 0 0

There's 2 MB pos/size things on 1 line and a little further down some stuff is missing.

Offline arnezami

  • Full Member
  • **
  • Posts: 284
  • Liked: 262
  • Likes Given: 346
OK cool, am I right in thinking there's a whole bunch of extra stuff coming out of the log now? Also some things don't seem to be coming out in "order" as far as frame numbers go.

Quote
[mpeg4 @ 0x60008d3c0] MB pos/size: 0 001:29:08:0 1 dc: 128 128 128 128 - 128 128MB pos/size: 0 006:29:03:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x60009a2a0] , MB_type: 14344, MV: 0 0
[mpeg4 @ 0x6000a36a0] MB pos/size: 0 009:31:00:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x60009d440] MB pos/size: 0 007:30:02:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x60008dde0] MB pos/size: 0 002:29:07:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x600090f80] MB pos/size: 0 003:30:06:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x6000a0500] MB pos/size: 0 008:31:01:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x600094040] MB pos/size: 0 004:28:05:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x6000971e0] MB pos/size: 0 005:29:04:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x60008d3c0] MB pos/size: 0 001:30:08:0 1 dc: 128 128 128 128 - 128 128, MB_type: 14344, MV: 0 0

Is that normal?
Nope. Never seen that before. Which command did you use?
Quote
I also have a few lines that look like this:

Quote
[mpeg4 @ 0x600090f80] MB pos/size: 0 000:09:20:0 1 dc: 0 0 0 0 - 0 0MB pos/size: 0 000:10:19:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x6000971e0] MB pos/size: 0 000:11:18:0 1 dc: 0 0 0 0 - 0 0, MB_type: 14344, MV: 0 0
[mpeg4 @ 0x6000971e0] , MB_type: 14344, MV: 0 0

There's 2 MB pos/size things on 1 line and a little further down some stuff is missing.
Same question.

You use this in linux right?

Did you clone the latest version from git and added my h263dec.c?

I'm compiling for windows under cygwin, so could be that, using the latest git repo with that file changed.

Offline arnezami

  • Full Member
  • **
  • Posts: 284
  • Liked: 262
  • Likes Given: 346
I'm compiling for windows under cygwin, so could be that, using the latest git repo with that file changed.
'
Which command you use?

Offline Llian Rhydderch

  • Full Member
  • ****
  • Posts: 944
  • Terran Anglosphere
  • Liked: 692
  • Likes Given: 6230
Hi guys,

Proof of concept time 8)

Here are the first 4 frames of the fixed_edit8_part_169.ts file.

I did a bit of a quick and dirty hack job but you can see multiple mmb commands are working nicely :).

Here is the mmmb I used:

FRAME0:08:14:-1:15:-15:1:14:-2:1,
---snip--
You can see the P-frames blend in now with the frames before them. Also added an animated GIF just for kicks.  8)

Regards,

arnezami

[edit] I used this command:

Quote
./ffmpeg -r 44999/3003 -mmb `cat mmb_starting_from_169.txt` -debug mb_pos_size -err_detect ignore_err  -i fixed_edit8_part_169.ts -f image2 fixed_edit8_part_169_%03d.png

Thanks Arnezami!  It's great to see those particular four frames as they show the supersonic exhaust stream impacting the water over time.

This is really awesome work you are all doing! 

There are a great many of us watching the results you are getting in the OpenSource video recovery effort!  We are very appreciative of what all of you are building, a first-rate video documenting an important first in history of human technology, right before our eyes.
Re arguments from authority on NSF:  "no one is exempt from error, and errors of authority are usually the worst kind.  Taking your word for things without question is no different than a bracket design not being tested because the designer was an old hand."
"You would actually save yourself time and effort if you were to use evidence and logic to make your points instead of wrapping yourself in the royal mantle of authority.  The approach only works on sheep, not inquisitive, intelligent people."

I'm compiling for windows under cygwin, so could be that, using the latest git repo with that file changed.
'
Which command you use?

This one

Quote
ffmpeg.exe -r 44999/3003 -mmb `cat mmb.txt` -debug mb_pos_size -err_detect ignore_err -i fixed_edit8_part_169.ts -f image2 fixed_edit8_part_169_%03d.png

Edit: this is mmb.txt "FRAME0:0:0:-1=FRAME1:0:0:-1=FRAME2:0:0:-1=FRAME3:0:0:-1"
« Last Edit: 05/19/2014 08:05 PM by IainCole »

Offline mvpel

  • Full Member
  • ****
  • Posts: 1124
  • New Hampshire
  • Liked: 1295
  • Likes Given: 1686
You can see the P-frames blend in now with the frames before them. Also added an animated GIF just for kicks.  8)



Ultra-sick excellent, my friend. Well done!! Even the reflection off the body of the rocket - niiiice!  ;D That's one heck of a proof of concept!

Edit: Elon should Tweet that landing GIF!! Someone call him!
« Last Edit: 05/19/2014 08:50 PM by mvpel »
"Ugly programs are like ugly suspension bridges: they're much more liable to collapse than pretty ones, because the way humans (especially engineer-humans) perceive beauty is intimately related to our ability to process and understand complexity. A language that makes it hard to write elegant code makes it hard to write good code." - Eric S. Raymond

Offline Asmegin

  • Member
  • Posts: 35
  • Canada
  • Liked: 21
  • Likes Given: 3
Amazin work, arnezami! Can't wait to get started on the pframes :D

"It always seems impossible until it's done"

Offline moralec

Proof of concept time 8)


That gif looks awsome! (I'm adding it on the wiki).


On other news the table in the wiki is ready, for those that are fixing the headers on the pframes :)

Offline SwissCheese

  • Full Member
  • *
  • Posts: 165
  • Liked: 250
  • Likes Given: 94
I know, but I cannot manage to make the multiple mmb work correctly, still the same issue... Maybe I should try to install everything on a unix/linux machine?
Are you using the mmb's your earlier created for the mpg4-img files? Because they are indeed incompatible with multiple frame decoding. In other words: they are useless.

You have to create new mmb's by using the multiple mmb format and with the fixed_edit8_part_169.ts file. Or is that also not working for you?

I will try it myself soon.

Regards,

arnezami

[edit] To make it absolutely clear: you should not use the mpg4-img files for P-frames!

That's what I'm doing, just copy paste the command lines you gave, and it doesn't work... It only works for the first frame. Already spent one day trying to understand why, but nothing... It reads correctly the mmb for all frames, just does not apply them correctly.

I'm trying to install ffmpeg on a unix machine, but since I have no superuser rights, I have issues, can't get ffmpeg using yasm, so I cannot compile... and I'm really no linux/unix specialist :P

Offline arnezami

  • Full Member
  • **
  • Posts: 284
  • Liked: 262
  • Likes Given: 346
Proof of concept time 8)


That gif looks awsome! (I'm adding it on the wiki).


On other news the table in the wiki is ready, for those that are fixing the headers on the pframes :)
I have difficulty finding stuff in the wiki now. Shouldn't the stuff we are working on be right at the top? Also this pframe pages, how do I find them? I'm really confused atm.

Offline catdlr

  • Member
  • Senior Member
  • *****
  • Posts: 5578
  • Viewed launches since the Redstones
  • Marina del Rey, California, USA
  • Liked: 2165
  • Likes Given: 1508
Proof of concept time 8)


That gif looks awsome! (I'm adding it on the wiki).


On other news the table in the wiki is ready, for those that are fixing the headers on the pframes :)
I have difficulty finding stuff in the wiki now. Shouldn't the stuff we are working on be right at the top? Also this pframe pages, how do I find them? I'm really confused atm.

Click on any of the three links in the "Work In Progress"
Tony De La Rosa

Offline mvpel

  • Full Member
  • ****
  • Posts: 1124
  • New Hampshire
  • Liked: 1295
  • Likes Given: 1686
I'm trying to install ffmpeg on a unix machine, but since I have no superuser rights, I have issues, can't get ffmpeg using yasm, so I cannot compile... and I'm really no linux/unix specialist :P

I am, so let me give you a hand. I set up a virtual CentOS 6.5 box on my Windows 7 laptop just yesterday, in fact. Download and install Oracle Virtualbox, and then find the image at http://virtualboxes.org/images/centos/ - open that up as a virtual disk, and then you'll have your own full-fledged Linux system complete with yum repositories already configured for installing software like gcc and yasm.
"Ugly programs are like ugly suspension bridges: they're much more liable to collapse than pretty ones, because the way humans (especially engineer-humans) perceive beauty is intimately related to our ability to process and understand complexity. A language that makes it hard to write elegant code makes it hard to write good code." - Eric S. Raymond

Offline moralec

Proof of concept time 8)


That gif looks awsome! (I'm adding it on the wiki).


On other news the table in the wiki is ready, for those that are fixing the headers on the pframes :)
I have difficulty finding stuff in the wiki now. Shouldn't the stuff we are working on be right at the top? Also this pframe pages, how do I find them? I'm really confused atm.

Thanks for the feedback. I'm moving that section up now.


Tags: