basically, a fair amount of work recently in my case has been going into video textures, mostly trying to find a "good" solution to the various sorts of problems that come up when doing these sorts of things.
sorry, not sure where to best post this (I am using OpenGL at least, I guess...).
basically, here is the issue:
one can have a more general-purpose video format (MJPEG / Theora / ...), which might internally represent the video frames in terms of a YUV colorspace or similar, and then transcode to a compressed texture format (DXT1 or DXT5 or BC6H or BC7 or whatever else). the advantage is that the video can be more general purpose, and get a good size/quality tradeoff, though the disadvantage is that the decoding speed isn't as good, nor is the final image quality particularly great (since the texture conversion needs to be done in real-time).
for example, for normal texture maps, I am generally using load-time conversion, as the speed is less important and it can do a slightly better looking conversion.
alternatively, one can have a codec which specifically targets a given compressed texture format, and can potentially invest more effort (at encoding time) into generating better final image quality, as well as having higher decoding speeds, and more features can be supported for video-textures (such as mipmaps, ...).
the problem: the need for multiple versions of the video to target each format used, as well as to use a codec potentially specific to each compressed texture format (for example, having one codec that does DXT1 and DXT5, and another that does BC6H and BC7), as well as possibly still needing to keep around a "generic" version (for decoding to RGBA or similar).
for example, it isn't necessarily good if a person needs 2 or 3 versions of a given video-texture, each of which uses a different codec (wasting space and similar). (there end up being a lot of specialized codecs in use mostly as none does particularly great with "everything"...).
and, what of other compressed-texture formats? ...
for example:
textures/base_vid/sometex_dxt5.avi //DXT5 or similar
textures/base_vid/sometex_bptc.avi //BC6H or BC7
textures/base_vid/sometex.avi //Generic (RGBA or real-time conversion)
or (what I have often currently been doing):
only having the version intending for decoding to DXTn, with a fallback case for decoding to RGBA or similar if needed (issue: weak image quality in fallback cases).
I am not sure if anyone has a particularly good strategy here?...
(well, granted, besides obvious things, like not using videos as animated textures or similar...).