详尽分享视频相关的hls协议、VLC播放器、m3u文件的播放

简介: 详尽分享视频相关的hls协议、VLC播放器、m3u文件的播放

前言

今天在观看视频的过程中,fiddler抓包看了一下请求,发现请求中无cookie相关的参数,心中窃喜,我是不是可以通过请求来访问这个视频呢?

于是复制请求地址,在浏览器打开,what?

1.不能使用浏览器直接打开(可以使用windows自带的播放软件打开);2.打开没有头像;3.而且只有几s就结束了;4.可以另存为.ts格式的文件;5.视频文件格式:video/mp2t;

参考: ,百度如何播放,提到了HLS协议、VLC播放器;

HLS是Apple的动态码率自适应技术。包括一个m3u的索引文件,TS媒体分片文件和key加密串文件;

那就看一看响应结果,EXTM3U格式的文件

百度结果:m3u文件格式,本质上说不是音频文件,它是音频文件的列表文件,是纯文本文件;你下载下来打开它,播放软件并不是播放它,而是根据它的记录找到网络地址进行在线播放。

百度到VLC功能强大

VLC如何播放m3u格式的文件呢? 就是如下图,VLC——>媒体中打开m3u格式的文件 (可随意命名文件)

可是我明明添加了文件,却不播放,fiddler对比查看请求发现,没有请求协议,域名之类的,尝试手动添加一个,发现可以播放了,大喜~

那如何播放多个文件呢,肯定是通过请求,好吧一个一个找;终于找到了所有章节的hls;然后通过拼接。。。可以播放了

?123456789#coding=utf-8a={"errcode":0,"errmsg":"操作成功","data":{"id":"5071","subject_id":"22","subject_name":"初级会计实务","profession_id":"4","profession_name":"初级会计职称","course_name":"《初级会计实务》(22年课程待更新)","cover_url":"\/public\/image\/1a558178dc26279217bc09f02cb90925.jpg","is_free":1,"product_id":"2017001000032","is_purchased":"2","teacher_id":"27","teacher_name":"孔杰","year":"2021","freeze_status":"0","domains":【{"d":"vod.zlketang.com","t":2,"k":"a_v"}//代码效果参考:http://www.ezhiqi.com/zx/art_754.html】,"videos":【{"course_section_id":"19730","name":"前言","subtitle":"","first_dir_id":"8058","first_dir_name":"前言","duration":"1272","is_free":"0","video_id":"21690","alivid":"99db096d26a6448fa2c1bf49803614cd","hls":"http:\/\/a.com\/03131334vodsh1253769091\/8d79f21d5285890818298372766\/playlist.m3u8?t=611f9132rlimit=3us=1629444338523_6837_1000sign=e537bdfe7009dd1d3ab821107631b7f1"},{"course_section_id":"19745","name":"第一节 会计概念、职能和目标(1)","subtitle":"","first_dir_id":"8116","first_dir_name":"第一章 会计概述","duration":"2137","is_free":"0","video_id":"16880","alivid":"bd52723c90b749e790e4f28170c087be","hls":"http:\/\/a.com\/03131334vodsh1253769091\/ee051fc85285890810330288355\/playlist.m3u8?t=611f9132rlimit=3us=1629444338521_2646_1000sign=49b52e29c904c849cf4d493a2b73e33c"},{"course_section_id":"19746","name":"第一节 会计概念、职能和目标(2)","subtitle":"","first_dir_id":"8116","first_dir_name":"第一章 会计概述","duration":"1899","is_free":"0","video_id":"16881","alivid":"55a12f10d3304f0a929e0a24eb75639d","hls":"http:\/\/a.com\/03131334vodsh1253769091\/23e730aa5285890810334335828\/playlist.m3u8?t=611f9132rlimit=3us=1629444338521_6129_1000sign=e00b9062abec6fa18931c4cdf6f9e97f"},{"course_section_id":"19747","name":"第二节 会计基本假设、会计基础和会计信息质量要求(1)","subtitle":"","first_dir_id":"8116","first_dir_name":"第一章 会计概述","duration":"2481","is_free":"0","video_id":"16882","alivid":"383caf20604048f9aed57a1e87bc354d","hls":"http:\/\/a.com\/03131334vodsh1253769091\/effbeebd5285890810330331157\/playlist.m3u8?t=611f9132rlimit=3us=1629444338521_6826_1000sign=62f3a002c30d03496851bd1d58aec6a4"},{"course_section_id":"19748","name":"第二节 会计基本假设、会计基础和会计信息质量要求(2)","subtitle":"","first_dir_id":"8116","first_dir_name":"第一章 会计概述","duration":"1262","is_free":"0","video_id":"16899","alivid":"29112ac1e0c5441c961352b21f92821a","hls":"http:\/\/a.com\/03131334vodsh1253769091\/781b6b615285890810437003472\/playlist.m3u8?t=611f9132rlimit=3us=1629444338521_7035_1000sign=47c67ad846dfe32dbfec46376b8b1d49"},{"course_section_id":"19749","name":"第二节 会计基本假设、会计基础和会计信息质量要求(3)","subtitle":"","first_dir_id":"8116","first_dir_name":"第一章 会计概述","duration":"2422","is_free":"0","video_id":"16902","alivid":"4111fef8dce34624bfd62e9052d3b5e0","hls":"http:\/\/a.com\/03131334vodsh1253769091\/ace6ad125285890810465498443\/playlist.m3u8?t=611f9132rlimit=3us=1629444338521_3111_1000sign=cb8eaa9436ac8c8445ca1888854cb7f0"},{"course_section_id":"19750","name":"第三节 会计要素及其确认与计量(1)","subtitle":"","first_dir_id":"8116","first_dir_name":"第一章 会计概述","duration":"2045","is_free":"0","video_id":"16903","alivid":"d57d8310740d4dc3a6d2ac08f3772db7","hls":"http:\/\/a.com\/03131334vodsh1253769091\/053efb855285890810466952110\/playlist.m3u8?t=611f9132rlimit=3us=1629444338521_9314_1000sign=4692e2d3eb1c26a160fae4d5038fd716"},{"course_section_id":"19829","name":"第三节 会计要素及其确认与计量(2)","subtitle":"","first_dir_id":"8116","first_dir_name":"第一章 会计概述","duration":"1896","is_free":"0","video_id":"16942","alivid":"3ee3a0abf3a84e78b10907df67bc76dd","hls":"http:\/\/a.com\/03131334vodsh1253769091\/bea331fa5285890810540090122\/playlist.m3u8?t=611f9132rlimit=3us=1629444338521_3671_1000sign=a0a38fc5a8b783dd21078e5d9bdbf95b"},{"course_section_id":"19830","name":"第三节 会计要素及其确认与计量(3)","subtitle":"","first_dir_id":"8116","first_dir_name":"第一章 会计概述","duration":"1513","is_free":"0","video_id":"16943","alivid":"798e7fcbd47d497a9c5e4159d703be67","hls":"http:\/\/a.com\/03131334vodsh1253769091\/5ac6b5485285890810423177724\/playlist.m3u8?t=611f9132rlimit=3us=1629444338521_9271_1000sign=fffb16635806b7eb17e2981f1f973006"},{"course_section_id":"19870","name":"第四节 会计科目和借贷记账法(1)","subtitle":"","first_dir_id":"8116","first_dir_name":"第一章 会计概述","duration":"2115","is_free":"0","video_id":"16953","alivid":"858dbfc3fea94a43aa324dd2ea234815","hls":"http:\/\/a.com\/03131334vodsh1253769091\/4350d9ae5285890810681829801\/playlist.m3u8?t=611f9132rlimit=3us=1629444338521_2325_1000sign=e887c1ac5218871aead78f6ede010be6"},{"course_section_id":"19871","name":"第四节 会计科目和借贷记账法(2)","subtitle":"","first_dir_id":"8116","first_dir_name":"第一章 会计概述","duration":"2324","<code class="python p

相关文章
|
开发工具 C# C++
Windows平台RTMP|RTSP播放器实现画面全屏功能
我们在Windows平台实现RTSP或者RTMP播放的时候,有个功能是绕不开的,那就是播放窗口全屏。本文就以大牛直播SDK(官方)的Windows播放器为例,大概讲下大概实现:
211 0
|
监控 开发工具 C++
Windows平台RTMP/RTSP播放器如何实现实时音量调节
RTMP或RTSP直播播放音量调节,主要用于多实例(多窗口)播放场景下,比如同时播放4路RTMP或RTSP流,如果音频全部打开,几路audio同时打开,可能会影响用户体验,我们通用的做法是支持播放端实时静音,更细粒度的做法是可以实时调节每一路RTMP/RTSP流的音量。
235 0
|
9天前
|
Linux Android开发 iOS开发
Windows平台RTSP|RTMP播放器如何实现实时录像功能
Windows平台RTSP、RTMP播放器实时录像接口设计,实际上,除了Windows平台,我们Linux、Android、iOS平台也是一样的设计,单纯的录像模块,如果做的全面,也不是一两个接口可以搞定的
|
2月前
|
编解码 Linux 开发工具
iOS平台如何实现RTSP|RTMP播放端录像?
我们在做RTSP、RTMP直播播放器的时候,有个比较重要的功能,就是拉流端实时录像,包括设置单个录像文件大小、文件前缀、audio转AAC、只录制视频或只录制音频、开始录像、停止录像事件状态回调等。
|
2月前
|
iOS开发 开发者
iOS平台RTMP|RTSP播放器如何实时回调YUV数据
我们在做RTMP、RTSP播放器的时候,有开发者需要自己处理拉取到的YUV数据,做二次分析之用,为此,我们做了以下的设计:InitPlayer之后,再调用SmartPlayerStart()接口之前,设置yuv数据回调即可。
|
2月前
|
Linux 开发工具 图形学
Unity下实现跨平台的RTMP推流|轻量级RTSP服务|RTMP播放|RTSP播放低延迟解决方案
自2018年起,我们成功实现了Unity环境下的低延迟RTSP|RTMP播放,达到毫秒级延迟,获得业界广泛认可。现已覆盖Windows、Android、iOS与Linux平台的RTMP推送、轻量级RTSP服务及RTSP|RTMP播放。通过高效采集Unity窗口或摄像头数据,并利用原生SDK进行编码与推送,确保了数据传输的高速性。此外,播放器支持多路视频同时播放,适应不同分辨率,并保持长时间运行稳定。更多技术细节和技术博文,请参考相关链接。
124 1
|
4月前
|
数据安全/隐私保护 索引 Python
详尽分享视频相关的hls协议、VLC播放器、m3u文件的播放
详尽分享视频相关的hls协议、VLC播放器、m3u文件的播放
78 0
|
编解码 开发工具 Android开发
安卓端/iOS端如何播放4K分辨率的RTMP/RTSP流
4K分辨率即4096×2160的像素分辨率,它是2K投影机和高清电视分辨率的4倍,属于超高清分辨率。在此分辨率下,观众将可以看清画面中的每一个细节,每一个特写。影院如果采用惊人的4096×2160像素,无论在影院的哪个位置,观众都可以清楚的看到画面的每一个细节,影片色彩鲜艳、文字清晰锐丽,再配合超真实音效,这种感觉真的是一种难以言传的享受。
312 0
安卓端/iOS端如何播放4K分辨率的RTMP/RTSP流
|
编解码 监控 图形学
Windows平台Unity下播放RTSP或RTMP如何开启硬解码?
我们在做Windows平台Unity播放RTMP或RTSP的时候,遇到这样的问题,比如展会、安防监控等场景下,需要同时播放多路RTMP或RTSP流,这样对设备性能,提出来更高的要求。
137 1
|
vr&ar 开发工具 图形学
Windows平台Unity3d下如何同时播放多路RTSP或RTMP流
好多开发者在做AR、VR或者教育类产品时,苦于如何在windows平台构建一个稳定且低延迟的RTSP或者RTMP播放器,如果基于Unity3d完全重新开发一个播放器,代价大、而且周期长,不适合快速出产品,我们认为当前最好的方式就是集成现有Native平台上成熟稳定播放器,回调rgb/yuv数据到上层,上层做绘制即可。
130 1