我用rtmp plagin有nginx,我用Dash.js播放器有测试页。我需要流MPEG-Dash。我用ffmpeg流,nginx处理流,dash播放器尝试播放流,但dash.js开始循环,每5秒请求一次。MPD文件,什么也不显示。
我是用VLC播放器进行测试,它的工作很完美,这意味着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>
这是来自破折号流目录的文件:
-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
这是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>
在https://www.NGINX.com/blog/scalable-live-video-streaming-nginx-plus-bitmovin有一个很好的NGINX+DASH教程,但是它使用的是bitmovin播放器而不是DASH.js。我假设DASH.js没有实现NGINX破折号输出使用的某些特性。你也可以测试沙加播放器?。
我一直试图弄清楚如何使用html5视频元素直接在chrome(版本30.0.1599.69m)中播放mpeg-dash xml文件。类似的东西 mpd文件是用mp4box创建的,视频编解码器是MP4。 但这显然不是正确的方法。我知道“dash.js”项目——但为什么浏览器不能处理所有细节,而他们已经添加了对mpeg dash播放的支持? 有没有办法在不使用javascript的情况下播放mpeg短
概述 音频播放模块兼容全系列makeblock主控板,内置语音解码芯片,可以播放音乐及录音。本模块接口是白色色标,说明是I2C信号控制,需要连接到主板上带有白色标识接口。插入TF内存卡即可感受音乐的快乐,使用起来非常方便。 技术规格 工作电压:5V DC 麦克风灵敏度(1Khz):50-54dB 麦克风阻抗:2.2 kΩ 麦克风信噪比:58 db 喇叭额定功率:1W 喇叭额定阻抗:8±15%Ω 通
我正在寻找一个开源媒体播放器或Android应用编程接口,可以支持MPEG-DASH及其修正案,如平铺视频的空间关系描述(SRD)功能。有什么建议吗? 我以为Android的API支持DASH,但显然它不支持。他们提倡一种叫做ExoPlayer(http://google.github.io/ExoPlayer/)的播放器,它支持DASH、平滑流等等。我想知道它是否支持DASH的所有功能,如SRD
所以我正在为我的MPEG-DASH视频生成一个非常简单的MPD清单文件,但我无法找出问题所在。这是我当前的清单文件 这个MPD文件使用我能找到的每个验证器进行验证。出于安全原因,这些段的URL被隐藏,但它们都是开放的、公开的,并且可以单独查看。但当我试图运行清单文件时,这取决于我得到的玩家。“在清单中找不到支持的源”,或者干脆什么都没发生。 你知道这怎么可能是错的吗?我目前正在使用媒体url作为绝
需要调试段划线文件的帮助吗 输入是带有这些细节的MP4。这是从摄像机录制的,摄像机的输出是mkv,我们通过adobe编辑音频后转换为MP4 大小:7.51 GB帧率:25帧/秒 数据速率:25326kbps 总比特率:25525kbps 使用此命令将其转换为另一个mp4 输出视频已被删除 fps:25 数据速率:761kbps 比特率:761kbps 然后,通过MP4Box创建了分段破折号 生成的
我已经使用ffmpeg为我的视频创建了一个MPD文件,我可以在我的电脑上播放和观看它,使用:http://dashplayer.azurewebsites.net/ 现在我想确保它在andoid和IOS上正常工作和播放,有人能告诉我如何在android和IOS上测试这个文件吗?