0

デスクトップをキャプチャし、DashCast を使用して Apache サーバーでライブ ストリーミングしようとしています。オンデマンドでキャプチャして再生すると正しく再生されますが、ライブで再生するとMP4Client黒い画面しか表示されず、キャプチャ中にエラー メッセージが表示されません。私が使用しているコマンドは次のとおりです。

DashCast -vf x11grab -vres 1280x720 -v :0.0 -npts -live -out /public_html/

そして、私は遊んでいます:

MP4Client http://localhost/vitor/dashcast.mpd

次の出力が得られます。

MP4Client http://localhost/vitor/dashcast/dashcast.mpd
Using config file in /home/vitor directory
System info: 11948 MB RAM - 8 cores
Modules Found : 36 
Loading GPAC Terminal
[Thread MediaManager] Couldn't set priority(2) for thread ID 0x9b55a700
[Thread MediaManager] Couldn't set priority(2) for thread ID 0x9b55a700
Terminal Loaded in 35 ms
Opening URL localhost/vitor/dashcast/dashcast.mpd
[DASH] Slight drift in UTC clock at time 2015-08-05T12:38:45Z: diff AST - now 3563501 ms
Service Connected

それで、私は何を間違っていますか?クライアントは明らかにサーバーに正しく接続し、プレーヤーを開きますが、画面には何も表示されません。GPAC バージョン 0.5.0 で Ubuntu 14.04 を使用しています。

4

1 に答える 1

1
[DASH] Slight drift in UTC clock at time 2015-08-05T12:38:45Z: diff AST - now 3563501 ms

このメッセージは、availabilityStartTime 属性の MPD で示されている UTC 時間と、MP4Client が取得するセグメントを計算するために使用する現在の時間との間に違いがあることを示しています (実際の違いを考えると、「わずかな」は間違った言葉です!)。オンデマンドでは、すべてのセグメントが常に利用可能であると想定されるため、これはライブにのみ関連します。

MP4Client は、さまざまな戦略を使用して「現在の」時間を決定します。たとえば、異なる NTP サーバーを使用している場合、クライアントのシステム時刻はサーバーのシステム時刻と異なる場合があります。システム時刻は信頼できません。そのため、MP4Client はサーバーから時刻を取得しようとします。最初に、サーバーが設定できる特定の HTTP "Server-UTC" ヘッダーを使用しようとします。たとえば、このコードを参照してください。このヘッダーが設定されていない場合、HTTP の "Date" ヘッダーが正確でなくても検索されます。あなたの場合、HTTP サーバーの時刻設定がシステム時刻と一致していない可能性があります。サーバー情報の使用を停止し、システム時刻に依存するよう MP4Client に指示できます。同じマシンでクライアントとサーバーを使用しているため、それは機能するはずです。. そのためには、次を使用します。

MP4Client http://localhost/file.mpd -opt DASH:UseServerUTC=no

または、Web サーバーを介さずに MPD をローカルで再生することもできます。

MP4Client file.mpd

それでも問題が解決しない場合は、GPAC の GitHub で問題を開いて、できるだけ多くの情報 (特に の結果) を提供してくださいMP4Box -version

于 2015-09-08T08:35:22.303 に答える