diff --git a/Gemfile b/Gemfile index ec1b1af..e8a8a62 100644 --- a/Gemfile +++ b/Gemfile @@ -10,6 +10,7 @@ gem 'berkeley_library-docker', '~> 0.2.0' gem 'berkeley_library-logging', '~> 0.2' gem 'browser', '~> 4.2' gem 'jbuilder', '~> 2.7' +gem 'm3u8', '~> 0.8.2' gem 'non-stupid-digest-assets', '~> 1.0' # Allow static pages (e.g. 404.html) to link to compiled assets gem 'omniauth-cas', '~> 2.0' gem 'puma', '~> 5.3', '>= 5.3.1' diff --git a/Gemfile.lock b/Gemfile.lock index 436ae8e..7fce552 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -149,6 +149,7 @@ GEM loofah (2.21.4) crass (~> 1.0.2) nokogiri (>= 1.12.0) + m3u8 (0.8.2) mail (2.8.1) mini_mime (>= 0.1.1) net-imap @@ -352,6 +353,7 @@ PLATFORMS aarch64-linux arm64-darwin-21 arm64-darwin-22 + arm64-darwin-23 x86_64-darwin-19 x86_64-linux @@ -368,6 +370,7 @@ DEPENDENCIES dotenv-rails jbuilder (~> 2.7) listen (>= 3.0) + m3u8 (~> 0.8.2) non-stupid-digest-assets (~> 1.0) omniauth-cas (~> 2.0) puma (~> 5.3, >= 5.3.1) diff --git a/app/views/player/_player_head_additional.erb b/app/views/player/_player_head_additional.erb index 18983c6..0da0a9b 100644 --- a/app/views/player/_player_head_additional.erb +++ b/app/views/player/_player_head_additional.erb @@ -34,6 +34,9 @@ function initialize_players() { $("audio,video").mediaelementplayer({ + // workaround for mediaelement/mediaelement#2963 + // (when the HLS stream contains WebVTT captions) + hls: { enableWebVTT: false }, iconSprite: "/assets/icons/mejs-controls.svg", success: function (mediaElement, originalNode, instance) { if (typeof dashjs !== "undefined") { diff --git a/app/views/player/_video.html.erb b/app/views/player/_video.html.erb index faef104..4d40ed8 100644 --- a/app/views/player/_video.html.erb +++ b/app/views/player/_video.html.erb @@ -3,10 +3,12 @@