kux mp4轉碼Python3指令碼

2021-09-24 15:21:18 字數 2573 閱讀 9091

分析了bat檔案,無奈功力太淺,不知如何調整。

但通過bat檔案得出其是用ffmpeg進行轉碼的,於是編寫了python3指令碼,實現了拖放式的轉碼。

轉碼生成的mp4檔案與對應的kux檔案在相同的路徑下。

在python3.7.3執行,暫時沒有發現問題。

**如下

import os

import sys

import pathlib

ffmpeg = pathlib.purepath('nplayer').joinpath('ffmpeg.exe')

def enum_files(path):

'''enum all files in given path, including sub-folders.

'''#print('enum', path)

all_files =

path_name = pathlib.path(path)

files = os.listdir(path_name)

for file in files:

file = path_name.joinpath(file)

if os.path.isdir(file):

#print('dir :', file)

all_files += enum_files(file)

else:

#print('file:', file)

files = [str(name) for name in all_files]

return files

def filter_kux(files):

'''filter .kux files from given.

'''kux_files =

for kux_file_name in files:

if len(kux_file_name) < 5:

#print('unrecognized file :', kux_file_name)

pass

elif kux_file_name[-4:].lower() == '.kux':

else:

#print('not a .kux file :', kux_file_name)

pass

return kux_files

def tran(kux_file_name):

'''tran a .kux file to a .mp4 one.

'''kux = kux_file_name

mp4 = kux_file_name[:-4] + '.mp4'

kux = '"' + kux + '"'

mp4 = '"' + mp4 + '"'

command = str(ffmpeg) + ' -y -i ' + kux + ' ' + mp4

print('\n', command)

os.system(command)

return

def tran_multi(kux_files):

'''tran multi .kux files to corresponding .mp4 ones.

'''for file in kux_files:

tran(file)

return

def enum_ar**(files):

'''enum all files in given file or path by 'files'.

'''all_files =

for file in files:

if os.path.isdir(file):

all_files += enum_files(os.path.abspath(file))

else:

return all_files

def process(files):

'''translate all .kux files in files to .mp4 files.

if files contains folders, try to find .kux files recursively.

'''all_files = enum_ar**(files)

print('共拖放了 ', len(all_files), ' 個檔案.')

kux_files = filter_kux(all_files)

print('其中包含 ', len(kux_files), '個 .kux 檔案.')

tran_multi(kux_files)

return

if __name__ == '__main__':

if len(sys.ar**) == 1:

print("將需要轉換的 .kux 檔案拖放到 kux2mp4.py 檔案圖示上釋放。")

else:

process(sys.ar**[1:])

print("\n****** 轉換結束 ******\n")

input('按"回車"退出本程式...')

轉碼工具如下

提取碼 3uwa

侵刪。

python3中url中文轉ascii碼的介紹

import urllib.request import urllib.parse import string def get params url 把中文字元轉成ascii碼,使用urllib.parse.urlencode,引數使用字典格式,自動轉化 params result urllib.p...

Python3 公曆轉農曆

user bin env python3 coding utf 8 import sxtwl lunar sxtwl.lunar 例項化日曆庫 print lunar ymc u 十一 u 十二 u 正 u 二 u 三 u 四 u 五 u 六 u 七 u 八 u 九 u 十 rmc u 初一 u 初...

python3遞迴(學習轉)

學習了一下python3 的遞迴,這個東西還真是討厭,而且不迷有那麼多毛病。但不迷是要學會。下面是一些遞迴的關鍵部分,總結一下。遞迴,就是函式在執行的過程中呼叫自己。遞迴幾個特點 1.必須有乙個明確的結束條件,要不就會變成死迴圈了,最終撐爆系統 2.每次進入更深一層遞迴時,問題規模相比上次遞迴都應有...