問題タブ [smooth-streaming]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1593 参照

video - IIS Smooth Streaming からの mp4 フラグメントの h264 のデコード

そこで、学習課題として IIS の Smooth Streaming 用の独自のクライアントを作成しようと決めましたが、mp4 フラグメントのデコードに苦労しています。

次のフラグメントがあります: http://www.mediafire.com/download/n32660d920g291c/part+1.mp4

ffmpeg を使用してデコードしようとすると、次のようになります。

読んだ後、PPS/SPS は、IIS が提供するマニフェストの CodecPrivateData に由来することがわかりました。

バイナリ: http://www.mediafire.com/download/hm3av6h3i1g7ojf/CodecPrivateData

これは附属書 b 00000001[SPS]00000001[PPS] だと思いますが、どうすればよいかわかりません。ファイルの先頭に配置しようとしましたが、同じエラーが発生し、データだけを取得しようとしましたmdatでそれをffmpegに送信しますが、取得します

それで、 mdat セクションの直前に CodecPrivateData を配置しようとしたところ、これが得られました

これをデコードするために何かが欠けているようです。何がわからないので、h264に詳しい人が助けてくれることを願っています! 最終的には、これを DirectShow で動作させたいと思っていますが、ffmpeg で動作させるだけでも大きな助けになります!

0 投票する
0 に答える
160 参照

drm - PlayReady ストリームで暗号化されていないフラグメントを送信する

PlayReadyで保護されたSmooth Streamがあり、これを手動で暗号化します (Protection要素をクライアント マニフェストに追加し、各フラグメントのボックス内にSample Encryption Boxtrafを追加し、実際のmdatペイロードを暗号化します)。

新しい機能を実装しようとしています - そのストリーム内でいくつかの暗号化されていないフラグメント (たとえば、広告またはストリームの最初の N フラグメント) を送信します。

Microsoft の PIFF 規格を読んだ後、flagsフィールドを 0x00001 に設定し、サンプル暗号化ボックスのalgorithm_idsample_countおよびフィールドをゼロに設定して、暗号化されていないデータを送信しようとしkey_idました (PIFF 規格のセクション 5.3.2.2 に記載されているとおり)。

そのストリームを再生しようとしているときに、私がテストしたサンプル プレーヤー ( http://playready.directtaps.net/pr/doc/slee/および player.smooth.vertigo.com/) はコンテンツを再生しましたが、暗号化されていないフラグメントをスキップし、暗号化されたものから直接開始されます。

この機能を実装することは可能ですか? 私は何か間違ったことをしていますか?

PS、サンプル暗号化ボックスを完全に省略しようとしましたが、その結果、プレーヤーはストリームを完全に再生することを拒否しました.

どんな助けでも大歓迎です。

0 投票する
1 に答える
391 参照

azure - Azure Media Services を使用した Web およびモバイル用のビデオのエンコード

私は Azure Media Services を使用して、Web で表示する必要があるアダプティブ ビデオをエンコードしています (これにはスムーズ ストリーミングを使用しています)。また、iOS と Android の両方で (両方に HLS を使用しています)。Azureのドキュメントには、1080p で Smooth Streaming にエンコードするためのプリセットがあり、SS ファイルを HLS に再多重化するためのドキュメントもあります。ここまでは順調ですね。
問題は、1080p Smooth Streaming を HLS に変換すると、結果が Android で再生できないことです。私はそれについて検索しましたが、メディア サービス プリセットが h264 ハイ プロファイルを使用してビデオをエンコードし、Android がそのプロファイルをサポートしていないことが問題のようです。
この問題のエンコードを 2 つの異なる Smooth Streaming プリセットに修正しました: "H264 Smooth Streaming 1080p" と "H264 Smooth Streaming 720p" (後者は h264 メイン プロファイルにエンコードされるため)、720p ファイルを使用して HLS ビデオを生成します。これは最適ではありません。なぜなら、必要な時間をもう一度エンコードし、720p スムーズ ストリーミング ファイルを使用していないからです。それで... 720p スムーズ ストリーミング エンコーディングをスキップする方法はありますか? たぶん 1080p でスムーズ ストリーミングにエンコードしますが、メイン プロファイルを使用しますか?

0 投票する
0 に答える
516 参照

actionscript-3 - スムーズ ストリーミング メディア要素を使用した OSMF シリアル コンポジション

複数または単一のマニフェスト (.isml) からのメディア要素の特定の部分を使用して、スムーズ ストリーミング メディア要素のシリアル コンポジションを作成したいと考えています。isml を使用してシリアル コンポジションを作成しようとしました。そのクリップ セクションは 10 秒から 50 秒に始まり、次に他のマニフェストから 50 秒から 150 秒のセクションを再生するためにシリアル コンポジションに次の要素を追加します。ただし、マニフェストの指定された部分を再生する代わりに、最初から最後まで再生し、最初の isml が再生されると、シリアル構成の次の要素に切り替わりません。Mozilla の発火バグに取り組んでいることを確認すると、フラグメント要求が継続的に送信されていることがわかりましたが、プレイヤーはそれを表示できません。

コード:-

パッケージ {

}

ありがとう

0 投票する
2 に答える
1745 参照

google-cast - 実際に (format=mpd-time-csf) を使わずに Chromecast で SmoothStreaming 動画を再生することは可能ですか?

Chromecast で動画を再生しようとしています。MS Smooth Streaming マニフェスト ( example )として利用できますが、その形式では利用できないため、指定できませんformat=mpd-time-csf( example )。

マニフェスト URL を Chromecast に直接渡すことはまだ機能しませんが、Les Vogel が次のように述べているように、最終的な SDK リリースで利用できるようになります: Playing Smoothstreaming URL by provide Manifest file of Smoothstreaming to Chromecast device

私が理解しているように、 dash.jsプレーヤーをレシーバーアプリに埋め込むことで、ダッシュ/スムーズビデオを再生できます。ただし、dash.js は、(format=mpd-time-csf) が指定されている場合にのみスムーズ ストリーミング ビデオを再生します。通常のスムーズ マニフェストは機能しません。

これは、現在の状態では、Chromecast は mpd-time-csf 形式のスムーズなビデオのみをサポートするということですか? Netflix アプリは Chromecast アプリに Smooth を使用していると思いますが、これが彼らのやり方ですか?

0 投票する
2 に答える
5584 参照

google-cast - PlayReady によるスムーズ ストリーミングの Chromecast サポート

Chromecast レシーバーの開発者向けプレビューについては承知しています。Smooth Streaming マニフェスト URL を完全にはサポートしていません (アップデート#1を参照) .

GitHub プロジェクトのサンプルアプリ プロバイダーを使用して、 Microsoft PlayReady(TM) Test Server - Smooth Streaming アセットによって提供されるコンテンツをテストしました。receiver

スムーズ ストリーミングのサポート

予想通り、manifestファイルが機能しません (アップデート#1を参照) . しかし、個々のismvファイルを再生することはできました (ただし、低ビットレートのみ)。より高いビットレートを使用すると、ビデオ コンテナーは黒のままです。

PlayReady サポート

PlayReady保護された低ビットレートファイルを再生しようとしたときismv、何らかのコール バックを期待していましたMediaProtocolMessageStream.onKeyRequested()。しかし、そうはなりませんでした。これが私のアンドロイドCustomMediaProtocolMessageStream実装です。


では、 Chromecast を使用する方法PlayReadyまたは使用することになっている方法を知っている人はいますか? Widevineアプリが Chromecast にロードされたときに、Netflix がバイナリ シェル コマンドを呼び出すのを見てきました。しかし、彼らはこれを達成するために Google と協力したと思います。

追加の SO リソース

更新 #1

Les Vogel の回答に基づいて、アダプティブ ビットレート ストリーミング用のスムーズ ストリーミング マニフェスト ファイルが Chromecast でサポートされています。それを処理するにはカスタムプレーヤーが必要です。私が知る限り、現在それを処理できる 2 つの JS プレーヤーがありますが、それらが Chromecast で動作するかどうかはわかりません。

  1. dash.js- DASH 業界フォーラム ( https://github.com/Dash-Industry-Forum/dash.js )
  2. Microsoft HTML5 Player Framework- Microsoft Media Platform の一部 ( http://playerframework.codeplex.com/ )
0 投票する
1 に答える
2842 参照

google-cast - Chromecast での SmoothStreaming の問題

スムーズ ストリーミング メディアを chromecast に読み込もうとしています。そのために、Google が提供するサンプルを使用しました。

そして送信者で:

私は .ism であるメディア #1 を試しています - /Manifest でも試しましたが、うまくいきませんでした。デバッグコンソールで私は得ています:

何か案が???

ありがとう!

0 投票する
0 に答える
455 参照

javascript - Google Chromecast: スムーズ ストリーミング LIVE でアプリケーションが "LOAD_FAILED" メディア エラーになるのはなぜですか?

Chromecast Javascript アプリケーションで何が問題になっているのかを理解するのに助けが必要です。私の目標は、isml 形式でライブをキャストし、Chromecast 開発者ライブラリを介してその再生を管理することです。ライブ コンテンツを再生しようとすると、レシーバー アプリケーションでエラーが返されます。

スムーズ ストリーミング ライブを正しく読み込むための実際のコードの例を教えてください。

サーバーは CORS ヘッダーを正しく送信することに注意してください。

これは、レシーバー アプリ コンソールのスタック トレースです。

ありがとう!C.

0 投票する
1 に答える
455 参照

windows - マシンの再起動後の IIS Media Services 公開ポイントの状態

Smooth Streaming プロジェクトに取り組んでおり、Windows Azure 仮想マシン (Windows Server 2008 R2) を使用してメディア コンテンツを保存しています。ストリーミングは正常に機能していますが、公開ポイントの状態に問題があります。公開ポイントの状態は

アイドル: 公開ポイントが作成されました/シャットダウン

開始中: 公開ポイントが接続されています

開始済み: ストリーミング中です

Stopped: ストリーミングを停止しました

次の 2 つのケースをお読みください。

ケース 1: Windows Azure 仮想マシン (Windows Server 2008 R2) このマシンに IIS Media Services をインストールしました。公開ポイントを作成し、Microsoft Expression Encoder を使用してエンコードを開始します。現在、公開ポイントは停止状態になっています。ストリーミングをアーカイブすることを選択しました。したがって、公開ポイントは、メディア コンテンツ (ismv、ism、ismc) のアーカイブ パスを関連付けます。ただし、仮想マシンを手動または不注意で再起動すると、すべての公開ポイントがアイドル状態になります。その場合、関連するアーカイブ パスを失い、オンデマンド ストリーミングを実行できなくなりました。

ケース 2: ローカル コンピューター Windows 8 Pro ケース 1 と同じことを行いますが、再起動/再起動後に公開ポイントの状態が以前と同じになる点が異なります。つまり、アイドル状態の公開ポイントはアイドル状態になり、停止すると停止します。その場合、オンデマンド ストリーミングを行うことができます。

最後に、マシンの再起動後にオンデマンド ストリーミングを停止したくありません。公開ポイントを同じ状態にしたい。

私を助ける方法/ユーティリティはありますか?