的MPEG破折號流
我在我的論文約實時流工作。我用的ffmpeg,與RTMP模塊ngix服務器和dash.js從Dash industry。我用的ffmpeg開始流服務器,並通過儀表播放,播放器拼命地跑好,但也有一些問題。的Nginx-RTMP模塊和MPEG-破折號(短跑行業dash.js)
如果MPD-破折號播放列表仍然有塊T = 0球員只能打的,因此當用戶請求播放器和* .MPD用了大塊t = 0的玩家不要運行更新。
我將我的* .mpd文件上傳到Dash Validator,並出現錯誤:「Schematron驗證不成功 - DASH無效!」。但是playist是由nginx生成的 - rtmp模塊不是我。
搜索一些論壇後,我得到了一些信息,nginx的,RTMP模塊產生錯誤的破折號播放列表* .MPD Nginx rtmp module -bug,並可能是錯誤是固定的,併合並了github上掌握(我鑫卡特這樣Mered - report)。但我試過下載最新的nginx和rtmp模塊,播放器也播放不正確。
如果我在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 *;
}
3210and in html player :
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.