文 / 秦未
前几天装了deepin15.4,一直在适应Linux的使用,Linux日常软件还是不够丰富,众所周知Vlc是个非常强大的播放器,支持很多播放格式。电视源自然也是能播放的,我查看了一下Vlc支持的播放列表格式,发现xspf格式的文件用文本打开可以自定义标题,如果你有很多直播源,还用手动添加的方式去生成列表那简直是种折磨,碰巧自己会Python,简单的写了一个脚本,来自动生成XSPF 播放列表,然后直接丢到Vlc里面即可。
脚本源码如下(因为太简单,所以没写注释,有点基础都看得懂):
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# tv.py
#
# Copyright 2017 Nocmt <nocmt01@163.com>
import datetime
def tvshow():
print ('---欢迎使用电视直播源列表生成器---')
print ('---请确保zb.txt文件存在且格式正确!---\n')
print ('---开始读取!---')
now = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
FileHandle = open("zb.txt", "r")
TvFile = open(now + ".xspf", "w")
FileList = FileHandle.readlines()
L = 0
TvFile.write('<?xml version="1.0" encoding="UTF-8"?>\n<playlist xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/" version="1">\n\t<title>播放列表</title>\n\t<trackList>\n')
for File in FileList:
File = File.replace('\n', '')
position = File.index(',')
title = File[:position]
url = File[position+1:]
url = url.replace('&', r'&')
print (str(L) + '.读写成功!标题:' + title + ', 地址:' + url)
track = '\t<track>\n\t\t<location>{0}</location>\n\t\t<title>{1}</title>\n\t\t<extension application="http://www.videolan.org/vlc/playlist/0">\n\t\t\t<vlc:id>{2}</vlc:id>\n\t\t\t<vlc:option>network-caching=1000</vlc:option>\n\t\t</extension>\n\t</track>\n'.format(url, title, L)
TvFile.write(track + '\n')
L += 1
TvFile.write('\t</trackList>\n\t<extension application="http://www.videolan.org/vlc/playlist/0">\n')
for i in range(0, L):
vlc = '\t\t\t<vlc:item tid="{0}"/>\n'.format(i)
TvFile.write(vlc)
TvFile.write('\t</extension>\n</playlist>')
FileHandle.close()
TvFile.close()
print('写入完成!请自行查看!')
if __name__ == '__main__':
tvshow()
zb.txt 里面的直播源格式:
标题,地址
执行都懂: python tv.py
直播源检测工具 密码:8wz4
Vlc播放器TVlive列表生成小工具 密码:bhxl