Conversation

Replying to
Step 1: Package your media file in the standard MPEG-DASH streaming format. You may need to tweak your encoder settings to make sure that the fragment size doesn't go above 5MB. ffmpeg and Bento4 are the only tools you need. Use mp4dash's "-use-segment-list" option.
2
39
Step 2: Add dummy PNG headers to each of the DASH fragments. Adjust the "mediaRange" attributes in the MPD manifest to account for the added bytes, so that the resulting data is still a valid DASH stream.
1
34
Step 3: Upload your PNG/DASH polyglot files to Twitter. I suggest posting to a private Community, so as not to spam your own feed. Update the manifest to point at the image files on the Twitter CDN, and publish the manifest somewhere.
2
34
Here's the direct manifest URL, in case you want to try watching in another media player like VLC (it even works on the iOS VLC app) https://www.da.vidbuchanan .co.uk/cors/twitter_bbb_4k.mpd (remove the space in the URL)
2
22
This works because: a) Twitter doesn't recompress PNG images that meet certain constraints b) The DASH format is very flexible, supporting ranged requests. c) Twitter's CDN has a very permissive CORS policy (unfortunately not quite permissive enough to work in Firefox, though)
3
43
Some fun stats: The stream linked above is about 10 minutes long, and made up of exactly 140 different PNGs, totaling over 600MB of storage! It took me about an hour to upload them all by hand, lol.
1
39