Flv.js – An HTML5 Flash Video Player
github.com
github.com
HTML5 playback can only support few codecs but FLV can contain a wide variety of video and audio codecs. Flv.js does a great job of transmuxing h.264 frames in a different container, hence it only plays those flv which are h.264/aac. Transcoding can make it possible to even play HEVC or any non-standard codec on browser. This can be heavy on CPU especially hand-held devices. When using one of these in production you must understand that it is not very practical to do transcoding on the fly like this : https://strukturag.github.io/libde265.js/ . It is theoretically possible to play vp9 on an ios or a hevc on a pc but this will be impractical for low-cpu devices.
[0] http://www.howtogeek.com/239682/how-to-watch-hulu-on-ubuntu-...
Maybe if you asked very kindly, Adobe themselves would release a heavily obfuscated Javascript blob which implements Flash DRM. But at this point they could as well simply fix bugs in their browser plugin.
And I don't even know how Flash derives its decryption keys. If this process involves contacting some Adobe servers, it's possible that your problems are caused not by client software, but by network failures or server downtime.
chrome browser just sits there with a black screen.
I routinely use it to play protected video content (subscription sports channels) with my favorite video player https://mpv.io/ instead of the horrible flash plugin.
Otherwise, you can try asking here: http://www.stream-recorder.com/forum/
However, isn't this server side and not clientside?
[0] https://github.com/dailymotion/hls.js
[1] http://open.blogs.nytimes.com/2016/02/08/flash-free-video-in...
On the other hand, something like https://github.com/brion/ogv.js/ is actually doing all of the decoding and playback in JavaScript/asm.js, using C libraries compiled with Emscripten.
Anyhow, yes, it probably would be possible to package up extensions that would apply one of these automatically to <video> tags with unsupported codecs or container formats. It's just a simple matter of programming.
Here is an example of playing HEVC with this method: https://strukturag.github.io/libde265.js/
FTFY.
To keep running with your great story about the king, it is not the JS library which is the successor, as you claim, it's still FLV. Which brings us back to the original question of why this was done in the first place - the reason now I don't even care to know.