Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
sile committed Oct 16, 2024
1 parent 027abed commit bcdda7c
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 10 deletions.
2 changes: 1 addition & 1 deletion examples/mp4-media-stream/main.mts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ document.addEventListener('DOMContentLoaded', async () => {
}
const stream = mp4MediaStream.play(options)

let output = document.getElementById('output')
const output = document.getElementById('output')
output.srcObject = stream
}

Expand Down
67 changes: 58 additions & 9 deletions packages/mp4-media-stream/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,60 @@
# @shiguredo/mp4-media-stream

未対応:
- H.264 / Opus 以外のコーデック
- 再生位置指定(シーク)
- 再生の一時中断
- 再生速度変更
- ファイルのインクリメンタルな読み込み(メモリ消費量削減)
- edts ボックスのハンドリング
- B フレーム
- Chrome / Edge 以外のブラウザ
[![npm version](https://badge.fury.io/js/@shiguredo%2Fmp4-media-stream.svg)](https://badge.fury.io/js/@shiguredo%2Fmp4-media-stream)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

ファイルや URL から取得した MP4 データから MediaStream を作成するためのライブラリです。

## 使い方

```typescript
import { Mp4MediaStream } from '@shiguredo/mp4-media-stream'

// ファイルなどから取得した MP4 データを読み込む
const mp4MediaStream = await Mp4MediaStream.load(mp4FileBlob)

// 指定の MP4 を再生するための MediaStream を作成する
const stream = mp4MediaStream.play(options)

// Video 要素の入力に作成された MediaStream を設定する
const video = document.getElementById('video')
video.srcObject = stream
```

実際の動作は[デモページ](https://shiguredo.github.io/media-processors/examples/mp4-media-stream/)
[ソースコード](https://github.com/shiguredo/media-processors/blob/develop/examples/mp4-media-stream/main.mts))で確認できます。

## サポートブラウザ

本ライブラリは Chrome や Edge 等の Chromium ベースのブラウザで動作します。

## 未対応機能

以下の機能には現時点では対応していません:
- H.264 / Opus 以外のコーデックを含んだ MP4 の再生
- 再生開始位置の指定(シーク)
- 再生の一時停止・再開
- 数 GB を超える MP4 ファイルの再生
- MP4 の edts ボックスのハンドリング(edts を使ってリップシンクが調整されている場合には再生時にズレる可能性がある)
- B フレームが有効になっている H.264 ストリーム(映像の再生順序が正しくならない可能性がある)

## ライセンス

[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)

```
Copyright 2024-2024, Takeru Ohta (Original Author)
Copyright 2024-2024, Shiguredo Inc.
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.
```

0 comments on commit bcdda7c

Please sign in to comment.