I checked the code and don't see in JasonMediaAction.m any use of @"headers" which explains why it doesn't work when I add headers in my markup.
It looks a little more complex too (
https://stackoverflow.com/questions/15456130/send-headers-with-avplayer-request-in-ios) - reading the video data to the cache doesn't seem right for mp4s, also, your mechanism that locates a $media object by searching for it's url might break if it gets changed to use a cache copy. I think I'll file an issue because this seems like a reasonable thing to work everywhere "url" is present. It's probably too late now but it would be great changing from key name "header" to "headers" or better still "http_headers" to make it clear (and doc searchable) as distinct from body.header, layers.header.