ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

m3u8文件下载合并的一种方法

2019-02-07 21:37:28  阅读:373  来源: 互联网

标签:str links m3u8 合并 len link file txt 下载


# -*- coding: utf-8 -*-
"""
Created on Wed Mar 14 15:09:14 2018
@author: Y
"""
 
 
import requests
import json
 
 
#m3u8的文件路径
path = input("Enter m3u8 file path:").replace('\\','/')
print(path)
file = open(path,'r')
operation = input("是否要加上前缀?y/n\n").strip()
pre_link = ''
if operation == 'y':
    pre_link = input("请输入前缀:").strip()
links = []
for i in file:
    if '#' not in i:
        i = i.strip()
        links.append(pre_link+i)
file.close()
l = len(links)
print("总共有%d个片段..."%l)
length = len(str(len(links)))
n = 0
txt = ""
for link in links:
    n = n + 1
    print("还剩%d个片段未下载..."%(l-n))
    if len(str(n)) < length:
        name = '0'*(length-len(str(n))) + str(n) + ".ts"
    else:
        name = str(n)+".ts"
    txt = txt + "file \'" + name + "\'\n"
    jsonreq = json.dumps({'jsonrpc':'2.0', 'id':1,
               'method':'aria2.addUri',
               'params':[[link],{"out":name,"split":"5","max-connection-per-server":"16","seed-ratio":"0"}]})
    c = requests.post('http://localhost:6800/jsonrpc', jsonreq)
file = open("E:\\aria2data\\filelist.txt","w")
file.write(txt)
file.close()

  

 

生成的ts文件用 ffmpeg 合并,命令行输入:ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.ts

 

https://xyne.archlinux.ca/projects/python3-aria2jsonrpc/

https://aur.archlinux.org/packages/python3-aria2jsonrpc/

https://xyne.archlinux.ca/projects/python3-aria2jsonrpc/src/

 

标签:str,links,m3u8,合并,len,link,file,txt,下载
来源: https://www.cnblogs.com/pythonClub/p/10355570.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有