Прежде всего, если Джон Дайер читает это, большое спасибо за ваш плеер, это здорово! : -)
А теперь к моей проблеме. Я пытаюсь предоставить MP4-видео с использованием HTML5 (iPad, iPhone, Android, Chrome Desktop) с запасным вариантом для Flash (Firefox, IE, Opera). MediaElementJS делает это нормально из коробки, за исключением того, что решение HTML5 позволяет случайным образом переходить к видео с использованием HTTP, в то время как откат Flash заставляет браузер загрузить весь файл перед воспроизведением.
Из-за этого я хочу использовать rtmp вместо http, когда используется резервный Flash-сервер (помимо обычного веб-сервера у нас есть Flash Media Server, готовый для показа видео), поэтому я бы хотел изменить источник в этих случаях , Но я не знаю, может ли MediaElementJS и как мне сказать, будет ли использоваться Flash. Я пробовал это:
<video autoplay controls width="800" height="600" id="video-tag" preload="auto">
<source id="media-source-mp4" type="video/mp4" src="http://localhost/video1.mp4" />
<object width="800" height="600" type="application/x-shockwave-flash" data="js/flashmediaelement.swf">
<param name="movie" value="js/flashmediaelement.swf" />
<param name="flashvars" value="controls=true&autostart=true&file=rtmp://localhost/video1.mp4" />
</object>
</video>
<script type="text/javascript">$("#video-tag").mediaelementplayer({
success: function(media, node, player) {
if (media.pluginType != 'native') {
media.setSrc('rtmp://localhost/video1.mp4');
media.load();
media.play();
}
}
});</script>
Но это явно не работает. Я просматривал код medialement.js и думаю , что медиа-элемент предоставляет атрибут pluginType, но я могу ошибаться. Элемент или , созданный внутри
, по-прежнему содержит http-URL.
Я делаю что-то не так или не могу просто выполнить то, что пытаюсь?