python - 如何在 Avidmeux tinypy 脚本中设置输入格式列表
问题描述
我为 Avidemux 应用程序编写了一个脚本来读取一个文件夹并获取该文件夹中的所有视频文件,然后根据文件大小将它们分成多个部分。
问题在于 get_folder_content 函数中用于检查文件夹中文件格式的 input_ext 变量。它只有一种格式,我无法设置格式列表以从文件夹中检查它。
input_ext 变量只获得一种格式,但我想为其设置一堆格式。
我的代码是这个
adm = Avidemux()
gui = Gui()
# file set list of of input files
# input_ext = 'mp4'
input_ext = 'mkv'
# file extension for output files
output_ext = 'MKV'
def convert_file(input_file, output_folder):
file_size = get_file_size(input_file)
number_of_part = math.ceil(file_size/2037760000)#equal to 1990 MB 2037760000
if number_of_part >1:
for part in range(0,number_of_part):
file_name = " ".join(basename(input_file).split('.')[0:-1])
output_file = output_folder + '/' +file_name+'_part'+str(part+1)+'.mkv'
adm.loadVideo(input_file)
len = adm.markerB
adm.clearSegments()
adm.addSegment(0, 0, adm.markerB)
adm.markerA = (part/number_of_part)*len
adm.markerB = ((part+1)/number_of_part)*(len)
adm.videoCodec("Copy")
adm.audioClearTracks()
adm.setSourceTrackLanguage(0,"und")
if adm.audioTotalTracksCount() <= 0:
raise("Cannot add audio track 0, total tracks: " + str(adm.audioTotalTracksCount()))
adm.audioAddTrack(0)
adm.audioCodec(0, "copy")
adm.audioSetDrc(0, 0)
adm.audioSetShift(0, 0, 0)
adm.setContainer("MKV", "forceAspectRatio=False", "displayWidth=1280", "displayAspectRatio=2", "addColourInfo=False", "colMatrixCoeff=2", "colRange=0", "colTransfer=2", "colPrimaries=2")
adm.save(output_file)
def main():
input_folder = gui.dirSelect("Select the source folder")
# input_folder =
files = get_folder_content(input_folder, input_ext)
if files is None:
gui.displayError("Error", "Folder doesn't containt any ." + input_ext+ " file")
return 0
output_folder = gui.dirSelect("Select the output folder")
# output_folder =
for one_file in files:
convert_file(one_file, output_folder)
print("Done")
main()
我想像这样使用 input_ext : input_ext = ['mkv','mp4']
另外,我找不到tinypy的lib文档来读取函数并找到解决方案
解决方案
推荐阅读
- machine-learning - 一热编码标签___多热编码输出_Keras
- python - 无法安装 PyMySQL
- c# - 具有复合键的 SortedDictionary:由 1 个属性索引并由另一个属性排序
- java - java.lang.IllegalStateException:另一个 SimpleCache 实例使用该文件夹:
- python - Pandas 将所有列的值连接到一个新的列列表中
- html - 如何使用css flexbox创建水平滚动?
- amazon-web-services - aws 胶水 JDBC 连接
- bash - Git Commit 使用了错误的时区
- android - 如何在 onCreateView 中更改子视图的可见性?
- python - AWS Lambda 函数附加字符作为返回