欢迎光临散文网 会员登陆 & 注册

备忘4

2021-10-31 15:31 作者:Power_Tea  | 我要投稿

https://github.com/orestonce/m3u8d

https://github.com/orestonce/m3u8d/releases


#! /usr/bin/python3



# hostname = 'https://media.finger66.com'

# tsParamUrl = hostname + '/posts/84222300000/MTU1NjEwNDU0ODI2Nw==.mp4.m3u8'


def xiazai():

    #  下载ts文件到本地

    #  放置ts文件所在目录

    tsPath = input('请输入需要存放ts文件的路径:') + '/'

    # 获取ts文件参数

    hostname = input('请输入视频主页网址:')

    m3u8_url = input('请输入m3u8网址:')

    tsParamUrl = hostname + m3u8_url

    import urllib.request

    tsParamData = urllib.request.urlopen(tsParamUrl).read().decode('utf-8')

    # print(tsParamData)

    import re

    pat = '/(.*?).ts'

    tsParamArr = re.compile(pat).findall(tsParamData)

    #爬取ts文件到本地

    for n in range(0,len(tsParamArr)):

        strArr = tsParamArr[n].split('/')

        localTSFileName = strArr[len(strArr)-1]+'.ts'

        tsLink = hostname + '/' + tsParamArr[n] + '.ts'

        urllib.request.urlretrieve(tsLink, tsPath+localTSFileName )

        #print(tsLink)

    print("下载完成,开始合并ts文件!!!")


    import os


    # 获取所有的ts文件

    path_list = os.listdir(tsPath)

    # 对文件进行排序并将排序后的ts文件路径放入列表中

    path_list.sort()

    li = [os.path.join(tsPath, filename) for filename in path_list]

    # 将ts路径并合成一个字符参数

    tsfiles = '|'.join(li)

    #print(tsfiles)

    # 指定输出文件名称

    saveMp4file = tsPath + '下载完成.mp4'

    # 调取系统命令使用ffmpeg将ts合成mp4文件

    cmd = 'ffmpeg -i "concat:%s" -acodec copy -vcodec copy -absf aac_adtstoasc %s' % (tsfiles, saveMp4file)

    os.system(cmd)

    print("合并ts文件完成!!!")



def hecheng():


    #  将下载到本地的ts文件合成mp4文件

    #

    import os

    tsPath = input('请输入需要存放ts文件的路径:') + '/'

    #获取所有的ts文件

    path_list = os.listdir(tsPath)


    #对文件进行排序并将排序后的ts文件路径放入列表中

    path_list.sort()

    li = [os.path.join(tsPath,filename) for filename in path_list]

    #将ts路径并合成一个字符参数

    tsfiles = '|'.join(li)

    #print(tsfiles)

    #指定输出文件名称

    saveMp4file = tsPath + '下载完成.mp4'

    #调取系统命令使用ffmpeg将ts合成mp4文件

    cmd = 'ffmpeg -i "concat:%s" -acodec copy -vcodec copy -absf aac_adtstoasc %s' % (tsfiles, saveMp4file)

    os.system(cmd)





while True:

    print("*" * 80)

    print("")

    print("\t\t\t欢迎使用 【视频工具】 V 1.0")

    print("")

    print('\t简介:直接下载或是合成已经下载的ts 文件。。。。。"')

    print("")

    print("")

    print("\t\t\t\t选择  [1]  下载视频文件")

    print("")

    print("\t\t\t\t选择  [2]  把已经下载的ts文件合成MP4文件")

    print("")

    print("\t\t\t\t选择  [0]  退出程序")

    print("")

    print("*" * 80)

    action_str = input("\t\t\t请选择要操作的程序:")

    print("\t\t\t您选择的操作是 【%s】" % action_str)

    if action_str in ["1", "2"]:

        if action_str == "1":

            xiazai()

            print('主人下载完成,请到文件目录查看!!!')

        elif action_str == "2":

            hecheng()


    elif action_str == "0":

        print("\t\t\t欢迎再次使用【视频工具系统】")

        break


    else:

        print("\t\t\t您输入的不正确请重新输入!")


备忘4的评论 (共 条)

分享到微博请遵守国家法律