ffmpeg下载m3u8流媒体
安装
编译好的windows可用版本的下载地址(官网中可以连接到这个网站,和官方网站保持同步): http://ffmpeg.zeranoe.com/builds/
该版本为FFMPEG的Static,Static里面只有3个应用程序:ffmpeg.exe,ffplay.exe,ffprobe.exe,每个exe的体积都很大,相关的Dll已经被编译到exe里面去了。
使用
ffmpeg.exe
ffmpeg是用于转码的应用程序
命令行进入bin目录,输入以下命令即可将m3u8下载为指定格式的文件
C:\01-python\59-ffmpeg\ffmpeg\bin\ffmpeg -i http://vodcdn.yst.vodjk.com/201909191433/2afc693f2edda43e677598144b12a31e/company/1/2019/8/1/18852t5bfe/sd/a84ccae0440549398f8080f6d336075b.m3u8 .\video\1416.mp4 # C:\01-python\59-ffmpeg\ffmpeg\bin\ffmpeg ffmpeg.exe路径 # http://vodcdn.yst.vodjk.com/201909191433/2afc693f2edda43e677598144b12a31e/company/1/2019/8/1/18852t5bfe/sd/a84ccae0440549398f8080f6d336075b.m3u8 m3u8视频url # .\video\1416.mp4 存放路径是当前文件夹下的video 名称为1416.mp4
ffplay.exe
ffplay是用于播放的应用程序。
ffplay .\3029.mp4
ffprobe.exe
ffprobe是用于查看文件格式的应用程序。
更多高级用法的文档: http://blog.csdn.net/leixiaohua1020/article/details/12751349
示例
import json, pymysql, requests, os, time, ffmpeg, asyncio, aiohttp, aiomysql, hashlib
class yibao(object):
def __init__(self):
self.db = pymysql.connect(host='localhost', port=3306, database='cfda', user='root', password='root',
charset='utf8')
self.cursor = self.db.cursor()
self.headers = {
"user-agent": "com.xinma.yst/YST/5.5.3",
"referer": "app.yst.vodjk.com",
'Content-Type': 'application/x-www-form-urlencoded'
}
self.url = 'https://api.yst.vodjk.com/v1/course?keyid=1004&time=1568774753613&userid=294066&app_version=5.5.3&appid=100004&uutp=android&uuid=ffffffff-dfe4-a66d-24b0-59af559c6620&usertoken=9390faed9a5a0db2818c2233e6c2ffc9&ip=172.17.100.15'
self.parse_page()
def parse_page(self):
self.cursor.execute('SELECT id, parent_id, title, url FROM yaoshitong_class_3 where id > 1386 and id < 1401')
for data in self.cursor.fetchall():
data_list = {
"keyid": '1004',
"time": '1568774753613',
"userid": '294066',
"app_version": '5.5.3',
"appid": '100004',
"uutp": 'android',
"uuid": 'ffffffff-dfe4-a66d-24b0-59af559c6620',
"usertoken": '9390faed9a5a0db2818c2233e6c2ffc9',
"ip": '172.17.100.15',
# ----------------------
"pagesize": '20',
# "modules": 'info:5,comments:1',
"modules": 'info%3A5%2Ccomments%3A1',
# "courseid": '376',
"courseid": str(data[1]),
"page": '1',
}
dict2 = sorted(data_list)
a = ''
for key in dict2:
if key != 'time':
a += key + '=' + data_list[key] + '&'
m = hashlib.md5()
m.update(a[:-1].encode('utf-8'))
md1 = m.hexdigest()
data2 = md1 + 'e2fae2b4e226e878e7f81e4e7e39c9da' + data_list['time']
m = hashlib.md5()
m.update(data2.encode('utf-8'))
md2 = m.hexdigest()
re_data = {
"sign": md2,
"pagesize": "20",
"courseid": str(data[1]),
"modules": "info:5,comments:1",
"page": "1",
}
html = requests.post(url=self.url, headers=self.headers, data=re_data).content.decode('utf-8')
print(html)
data_json = json.loads(html)
u3m8_url = data_json['data']['info']['catalog'][0]['lesson'][0]['video']['url']
try:
name = str(data[0]) + '-' + data[1]
print("C:\\01-python\\59-ffmpeg\\ffmpeg\\bin\\ffmpeg -i {} .\\video\\{}.mp4".format(u3m8_url, data[0]))
os.system("C:\\01-python\\59-ffmpeg\\ffmpeg\\bin\\ffmpeg -i {} .\\video\\{}.mp4".format(u3m8_url, data[0]))
print('*' * 100)
except:
pass
time.sleep(1)
# self.db.commit()
if __name__ == '__main__':
yibao()
ffmpeg下载m3u8流媒体的更多相关文章
- 使用ffmpeg下载m3u8流媒体
安装 编译好的windows可用版本的下载地址(官网中可以连接到这个网站,和官方网站保持同步): http://ffmpeg.zeranoe.com/builds/ 或者: 百度网盘https://p ...
- 如何下载某些 flash 在线视频 并使用ffmpeg下载分段并加密的m3u8视频流
有些网站使用 flash 在线播放视频,不方便进行下载. 可以使用 Chrome 的 Developer Tools 模拟成 iOS 设备(通过修改 User Agent),然后取得 h.264 视频 ...
- 下载m3u8视频
分两种情况 同时支持m3u8和mp4文件 某些视频同时支持m3u8和mp4视频文件,将m3u8改成mp4后直接: wget -c http://www.xxx.com/xxxx.mp4 只有m3u8视 ...
- ffmpeg 下载安装和简单应用
一.ffmpeg下载 先到http://ffmpeg.org/下载ffmpeg安装文件 二.ffmpeg安装 1.解压下载完的ffmpeg-20190319-f8075b2-win64-shared. ...
- Python 爬虫实例(13) 下载 m3u8 格式视频
Python requests 下载 m3u8 格式 视频 最近爬取一个视频网站,遇到 m3u8 格式的视频需要下载. 抓包分析,视频文件是多个 ts 文件,什么是 ts文件,请去百度 ...
- ffmpeg下载安装和简单应用
先介绍一下ffmpeg:FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影.转换.流功能,包含了libavcodec —这是一个用于多个项目中音频和视频的解码器库,以及libavformat ...
- ffmpeg处理RTMP流媒体的命令 发送流媒体的命令(UDP,RTP,RTMP)
将文件当做直播送至live ffmpeg -re -i localFile.mp4 -c copy -f flv rtmp://server/live/streamName re限制输出速率,按照 ...
- ffmpeg处理RTMP流媒体的命令和发送流媒体的命令(UDP,RTP,RTMP)
将文件当做直播送至live ffmpeg -re -i localFile.mp4 -c copy -f flv rtmp://server/live/streamName re限制输出速率, ...
- 下载 m3u8 直播流的方法
下载 FFmpeg http://ffmpeg.org/download.html 查找直播流地址 找到目标视频对应的 m3u8 播放列表. 执行脚本 ffmpeg -i https://nhkmov ...
随机推荐
- Linux uevent分析、用户接收uevent以及mdev分析
关键词:uevent.netlink.ADD/REMOVE/CHANGE.uevent_helper.hotplug.usermode helper.mdev.mdev.conf等等. 本文从三方面了 ...
- 古来月Beta阶段博客报告
Scrum会议 第十一周会议 https://www.cnblogs.com/ouc-xxxxxx/p/12014345.html 第十周会议 https://www.cnblogs.com/ouc- ...
- jenkins报错:Problem accessing /jenkins/. Reason: HTTP ERROR 404
这是一个Jenkins的Bug.临时解决方法是:在浏览器中手工输入:http://<ip>:<port>.不要访问"/jenkins"这个路径.
- 剑指Offer-31.整数中1出现的次数(从1到n整数中1出现的次数)(C++/Java)
题目: 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了.A ...
- 第05组 Beta冲刺(4/4)
第05组 Beta冲刺(4/4) 队名:天码行空 组长博客连接 作业博客连接 团队燃尽图(共享): GitHub当日代码/文档签入记录展示(共享): 组员情况: 组员1:卢欢(组长) 过去两天完成了哪 ...
- 第05组 Alpha冲刺(1/4)
队名:天码行空 组长博客连接 作业博客连接 团队燃尽图(共享): GitHub当日代码/文档签入记录展示(共享): 组员情况: 组员1:卢欢(组长) 过去两天完成了哪些任务:SVN管理工具搭建 展示G ...
- hyper-v简介及安装使用
前言:作为IT界的巨头,微软自己的虚拟化技术,也是微软第一个采用Vmware与CitrixXen一样基于hypervisor的虚拟化技术,有着自己可圈可点的地方,微软自己的虚拟化技术嘛,对windo ...
- idea配置pyspark
默认python已经配好,并已经导入idea,只剩下pyspark的安装 1.解压spark-2.1.0-bin-hadoop2.7放入磁盘目录 D:\spark-2.1.0-bin-hadoop2. ...
- 前端之jquery1
jquery介绍 jQuery是目前使用最广泛的javascript函数库.据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库.微软公司甚至把jQuery作为他们的官方库. ...
- ABAP 新语法记录(一)
原文链接:https://www.cnblogs.com/learnning/p/10647174.html 主要内容 内联声明 构造表达式 内表操作 Open SQL 其他 本文列出了ABAP新语法 ...