the process i used to make this:
- recorded video with my phone (h264, 1920x1080 resolution, mp4 container)
- copied video stream to a .ts container with ffmpeg (audio left untouched)
- shuffled the file with byebyte (min/max flags as such: –min 0.0049 –max .999 so as not to damage the header/footer, chunk flags: –chunk-min 200000 –chunk-max 50000000 i think you can be pretty flexible with these, though using ridiculously small numbers might just completely break it).
- transcoded result to h264 with ffmpeg, removing audio with the -an flag and skipped duplicate frames (mp4 container, should probably experiment more with this)
what i got was a file that played really fucked up in vlc (v2.0.5, it’s an older version. i find newer versions are able to play fucked up files with less glitches. NOT COOL.), but when i tried to capture images from it with virtualdub (my go-to app for gif making) the video played completely normal. normal but out of order.
i tried transcoding the glitched file with handbrake to see if that would “bake” the glitch, but i still got a file that played fucked up in vlc, but fine in virtualdub.
Some things I played with to really nail this glitch down:
- when i first discovered this glitch i had removed the audio when transcoding the shuffled video. when i tried to reproduce this glitch i removed the audio when i copied the video to a .TS file(step 2). after shuffling and transcoding the video played absolutely fine. so i need to remove audio at the LAST STEP. (if at all?)
- the lower the quality in step 4 the less glitchy the file played. at -crf 35 the glitch was barely present. at -crf 15 the video hung up a lot and the glitch was very pronounced.
- the glitch is not baked so each time the video plays completely differently. i let a 20 second clip loop around a few times while recording with OBS and it was different each time.
- if i skipped step two and tried to shuffle an .mp4 and then transcode it, ffmpeg cannot even locate the video stream at all and repeatedly errors out.
- there’s a possibility you can just leave the audio in the whole time. maybe it just doesn’t work when you shuffle an audioless video.
anyway. i went out and recorded some video and was able to reproduce this again with the four steps above. i will continue to play around with this later and report back. this is pretty vague, but i’m bad at teaching people anything at all. drop me an ask if you want the exact parameters i used in ffmpeg or whatever.