【发布时间】:2015-04-17 04:17:15
【问题描述】:
我有一个网页,我需要在其中放置来自摄像机的 HTTP 实时流。
我还有两个视频内容相同的链接:
- HDS (f4m) - http://[address]:80/test/manifest.f4m
<manifest xmlns="http://ns.adobe.com/f4m/1.0">
<id>flussonic_media</id>
<streamType>live</streamType>
<bootstrapInfo profile="named" id="bootstrap1" url="bootstrap"/>
<media streamId="stream1" url="hds/tracks-1/" bitrate="70" bootstrapInfoId="bootstrap1">
<metadata>
AgAKb25NZXRhRGF0YQMABmhlaWdodABAdgAAAAAAAAAMdmlkZW9jb2RlY2lkAEAcAAAAAAAAAA12aWRlb2RhdGFyYXRlAEBRgAAAAAAAAAV3aWR0aABAhAAAAAAAAAAACQ==
</metadata>
</media>
</manifest>
- HLS (m3u8) - http://[address]:80/test/index.m3u8
#EXTM3U
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:7
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:13403
#EXT-X-PROGRAM-DATE-TIME:2015-04-11T11:21:19
#EXT-X-BYTE-SIZE:77268
#EXTINF:6.008,
2015/04/11/11/21/19-06008.ts
#EXT-X-PROGRAM-DATE-TIME:2015-04-11T11:21:25
#EXT-X-BYTE-SIZE:78396
#EXTINF:6.007,
2015/04/11/11/21/25-06007.ts
#EXT-X-PROGRAM-DATE-TIME:2015-04-11T11:21:31
#EXT-X-BYTE-SIZE:79712
#EXTINF:6.007,
2015/04/11/11/21/31-06007.ts
#EXT-X-PROGRAM-DATE-TIME:2015-04-11T11:21:37
#EXT-X-BYTE-SIZE:75952
#EXTINF:6.007,
2015/04/11/11/21/37-06007.ts
主要目标 - 支持多种浏览器(Chrome/Firefox/IE/Safari)、操作系统(Win/iOS/Linux/Android)和设备(台式机/平板电脑/手机) ,即每个人都可以观看直播。
现在它可以与 Flowplayer(使用 f4m)一起使用。但它使用 Flash,因此移动设备和 iOS 无法播放视频流。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Streaming</title>
<link rel="stylesheet" href="flowplayer/skin/minimalist.css">
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="flowplayer/flowplayer.min.js"></script>
<script src="flowplayer/flowplayer-api.js"></script>
</head>
<body style="background:#424242;">
<div id="webtv"></div>
<script>
jQuery(document).ready(function () {
$f("webtv", "http://releases.flowplayer.org/swf/flowplayer-3.2.18.swf", {
plugins: {
flashls: {
url: "flowplayer/flashlsFlowPlayer.swf"
}
},
clip: {
url: "http://[address]:80/test/index.m3u8",
provider: "flashls",
urlResolvers: "flashls",
scaling: "fit"
}
});
});
</script>
</body>
</html>
我遇到了问题:我不知道如何解决支持广泛设备的问题。
我不明白是哪种方式:
- 使用不同的视频播放器制作不同的页面并重定向 在检测到操作系统和浏览器之后。
- 使用 javascript 媒体播放器和自动选择创建统一页面 流类型(或让用户选择需要的流)。
- 或者类似上述两种方法的组合。
谁遇到过这个问题?解决这个问题的最佳方法是什么?
【问题讨论】: