←back to thread

637 points robinhouston | 2 comments | | HN request time: 0.453s | source
Show context
dvt ◴[] No.36209812[source]
For those that are curious, these are the messages: https://imgur.com/a/y0mXbAk

Decoded using:

    ffmpeg -i input.mp4 -vf tmix=frames=36:weights="1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1" output.mp4
    ffmpeg -i output.mp4 -vf "curves=all='0/0 0.05/1 1/1'" bright.mp4
We need to use the second command, as frame averaging in ffmpeg lowers luminosity. There's probably a way to cleverly get around this, but I'm no ffmpeg expert. The secrets are: "WE LOVE YOU," some alien heads, "UNIVERSE IS THE GATE," and "MIND IS THE LOCK (?—the last word is a bit hard to read)." Pretty neat, fun puzzle, though there's probably ways to make it tougher to solve in the context of something like a hacker tournament (as the negative space is a dead giveaway).
replies(5): >>36211083 #>>36211199 #>>36212896 #>>36213682 #>>36228779 #
1. MrPoush ◴[] No.36213682[source]
A couple of quick optimizations:

- If weights are repeated, you only need to specify the last unique one

- You can chain filters using a comma

- You can drop that last point in the curve

  ffmpeg -i input.mp4 -vf tmix=frames=36:weights="1",curves=all='0/0 0.05/1' output.mp4
replies(1): >>36216351 #
2. dvt ◴[] No.36216351[source]
> You can chain filters using a comma

Haha, I knew there was some way of doing this, but I couldn't remember how (tried semicolons which didn't work), thanks :)