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

Offline SwissCheese

  • Full Member
  • *
  • Posts: 164
  • Liked: 249
  • Likes Given: 90
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1100 on: 05/28/2014 06:24 PM »
One p-frame looks very strange, with "too intense" colors, could anyone come with an explanation and maybe a solution to this?

It's frame 227 / part 12-19

mmb: 0:0:-1,30:1:10681,10:3:-1,31:3:19630

I checked the VOP quants in this section and that frame does look like a bit of an outlier. Here are the VOP quants in fixed_edit8_part_209.ts:
1  00100
2  00010
3  00001
4  00001
5  00010
6  00010
7  00010
8  00001
9  00001
10 00000
11 00001
12 00001
13 00001
14 00001
15 00001
16 00001
17 00001
18 00001
19 00111
20 00001

My first guess is that the correct VOP quant is 00001, and there's a double flip, but other values are possible. I attach a ts file where that VOP quant is set to 00001. It's at offset x43A9B so other values can be tried. I can't check it myself as I'm yet to establish a proper setup for multiframe work. Let me know how it looks.

Waouh very nice! It solves the issue!!!

Offline Chris Bergin

« Last Edit: 05/28/2014 06:41 PM by Chris Bergin »

Offline Shanuson

  • Full Member
  • **
  • Posts: 272
  • Liked: 184
  • Likes Given: 468
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1102 on: 05/28/2014 06:47 PM »
One p-frame looks very strange, with "too intense" colors, could anyone come with an explanation and maybe a solution to this?

It's frame 227 / part 12-19

mmb: 0:0:-1,30:1:10681,10:3:-1,31:3:19630

I checked the VOP quants in this section and that frame does look like a bit of an outlier. Here are the VOP quants in fixed_edit8_part_209.ts:
<snip>
10 00000
<snip>

My first guess is that the correct VOP quant is 00001, and there's a double flip, but other values are possible. I attach a ts file where that VOP quant is set to 00001. It's at offset x43A9B so other values can be tried. I can't check it myself as I'm yet to establish a proper setup for multiframe work. Let me know how it looks.

VOP-quant should never be 0.
« Last Edit: 05/28/2014 06:52 PM by Shanuson »

Offline saliva_sweet

  • Full Member
  • ****
  • Posts: 544
  • Liked: 415
  • Likes Given: 1309
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1103 on: 05/28/2014 06:56 PM »
VOP-quant should never be 0.

Doublechecked. Frame 218 has VOP quant 0 (offset in file x21027) and it seems to look fine.
Edit: Maybe it should be set to 1 still for the sake of correctness.
« Last Edit: 05/28/2014 07:06 PM by saliva_sweet »

Offline princess

  • Member
  • Posts: 65
  • Liked: 106
  • Likes Given: 25
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1104 on: 05/28/2014 07:02 PM »
My latest fix for the part 12 TS file (command line options for the tsrepair program posted earlier):

-fix:55,noaf/127,pid,20/405,pes/405,ptsauto/405,pframe/423,pay,3/426,noaf/
430,noaf/431,noaf/486,noaf/487,noaf/657,pid,1fff/658,noaf/658,pay,0/
658,pid,3e8/660,noaf/660,pay,2/661,pay,3/971,noaf/996,noaf/1046,pid,1fff/
1072,noaf/1122,pay,10/1124,noaf/1124,pay,12/1439,noaf/1450,noaf/
1475,ptsauto/1477,pid,3e8/1477,pay,4/1480,pay,6


Offline princess

  • Member
  • Posts: 65
  • Liked: 106
  • Likes Given: 25
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1105 on: 05/28/2014 07:22 PM »
If people want to help out with the TS file fixing that would be great. The -fix option in the tsrepair program is split into subfields with the forward slash character '/'. Each subfield takes a packet number (starting from 0), a command, and an optional parameter.

Commands are:

af <number> - Set the length of the AF (adaptation field). This adds an AF if none is present.

noaf - Remove an existing adaptation field.

nopcr - Remove a PCR timestamp.

nopusi - Remove a Payload Unit Start Indicator flag.

pay <number> - Set the "contains payload" flag, and set the PCC (payload continutity counter) to the given value.

pcr <ticks> - Set the PCR timestamp to the given number of ticks (in decimal).

pes - Indicate that it's a PES header packet. This is used for the start of I-frames and P-frames. It sets the AF to 7 bytes, adds a Payload Unit Start Indicator, sets the PID to the SpaceX PID of 0x03e8, sets the "contains payload" flag, and sets the PES header bytes correctly for the SpaceX video.

pframe - Corrects the 4-byte MPEG4 P-frame header.

pid <number> - Sets the PID to the given number. The number is specified in hexadecimal, and is usually either 3e8 for data packets or 1fff for padding packets.

ptsauto - Sets the PTS timestamp by lagging the existing PCR timestamp by 10,000 ticks. The PCR must be set correctly for this to work.

pusi - Sets the Payload Unit Start Indicator. This is usually only set on PES header packets (the start of I-frames or P-frames).

If you need any more information please send me a message!
« Last Edit: 05/28/2014 07:25 PM by princess »

Offline Shanuson

  • Full Member
  • **
  • Posts: 272
  • Liked: 184
  • Likes Given: 468
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1106 on: 05/28/2014 08:16 PM »
Hi, since we are really close to have a finished fixed ts-file version (i am waiting for princess to send me her ts-parts 3,4,5,6,9,10 and 12 (those are the ones I still need fixed, rest is done)
Do you guys think we should keep the P-frames split up for each i-frame or merge them back together to one large file?
What is easier to work with?

Cheers,
Shanuson

Long MMBs should be handled by the editor now.... max query string length =(

Will be updating the editor with all of the latest ts files once the people working on that have finished the whole set, hopefully pretty soon =)

Offline princess

  • Member
  • Posts: 65
  • Liked: 106
  • Likes Given: 25
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1108 on: 05/28/2014 09:28 PM »
I am waiting for princess to send me her ts-parts 3,4,5,6,9,10 and 12 (those are the ones I still need fixed, rest is done)

Here are the files you need, let me know if you need anything else!

Offline Shanuson

  • Full Member
  • **
  • Posts: 272
  • Liked: 184
  • Likes Given: 468
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1109 on: 05/28/2014 09:36 PM »
I am waiting for princess to send me her ts-parts 3,4,5,6,9,10 and 12 (those are the ones I still need fixed, rest is done)

Here are the files you need, let me know if you need anything else!
Thanks
I will have a final version in a few hours.

Offline saliva_sweet

  • Full Member
  • ****
  • Posts: 544
  • Liked: 415
  • Likes Given: 1309
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1110 on: 05/28/2014 09:51 PM »
I made some changes to iframe 72. I think this one behaves better with the subsequent P frames. Unfortunately this ruins a lot of great work by someone who meticulously fixed all chroma/luma issues. It also looks very harsh and high contrast.

Offline wronkiew

  • Full Member
  • *
  • Posts: 186
  • 34.502327, -116.971697
  • Liked: 105
  • Likes Given: 121
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1111 on: 05/28/2014 09:57 PM »
Hi, since we are really close to have a finished fixed ts-file version (i am waiting for princess to send me her ts-parts 3,4,5,6,9,10 and 12 (those are the ones I still need fixed, rest is done)
Do you guys think we should keep the P-frames split up for each i-frame or merge them back together to one large file?
What is easier to work with?

Cheers,
Shanuson

I have found the split files to be helpful. For example if I want to try a number of different mmbs it takes less time if fewer frames have to be processed.

Offline Shanuson

  • Full Member
  • **
  • Posts: 272
  • Liked: 184
  • Likes Given: 468
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1112 on: 05/28/2014 10:26 PM »
<snip>

Summary:
I am surprised that the interlace flag is 0!!
I can restore parts of the VOP-header. Some things I am not sure what they should be.
Especially vop_quant, vop_fcode_forward and ref_select. Somebody with more knowledge about the decoding  of makroblocks could help here maybe?
Maybe I can see patterns when I checked all P-Frames.
I have to update part of what I posted above:
First like michaelni said, there is no ref_select_code

And I overlooked that if the VOP_time_increment gets modulod (is smaller than 3003) there is one bit added before it (I marked it purple below). so everything shifts by 1 bit.

P-Frame VOP header part:
(1/5)x       xx       x(e/c)    0(even x) (4/5)x
 0x101xxxx xxxxxxxx xxxx11x0  0000xxx0      01xxxxxx

vop_coding type - 00 = I-Frame ; 01 = P-frame
modulo time base = 0  (if time_increment is smaller than 3003, there will be single 1 before that 0)
marker bit
vop_time_increment <- this is increasing from frame to frame by 3003 (fixed_vop_time_increment) modulo 44999 (vop_time_increment_resolution), so it is easy to calculate what it should be.
marker bit
vop_coded -> yes
vop_rounding_type -> alternating between 1 and 0
intra_dc_vlc_thr = 000
vop_quant 00xxx
vop_fcode_forward  <- could this always be 001? my guess but i am not sure.
and now follow the makroblocks....

Edit:
I-Frame VOP header part:
(1/5)x       xx       xc    (0/1)x     x
 0x101xxxx xxxxxxxx xxxx1100  000xxx0x xxxx

vop_coding type - 00 = I-Frame ; 01 = P-frame
modulo time base = 0 (if time_increment is smaller than 3003, there will be single 1 before that 0)
marker bit
vop_time_increment <- this is increasing from frame to frame by 3003 (fixed_vop_time_increment) modulo 44999 (vop_time_increment_resolution), so it is easy to calculate what it should be.
marker bit
vop_coded -> yes
vop_rounding_type -> alternating between 1 and 0
intra_dc_vlc_thr = 000
vop_quant 00xxx
vop_fcode_forward  <- could this always be 001? my guess but i am not sure.
and now follow the makroblocks....


Offline Chris Bergin

This is why we needed a youtube version ;D

Elon Musk ‏@elonmusk  4m 
 More
 Amazing repair job of Falcon 9 ocean landing vid by @NASASpaceflight forum. Now shows leg deploy http://www.youtube

Totally distracted me during Soyuz docking. I hope he doesn't do that again! (;D Joke!)

Again, that's all deserved for what you guys are doing. It's direct praise from one of the most important people on the planet right now. You're a motivated bunch, but I'm sure that helps while you dig through all these bytes of data :)
« Last Edit: 05/29/2014 02:04 AM by Chris Bergin »

Offline Shanuson

  • Full Member
  • **
  • Posts: 272
  • Liked: 184
  • Likes Given: 468
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1114 on: 05/29/2014 02:05 AM »
Thanks to princesses really good work, it was relatively easy to finally put together a raw_final_fixed.ts (well final for me, everything important/necessary  is fixed in there I hope).
It produces 283 Frames, and it has no! missing ts-packets (CC - discontinuities) for PID 1000.
For that one P-frame i talked about before. I added the relevant data a 2nd time into the file and put the 2nd header there. They are frame 254 and 255.  Frame 254 was shorten at the end by a few packets to make the CC continuous without too much editing (those packets should belong to Frame 255 anyways so it does not matter if they are there or not). So P-Frame 254 has a lot of waste data at the end and P-frame 255 has even a bit more waste data before the first MB. I was not happy with adding the header at the suggested point because it would most like mean that one P-frame has too much and the next not enough data.


I add the ts.file here.
iframe png's and parts follow.

IainCole already got the parts to add them to the online editor separately.

And i hope it does not require to much work to get a nice new video up like we had before.

Also a few Iframes contain a bit more data, most likely at the end!

Cheers
Shanuson

Offline Shanuson

  • Full Member
  • **
  • Posts: 272
  • Liked: 184
  • Likes Given: 468
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1115 on: 05/29/2014 02:11 AM »
The first 40 Frames (2 I-frames) are most likely really hard to be repaired. A lot of messed up data in there.

Here are the parts.
Next will be the pngs.
Here are the first few:

Offline Shanuson

  • Full Member
  • **
  • Posts: 272
  • Liked: 184
  • Likes Given: 468
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1116 on: 05/29/2014 02:13 AM »
PNGs for I-Frames 7-15

Offline Lar

  • Fan boy at large
  • Global Moderator
  • Senior Member
  • *****
  • Posts: 9948
  • Saw Gemini live on TV
  • A large LEGO storage facility ... in Michigan
  • Liked: 6761
  • Likes Given: 4545
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1117 on: 05/29/2014 02:45 AM »
PS Sorry Princess. The forum simply can't handle those mega long strings, so I've had to cut them....but I'm sure people can just merge them when using (they are otherwise intact).

No problem Chris, thanks for fixing it up. It looked OK in preview!

A suggestion, make your code accept a space after the comma, without treating it as data. (if you're using any kind of canned argument parsing code that should be very easy)... Then when you or anyone posts strings, spaces will allow for good wrap points without any fuss.

(your code may well actually already accept spaces, I didn't actually check.. heck it probably does)
"I think it would be great to be born on Earth and to die on Mars. Just hopefully not at the point of impact." -Elon Musk
"We're a little bit like the dog who caught the bus" - Musk after CRS-8 S1 successfully landed on ASDS OCISLY

Offline mvpel

  • Full Member
  • ****
  • Posts: 1124
  • New Hampshire
  • Liked: 1295
  • Likes Given: 1686
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1118 on: 05/29/2014 03:58 AM »
I made some changes to iframe 72. I think this one behaves better with the subsequent P frames. Unfortunately this ruins a lot of great work by someone who meticulously fixed all chroma/luma issues. It also looks very harsh and high contrast.

72 looked pretty good already - do you have an animation of how this one fits the pframes better? I'm not sure what you mean.



Looks like a ray of sunshine on the body as it breaks the clouds.
"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 wronkiew

  • Full Member
  • *
  • Posts: 186
  • 34.502327, -116.971697
  • Liked: 105
  • Likes Given: 121
Re: SpaceX Falcon 9 v1.1 CRS-3 Splashdown Video Repair Task Thread
« Reply #1119 on: 05/29/2014 05:40 AM »
Here's an example of frame 94 with redrawn timestamps. The top part is the isolated pframe, the middle is the output from ffmpeg, and the bottom is repainted.

Only the digits which are known with certainty are modified, so this should be a faithful representation of those pixels. The 1/10 second place is interlaced between 6 and 7. The last digit is not known, so it is left scrambled.

Tags: