Python ~ vip 视频。
流媒体。
流媒体:从远程服务器传输过来的文件流。
伪流媒体:边下边存,会保存下来,渐进式下载。数据资源是保存在服务器里面的。
协议:http/https。
实时流媒体:边下边播,不会保存,看不到时间。
协议:hls(苹果)、rtmp(Adobe)。
ffmpeg(解码) vlc。
在线看视频时,eg. tx 视频。
打开 F12 调试模式会看到大量的 .ts 文件。
ta 们是视频的一小部分,可以将 ta 们合并。
- Linux 下
geek@ubuntu:~/geek/py/ts$ cat 031_j0034vi61zv.321002.2.ts 032_j0034vi61zv.321002.2.ts >> video.mp4
cat *.ts > hecheng.mp4
- Windows 下。
C:\Users\geek\Desktop\fileTest>copy /b *.ts hecheng.mp4
031_j0034vi61zv.321002.2.ts
032_j0034vi61zv.321002.2.ts
已复制 1 个文件。
解析开始。
使用 VIP 解析网站:http://xxx.com/?url=
后 + 视频原网址。
eg. http://xxx.com/?url=https://v.qq.com/x/page/t0031rwtr2m.html
可以得到可观看的视频网址:
/m3u8-dp.php?url=https://cn2.merrytime.cc/hls/20190722/28fbcacfc6de2b68fc80c57f87cc3c53/1563725726/index.m3u8
# http://jx.618g.com/?url=https://v.qq.com/x/page/t0031rwtr2m.html
# /m3u8-dp.php?url=https://cn2.merrytime.cc/hls/20190722/28fbcacfc6de2b68fc80c57f87cc3c53/1563725726/index.m3u8
import requests
url = 'http://jx.618g.com/?url=https://v.qq.com/x/page/t0031rwtr2m.html'
res = requests.get(url).text
print(res)
'''
G:\Users\geek\PycharmProjects\mp4vip\venv\Scripts\python.exe G:/Users/geek/PycharmProjects/mp4vip/vipvideo.py
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"/>
<meta name="renderer" content="webkit">
<!--meta name="referer" content="never">
<meta name="referrer" content="never"-->
<meta http-equiv="X-UA-Compatible" content="IE=11" />
<title>jxtz第五季 20190721期</title>
<link href="/js/style.css" rel="stylesheet">
</head>
<body oncontextmenu="return false">
<div id="a1" class="player"><iframe id="player" width="100%" height="100%" allowfullscreen="true" scrolling="no" frameborder="0" border="0" marginwidth="0" marginheight="0" src="/m3u8-dp.php?url=https://cn2.merrytime.cc/hls/20190722/28fbcacfc6de2b68fc80c57f87cc3c53/1563725726/index.m3u8"></iframe></div>
<div style="display:none"><script src="/js/tongji.js"></script></div>
<script>document.writeln('<script src="http://kl.mieyisi.com/dp.php?m=M21hdFBra0pXSGFjcQ%3D%3D"><\/script>');</script></body>
</html>
Process finished with exit code 0
'''
- 使用 ffmpeg 解析。
https://baike.baidu.com/item/ffmpeg/2665727?fr=aladdin
ffmpeg -i ‘https://cn2.merrytime.cc/hls/20190722/28fbcacfc6de2b68fc80c57f87cc3c53/1563725726/index.m3u8’ -vcodec copy -acodec copy video.mp4
该命令将视频下载到 video.mp4。