FFMPEG で生成されたライブストリーム用の DASH マニフェストは無効ですが、一部のプレーヤーでは再生可能です。

FFMPEG で生成されたライブストリーム用の DASH マニフェストは無効ですが、一部のプレーヤーでは再生可能です。

IP カメラからの RTSP ストリームを Web サイトに埋め込もうとしています。RTSP を直接埋め込むのは難しくて手間がかかること、またユーザーがいくつかの重要なアクション (VLC などのさまざまなプレーヤーのインストールやブラウザー プラグインの有効化) を実行する必要があることがわかったので、FFMPEG を使用して RTSP ストリームをライブ ストリーム (HLS または MPEG-DASH) にオンザフライで変換することにしました。HLS ファイルを生成しようとすると、CPU 負荷が 100% に跳ね上がるので、(私のビデオ サーバーはシングル コア CPU でかなり弱いので) MPEG-DASH が私にとっては選択肢だと思いました。CPU 負荷が 2~3% 増えるだけで、十分許容できるレベルです。しかし、manifest.mpd ファイルを検証しようとすると、https://conformance.dashif.org/次のような結果が返されます。

✔ XLink resolving
✖ MPD Validation
✖ Schematron Validation

ライブストリームのマニフェストを再生しようとしたのですがダッシュしかし、プレーヤーは読み込み状態で止まってしまいます。しかし、このライブストリームのマニフェストを再生しようとするとVLCJW プレーヤー 8そしてTHEOPlayer、完璧に動作します。しかし、ffprobeは を返します。http://MY_PUBLIC_IP:PORT/mpeg-dash/manifest.mpd: Invalid data found when processing input何が間違っているのでしょうか。また、ダッシュファイルを生成するにはどうしたらよいのでしょうか。そうすれば、従来の(無料の)プレーヤーで再生できるようになります。ダッシュ?

リソース:

現在manifest.mpd

私が使用しているコマンド:ffmpeg -i rtsp://USERNAME:[email protected]:554/live -an -c:v copy -b:v 2000k -f dash -window_size 10 -extra_window_size 0 -min_seg_duration 2000000 -use_timeline 1 -use_template 1 -remove_at_exit 1 /var/www/camera/mpeg-dash/manifest.mpd

関連情報