2015-12-16 40 views
5

のMPEG-ダッシュストリーミング

私はライブストリーミングについての私の論文で働いています。私はffmpeg、ngixサーバをrtmpモジュール、dash.jsをDash industryから使いました。私はffmpegでサーバーへのストリームを開始し、ダッシュでプレイしますが、プレーヤーはうまく走りましたが、いくつかの問題がありました。nginxの-RTMPモジュールおよびMPEG-ダッシュ(ダッシュ業界dash.js)

プレイヤーは、mpd-dashプレイリストにチャンクt = 0が残っている場合にのみプレイします。したがって、ユーザー要求プレイヤーと* .mpdがアウトチャンクt = 0で更新された場合、

* * .mpdファイルをDash Validatorにアップロードし、「Schematronの検証に失敗しました - DASHが無効です!」というエラーが表示されます。しかし、プレイヤーはnginx - rtmpモジュールによって生成されます。

nginx-rtmpモジュールが間違ったダッシュプレイリスト* .mpdを生成するいくつかの情報を得た後、そのバグが修正され、github(私はそうだと思ったのでMered - report)のマスターにマージされている可能性があります。しかし、私は最新のnginxとrtmpモジュールをダウンロードしようとしましたが、Playerも正しく再生されません。

2年前のdash.all.jsで再生した場合:再生リスト* .mpdにチャンクt = 0が存在する場合、ビデオのみが良好に再生されます(途中で再生します)ストリーミングの) 私はdash.all.jsで再生したバージョン:ビデオの再生とすぐに再生を停止またはループ再生。

私は実際にいくつかの助けが必要です、私の締め切りが来ています。ここで

は私のnginxの設定ファイル(メイン設定)である:

​​

and some others config:

location /hls { 
     # Serve HLS fragments 
     types { 
      application/vnd.apple.mpegurl m3u8; 
      video/mp2t ts; 
     } 
     root /tmp; 
     add_header Cache-Control no-cache; 
     add_header Access-Control-Allow-Origin *; 
    } 
    location /dash.js { 
     root /usr/share/nginx/html; 
    } 

    location /streaminghls { 
     root /usr/share/nginx/html; 
    } 

    location /dash { 
     # Serve DASH fragments 
     root /tmp; 
     add_header Access-Control-Allow-Origin *;    

    } 

and in html player :

​​3210

Hls play excellently but not dash. I tried changing dash config in nginx config and C-source of rtmp-module with recompiling but not thing changed.

My mpd play list :

<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2011/XMLSchema-instance" type="dynamic" availabilityStartTime="2015-12-17T03:17:07+07:00" availabilityEndTime="2015-12-17T03:18:23+07:00" minimumUpdatePeriod="PT5S" minBufferTime="PT5S" timeShiftBufferDepth="PT0H0M0.00S" suggestedPresentationDelay="PT10S" profiles="urn:hbbtv:dash:profile:isoff-live:2012,urn:mpeg:dash:profile:isoff-live:2011" xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd"> 
<Period start="PT0S" id="dash"> 
<AdaptationSet id="1" segmentAlignment="true" maxWidth="320" maxHeight="240" maxFrameRate="20"> 
<Representation id="Screen_H264" mimeType="video/mp4" codecs="avc1.64000c" width="320" height="240" frameRate="20" sar="1:1" startWithSAP="1" bandwidth="192000"> 
<SegmentTemplate presentationTimeOffset="0" timescale="1000" media="Screen-$Time$.m4v" initialization="Screen-init.m4v"> 

<SegmentTimeline> 
<S t="0" d="12500"/> 
<S t="12500" d="12500"/> 
<S t="25000" d="10550"/> 
<S t="35550" d="15700"/> 
<S t="51250" d="12500"/> 
<S t="63750" d="12500"/> 
</SegmentTimeline> 
</SegmentTemplate> 
</Representation> 
</AdaptationSet> 
<AdaptationSet id="2" segmentAlignment="true"> 
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="1"/> 
<Representation id="Screen_AAC" mimeType="audio/mp4" codecs="mp4a.40.2" audioSamplingRate="22050" startWithSAP="1" bandwidth="62000"> 
<SegmentTemplate presentationTimeOffset="0" timescale="1000" media="Screen-$Time$.m4a" initialization="Screen-init.m4a"> 
<SegmentTimeline> 
<S t="0" d="12500"/> 
<S t="12500" d="12500"/> 
<S t="25000" d="10550"/> 
<S t="35550" d="15700"/> 
<S t="51250" d="12500"/> 
<S t="63750" d="12500"/> 
</SegmentTimeline> 
</SegmentTemplate> 
</Representation> 
</AdaptationSet> 
</Period> 
</MPD> 

I really need help.

Thanks for reading, and am so sorry about my bad english.

答えて

関連する問題