J'ai nginx avec rtmp plagin, j'ai une page de test avec le lecteur dash.js. Je dois diffuser mpeg-dash. Je flux avec ffmpeg, nginx traiter le flux, lecteur de tableau de bord essayer de jouer le flux, mais dash.js démarrer la boucle et demande tous les 5 secondes fichier .mpd et ne montrent rien.Dash.js ne joue pas mpeg-dash à partir du module nginx rtmp
Je suis utiliser le lecteur VLC pour le test, son travail parfait, cela signifie problème dans dash.js
<!doctype html>
<html>
<head>
<title>Dash.js Rocks</title>
<style>
video {
width: 640px;
height: 360px;
}
</style>
</head>
<body>
<div>
<video id="videoPlayer" controls></video>
</div>
<script src="dash.all.min.js"></script>
<script>
(function(){
var url = "http://localhost:8080/dash/test.mpd";
var player = dashjs.MediaPlayer().create();
player.initialize(document.querySelector("#videoPlayer"), url, true);
})();
</script>
</body>
</html>
Ceci est les fichiers du répertoire flux de bord:
-rw-r--r-- 1 nginx nginx 120354 Jun 12 14:00 test-0.m4a
-rw-r--r-- 1 nginx nginx 526439 Jun 12 14:00 test-0.m4v
-rw-r--r-- 1 nginx nginx 599 Jun 12 14:00 test-init.m4a
-rw-r--r-- 1 nginx nginx 662 Jun 12 14:00 test-init.m4v
-rw-r--r-- 1 nginx nginx 292795 Jun 12 14:00 test-raw.m4a
-rw-r--r-- 1 nginx nginx 284084 Jun 12 14:00 test-raw.m4v
-rw-r--r-- 1 nginx nginx 2063 Jun 12 14:00 test.mpd
Ceci est test.mpd:
<?xml version="3.0"?>
<MPD
type="dynamic"
xmlns="urn:mpeg:dash:schema:mpd:2011"
availabilityStartTime="2016-06-12T13:59:55+00:00"
availabilityEndTime="2016-06-12T14:00:31+00: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="1380"
maxHeight="800"
maxFrameRate="15">
<Representation
id="test_H264"
mimeType="video/mp4"
codecs="avc1.640020"
width="1380"
height="800"
frameRate="15"
sar="1:1"
startWithSAP="1"
bandwidth="0">
<SegmentTemplate
presentationTimeOffset="0"
timescale="1000"
media="test-$Time$.m4v"
initialization="test-init.m4v">
<SegmentTimeline>
<S t="0" d="6000"/>
<S t="6000" d="16666"/>
<S t="22666" d="11000"/>
<S t="33666" d="2713"/>
</SegmentTimeline>
</SegmentTemplate>
</Representation>
</AdaptationSet>
<AdaptationSet
id="2"
segmentAlignment="true">
<AudioChannelConfiguration
schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011"
value="1"/>
<Representation
id="test_AAC"
mimeType="audio/mp4"
codecs="mp4a.40.2"
audioSamplingRate="44100"
startWithSAP="1"
bandwidth="156000">
<SegmentTemplate
presentationTimeOffset="0"
timescale="1000"
media="test-$Time$.m4a"
initialization="test-init.m4a">
<SegmentTimeline>
<S t="0" d="6000"/>
<S t="6000" d="16666"/>
<S t="22666" d="11000"/>
<S t="33666" d="2713"/>
</SegmentTimeline>
</SegmentTemplate>`enter code here`
</Representation>
</AdaptationSet>
</Period>
</MPD>
Oui, j'essaie le lecteur Shaka, mais je pense que j'ai trouvé le problème, c'est nginx rtmp-module, toutes les fourches peuvent générer invalid.mpd – Lem