Use HTML5 media tags rather than external player

I don’t know if it has been up for discussion before (and discarded) but a suggestion is to use HTML5 <audio> and <video> tags instead of launching an external player (see Inline media as an example). It would:

  • Leave the reviewer window fully visible (not covered by an external player).
  • Allow changing playing/looping/etc both at a general level as well as at note level (autoplay this but not that, eg [sound:one.mp3:auto_front loop]).
  • Reduce the amount of code in the reviewer to maintain (the reviewer only needs to generate a valid HTML element from the [sound]-tag)

Granted it would remove the media related hooks unless you add some javascript to bridgeCommand to fire hooks.

Thoughts?

Qt provides limited codec support so this would break a bunch of audio/video formats, and the way autoplay is implemented would need to be rewritten.

Yes, true, Inline media uses ffmpeg to convert to a playable format when inserting (same licensing as mpv as far as I can tell) but such a solution would require both rewriting the import/insertion/autoplay code as well as adding code to convert files already in the media folder.

I also liked the idea of using HTML tags for media content; then I developed the addon HTML audio/video tags support addon (support thread) to integrate it into Anki.