2017-03-17 2 views
0

Ich werde versuchen, ein Live-Streaming von MPEG-DASH einzustellen.Was ist falsch MPEG-DASH-Format?

Es gibt einige Dateien für MEPG-DASH.

elemental-3703198892.m4a elemental-3703228922.m4v elemental-3703266460.m4a 
elemental-3703198892.m4v elemental-3703236430.m4a elemental-3703266460.m4v 
elemental-3703206400.m4a elemental-3703236430.m4v elemental-3703273967.m4a 
elemental-3703206400.m4v elemental-3703243937.m4a elemental-3703273967.m4v 
elemental-3703213907.m4a elemental-3703243937.m4v elemental-init.m4a 
elemental-3703213907.m4v elemental-3703251445.m4a elemental-init.m4v 
elemental-3703221415.m4a elemental-3703251445.m4v elemental-raw.m4a 
elemental-3703221415.m4v elemental-3703258952.m4a elemental-raw.m4v 
elemental-3703228922.m4a elemental-3703258952.m4v elemental.mpd 

elemental.mpd ist wie folgt.

<?xml version="1.0"?> 
<MPD 
    type="dynamic" 
    xmlns="urn:mpeg:dash:schema:mpd:2011" 
    availabilityStartTime="2017-04-27T11:22:32+08:00" 
    availabilityEndTime="2017-04-27T11:23:17+08: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" 
    xmlns:xsi="http://www.w3.org/2011/XMLSchema-instance" 
    xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd"> 
    <Period start="PT0S" id="dash"> 
    <AdaptationSet 
     id="1" 
     segmentAlignment="true" 
     maxWidth="1280" 
     maxHeight="720" 
     maxFrameRate="23"> 
     <Representation 
      id="elemental_H264" 
      mimeType="video/mp4" 
      codecs="avc1.4d401f" 
      width="1280" 
      height="720" 
      frameRate="23" 
      sar="1:1" 
      startWithSAP="1" 
      bandwidth="5000000"> 
     <SegmentTemplate 
      presentationTimeOffset="0" 
      timescale="1000" 
      media="elemental-$Time$.m4v" 
      initialization="elemental-init.m4v"> 
      <SegmentTimeline> 
      <S t="3703228922" d="7508"/> 
      <S t="3703236430" d="7507"/> 
      <S t="3703243937" d="7508"/> 
      <S t="3703251445" d="7507"/> 
      <S t="3703258952" d="7508"/> 
      <S t="3703266460" d="7507"/> 
      </SegmentTimeline> 
     </SegmentTemplate> 
     </Representation> 
    </AdaptationSet> 
    <AdaptationSet 
     id="2" 
     segmentAlignment="true"> 
     <AudioChannelConfiguration 
      schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" 
      value="1"/> 
     <Representation 
      id="elemental_AAC" 
      mimeType="audio/mp4" 
      codecs="mp4a.40.2" 
      audioSamplingRate="48000" 
      startWithSAP="1" 
      bandwidth="96000"> 
     <SegmentTemplate 
      presentationTimeOffset="0" 
      timescale="1000" 
      media="elemental-$Time$.m4a" 
      initialization="elemental-init.m4a"> 
      <SegmentTimeline> 
      <S t="3703228922" d="7508"/> 
      <S t="3703236430" d="7507"/> 
      <S t="3703243937" d="7508"/> 
      <S t="3703251445" d="7507"/> 
      <S t="3703258952" d="7508"/> 
      <S t="3703266460" d="7507"/> 
      </SegmentTimeline> 
     </SegmentTemplate> 
     </Representation> 
    </AdaptationSet> 
    </Period> 
</MPD> 

Verwenden von dash.js, aber die Wiedergabe funktioniert nicht. In der Entwicklerkonsole des Chrome-Browsers wird video.js wiederholt, um elemental.mpd zu lesen.

Was falsch ist MPEG-DASH?

Antwort

0

In diesem Link http://developers-club.com/posts/204666/ erklären, wie das tun habe ich es und arbeiten gut mit nginx Server

+0

ich die Referenz-URL versucht, gelehrt. Ich habe dash.js mit dem Klon gemacht. Wiederholen Sie einfach elemental.mpd ohne den Zustand zu ändern, gibt es keinen Fehler und es ist auf einem weißen Bildschirm. Eine Sache ist vorher anders, zuerst lies elemental.mpd, dann lies elemental-init.m4 und elemental-init.m4a einmal und wiederhole dann nur elemental.mpd. – Ubunkun

+0

Anscheinend scheint es von Cache und ETag betroffen zu sein, wenn mpd gelesen wird. Ich habe proxy_no_cache 1 eingerichtet; proxy_cache_bypass 1; Etag aus. Aber die Situation hat sich nicht geändert. Ist es möglich mit demh.js Parameter mit Parametern wie .mpd? _session = 1234 anzufordern? – Ubunkun

+0

Ich habe von Nginx-RTMP-Modul neu installiert. Live-Wiedergabe ist erfolgreich. – Ubunkun