html5<video>解析m3u8播放视频

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html5<video>解析m3u8播放视频相关的知识,希望对你有一定的参考价值。

最近做一个视频网站
不想用flashplayer
用hls协议
html5 <video>标签不能播放m3u8 的 chrome浏览器下 safari可以
有哪位大神能帮解决一下在chrome也能播放么 不要flashplayer
请亲测别在网上粘贴复制 大多数我都见过了 别来秀智商

我也遇到这个问题,据说使用方法其他串一样,把m3u8串传入src就行了。我亲测过了,在电脑上不行,在手机上可以。电脑是Chrome、safari、Mozilla的,手机是欧朋浏览器。之前我是用vlc插件的。现在Google都不支持NPAPI了。也用不了了。可以试试sewiseplayer,虽然是flash的但是开源的,里面都有例子,只要解决跨域问题,也是很好用的。 参考技术A 因为m3u8是苹果开发的协议,所以safari可以直接播放,但是chrome这些浏览器都是不支持的,需要对协议进行解析。
这个要自己去写的话很麻烦,我推荐你用别人写好的插件,你说不要flash的话可以使用video.js,别人写好的库,使用的时候简单的设置下参数就好了。
参考技术B PC端Html5目前没有浏览器支持播放hls协议的m3u8,但是移动端都是可以的。
PC端现在基本上也是进行软解码之后,依靠flashplayer来进行播放hls协议的视频。
参考技术C

用videoJs 里面有个插件可以解析m3u8格式

参考技术D pc上chrome不支持m3u8。如果点播,可以合成一个MP4格式文件,如果做直播,看你的流媒体服务器是不是支持http直播,应该是持续向一个MP4文件写入数据流。

python实战之原生爬虫(爬取熊猫主播排行榜)


""" 
this is a module,多行注释
"""
import re

from urllib import request
# BeautifulSoup:解析数据结构 推荐库 Scrapy:爬虫框架
#爬虫,反爬虫,反反爬虫
#ip 封
#代理ip库
class Spider():
    url=\'https://www.panda.tv/cate/lol\'
    root_pattern=\'<div class="video-info">([\\s\\S]*?)</div>\'
    name_pattern=\'</i>([\\s\\S]*?)</span>\'
    number_pattern=\'<span class="video-number">([\\s\\S]*?)</span>\'

    def __fetch_content(self):
        r=request.urlopen(Spider.url)
        htmls=r.read()
        htmls=str(htmls,encoding=\'utf-8\')
        return htmls
        a=1

    def __analysis(self,htmls):
        root_html=re.findall(Spider.root_pattern,htmls)
        anchors=[]
        for html in root_html:
            name=re.findall(Spider.name_pattern,html)
            number=re.findall(Spider.number_pattern,html)
            anchor={\'name\':name,\'number\':number}
            anchors.append(anchor)
        return anchors

    def __refine(self,achors):
        l=lambda anchor:{\'name\':anchor[\'name\'][0].strip(),\'number\':anchor[\'number\'][0]}
        return map(l,achors)

    def __sort(self,anchors):
        
        anchors=sorted(anchors,key=self.__sord_seed,reverse=True)
        return anchors

    def __show(self,anchors):
        for rank in range(0,len(anchors)):
            print(\'rank \'+str(rank+1)+\':\'+anchors[rank][\'name\']
            +\'    \'+anchors[rank][\'number\']
            )
            

    def __sord_seed(self,anchor):
        r=re.findall(\'\\d*\',anchor[\'number\'])
        number= float(r[0])
        if \'万\' in anchor[\'number\']:
            number*=10000
        return number

    def go(self):
        htmls=self.__fetch_content()
        anchors=self.__analysis(htmls)
        anchors=list(self.__refine(anchors))
        anchors=self.__sort(anchors)
        self.__show(anchors)

splider=Spider()
splider.go()

以上是关于html5<video>解析m3u8播放视频的主要内容,如果未能解决你的问题,请参考以下文章

阿里云实践 - HTML5断点播放m3u8视频(videojs)

Video.js HTML5播放器可以播放m3u8播放列表(HLS)?

有支持M3U8格式的HTML5播放器吗

使用html5 video播放的视频加载很慢怎么优化

如何在手机和桌面上播放html5视频播放m3U8?

播放 video.js ustream m3u8 文件流