HLSは広く普及している配信方式だがブラウザで直接再生できるのはSafariだけと言ってもいい。
ライブモードでのシーク動作もiOS Safariではサポートされない。
これらを回避する為に、Websocket MSE(Media Source Extention)を利用したプレイヤーを使用する。
*iOSのシーク動作はVideo.jsプレイヤーで実現している。
組込コード
<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
<video id="video" autoplay muted playsinline Poster="nm.jpg" controls width="100%" height="100%"></video>
<script>
var video = document.getElementById('video');
var videoSrc = 'https://1.docokame.biz/dvms/HLS/2H/fujimi-2H.m3u8';
if (Hls.isSupported()) {
var hls = new Hls();
hls.loadSource(videoSrc);
hls.attachMedia(video);
}
else if (video.canPlayType('application/vnd.apple.mpegurl')) {
video.src = videoSrc;
}
</script>
ライセンスに関して
要約すると。
Hls.js は Apache License, Version 2.0 の下でライセンスされています。
ライセンスを確認したところ。はい、オリジナルの著作権、ライセンス、および通知を含める限り、無料でプレーヤーを使用することができます。
Copyright (c) 2017 Dailymotion (http://www.dailymotion.com)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
src/remux/mp4-generator.js and src/demux/exp-golomb.ts implementation in this project
are derived from the HLS library for video.js (https://github.com/videojs/videojs-contrib-hls)
That work is also covered by the Apache 2 License, following copyright:
Copyright (c) 2013-2015 Brightcove
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.